欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  资讯频道

Beetl 1.1 发布,国产的模板语言

程序员文章站 2022-05-17 19:40:42
...

十几年来,企业应用、互联网应用后端技术发生了很多变革,从分布式到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/