針對服務端為 JAVA + Velocity 的前端集成解決方案:jello
針對服務端為 JAVA + Velocity 的前端集成解決方案。
為優化前端開發而生,提供前后端開發分離、自動性能優化、模塊化開發機制等功能。
前后端分離
基于 velocity 模板引擎實現前后端分離,讓前端攻城師更專注于 JS、CSS、VM(velocity 模板文件) 文件編寫。我們提供一種簡單的機制,模擬線上環境,讓你輕松的預覽線上效果。
比如:創建一個 vm velocity 模板文件后,基于我們的工具,你可以直接預覽此模板文件的內容,在相應的目錄創建一個同名 json 文件,按與后端開發人員約定好的數據格式,在此 json 文件中添加測試數據便能自動與模板變量綁定上。
使用此機制可以讓前端開發流程與后端開發完全分離,后端開發人員只需關心渲染哪個模板文件和添加相應的模板數據。
自動性能優化
我們基于 velocity 開發了些擴展標簽 (directive),如:html、head、body、script、style、widget... 如果你采用我們提供的標簽 (directive) 組織代碼,無論按什么順序組織,我們可以保證所有 css 內容集中在頭部輸出,所有的 js 集中在底部輸出,以達到一個性能優化的效果。
另外結合自動打包配置,可以讓多個 js/css 資源合并成一個文件,更大程度的優化性能。
模板繼承機制
擴展 velocity 實現類 smarty 的模板繼承功能,讓模板能夠得到更充分的復用。
將多個頁面間相同的部分提取到一個 layout.vm 文件里面,每個頁面只需填充自己獨有的內容。
更多細節查看模板繼承。
模塊化開發
提供 html、css、js 模塊化機制,包括 widget 組件化與 js amd 加載機制,讓內容更好的拆分與復用。
簡化環境安裝
內嵌 j2ee 開發服務器,你無需再折騰 j2ee 環境搭建。直接通過 jello server start
就能開起服務,預覽頁面。