Java 國產的模板語言,Beetl 1.1 發布

openkk 12年前發布 | 11K 次閱讀 Java

十幾年來,企業應用、互聯網應用后端技術發生了很多變革,從分布式到Without EJB,從Database到Nosql,公司成本得到了很大降低。然而,對于架構師來說,同樣重要的前端技術,仍然沒有變化,無非還是JSP技術,或者 采用模板引擎,如Freemarker、Velocity。前端對于與產品以及作為產品實現者開發人員來說,仍然是費時費力的一塊,君不見,錯誤的使用前 端技術,將抵消后臺優化帶來的用戶體驗,不適當的使用前端技術,將成倍增加開發和維護時間,盡管架構師們意識到到此問題,但可選方案幾乎沒有。這種現象長 時間未曾變化!

Beetl作為新一代的模板技術,試圖進一步提高前端開發效率和運行效率,從而節約公司成本,它提供了如下特性

  • 采用Javascript語法,對于程序開發人員或者前端設計人員來來說,學習成本為零.。相比其他模板技術的獨特語法來說,無疑提高了學習效率和開發效率。
  • 能在運行時編譯成java class代碼,能提高運行效率以及減少對系統資源如CPU消耗、內存使用,以及減少垃圾回收次數。能克服其他模板語言運行效率不理想或者消耗主機資源過多的情況。
  • 大型公司和小型公司,對于MVC模式都有不同的策略。在大公司,View通常是專門開發人員,或者前端人員來完成,因此不允許將邏輯放到視圖層來 處理,而小型公司,開發人員負責了MVC所有部分。因此對于View層的技術,需要一個靈活的可定制的模板語言。Beetl正是這樣的模板語言,它可以定 制策略, 可以允許嚴格的MVC,也可以使用非嚴格的MVC,甚至還允許直接調用java類代碼(后門)。

除了以上三個顯著不同于其他模板語言的特性外,Beetl還勝在細節上,還提供如下特性:

  • 整個大小不到350K,其他模板語言有的功能,Beetl基本上都包含
  • 雙引擎,包含了解釋執行引擎,也包含了運行時編譯引擎
  • 詳細的錯誤提示,包括行數、錯誤符號、上下相關行以及錯誤原因
  • beetl提供安全輸出,在意外情況下,頁面仍然能得到渲染
  • 自定義函數、格式化函數、標簽庫,允許自定義虛擬屬性,無需在java代碼中為Pojo添加額外屬性專門用于顯示
  • 自定義占位符號、控制語句符號,將對模板的侵入性降到最低
  • 輸出不會產生多余的空格和換行,其他模板語言或者JSP將不可避免產生此問題
  • 與Spring MVC整合

項目地址: http://beetl.sourceforge.net/
本文轉載自: http://www.iteye.com/news/24431-beetl

 本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!