Beetl新一代 Java 模板引擎典范
Beetl 是新一代 Java 模板引擎典范。相對于其他 java 模板引擎,具有功能齊全,語法直觀,性能超高,開發(fā)和維護(hù)模板有很好的體驗(yàn)。是新一代的模板引擎。總得來說,它的特性如下:
-
功能完備:同主流的java模板引擎相比,Beetl具有絕大多數(shù)功能。適用于各種應(yīng)用場景,從對響應(yīng)速度有很高要求的大網(wǎng)站到功能繁多的CMS管理系統(tǒng)都適合。Beetl本身還具有很多獨(dú)特功能來完成模板編寫和維護(hù),這是其他模板引擎所不具有的。
-
非常簡單:類似Javascript語法和習(xí)俗,只要半小時(shí)就能通過半學(xué)半猜完全掌握用法。拒絕其他模板引擎那種非人性化的語法和習(xí)俗。
-
超高的性能:Beetl 遠(yuǎn)超過主流java模板引擎性能,如5-6倍于freemarker,2倍于傳統(tǒng)jsp技術(shù)。而且消耗較低的CPU
-
易于整合:Beetl能很容易的與各種web框架整合,如Spring MVC,JFinal,Struts,Nutz,Jodd,Servlet等。
-
支持模板單獨(dú)開發(fā)和測試,即在MVC架構(gòu)中,即使沒有M和C部分,也能開發(fā)和測試模板。
-
擴(kuò)展和個(gè)性化:Beetl支持自定義方法,格式化函數(shù),虛擬屬性,標(biāo)簽,和HTML標(biāo)簽. 同時(shí)Beetl也支持自定義占位符和控制語句起始符號也支持使用者完全可以打造適合自己的工具包.
-
核心實(shí)現(xiàn)是腳本語言,可以作為規(guī)則引擎,表達(dá)式計(jì)算,腳本語言使用
關(guān)于模板引擎性能
最新模板性能測試,各個(gè)模板引擎均采用最新版本, Score 越大越好
Beetl>Rocker>>Freemarker>>Thymeleaf==Velociy
Benchmark Mode Cnt Score Error Units Beetl.benchmark thrpt 5 141912.506 ± 19090.130 ops/s Freemarker.benchmark thrpt 5 48062.783 ± 9054.282 ops/s Handlebars.benchmark thrpt 5 48505.286 ± 6078.944 ops/s Rocker.benchmark thrpt 5 102699.041 ± 11827.123 ops/s Thymeleaf.benchmark thrpt 5 14495.261 ± 1460.815 ops/s Velocity.benchmark thrpt 5 12071.498 ± 4226.219 ops/s
關(guān)于表達(dá)式引擎性能
最新規(guī)則引擎性能測試,Score 越大越好
JfireEL>> Aviator=Beetl=Jexl3 >>Spel>>Mvel=Groovy>>Nashor
Benchmark Mode Cnt Score Error Units Aviator.forExpresss thrpt 5 501413.321 ± 4657.336 ops/s Aviator.ifExpresss thrpt 5 4699456.542 ± 266831.101 ops/s Aviator.simpleExpress thrpt 5 3868701.018 ± 38439.986 ops/s Beetl.forExpresss thrpt 5 1685875.017 ± 28454.020 ops/s Beetl.ifExpresss thrpt 5 4461489.443 ± 78687.317 ops/s Beetl.reflect thrpt 5 62972.088 ± 85785.390 ops/s Beetl.simpleExpress thrpt 5 4328852.130 ± 144586.699 ops/s Groovy.ifExpresss thrpt 5 119493.364 ± 1472.301 ops/s Groovy.simpleExpress thrpt 5 121724.720 ± 1533.726 ops/s Jexl3.forExpresss thrpt 5 789815.632 ± 42390.393 ops/s Jexl3.ifExpresss thrpt 5 4500714.752 ± 138214.400 ops/s Jexl3.simpleExpress thrpt 5 3901843.173 ± 125472.114 ops/s JfireEL.ifExpresss thrpt 5 28337464.920 ± 291859.385 ops/s JfireEL.simpleExpress thrpt 5 18824292.084 ± 103241.504 ops/s Mvel.forExpresss thrpt 5 11954.857 ± 84.105 ops/s Mvel.ifExpresss thrpt 5 230373.242 ± 1827.288 ops/s Mvel.simpleExpress thrpt 5 316083.646 ± 1320.717 ops/s Nashorn.ifExpresss thrpt 5 10010.541 ± 752.057 ops/s Nashorn.simpleExpress thrpt 5 8993.022 ± 518.940 ops/s Spel.ifExpresss thrpt 5 850338.540 ± 41826.542 ops/s Spel.simpleExpress thrpt 5 636251.839 ± 2553.017 ops/s
Beetl在線體驗(yàn)和代碼分享:http://ibeetl.com/beetlonline/
