当今大势,前后端分离,模板引擎逐渐淡出。然而,模板的不爽,并没有消失。
- 模板自身的语法,破坏目标文件的语法,易读性下降
- 不破坏目标文件的模板引擎,要么性能差,要么领域受限
- 在用模板生成代码的时候,需要模板本身受IDE加持
于是,米波英雄模板诞生了,首先它是 Dota2 英雄,其次是一个分身系模板。
- 利用目标文件语法的单行或多行注释做为语法
- 做模板中间层,做其他底层模板的翻译器
- 提供强大的引擎扩展能力,支持java,js语法块。
- 静态语法翻译能力在解析时,毫无性能损失。
- 动态引擎和流程控制,其效能高于Freemarker和Velocity
场景举例:
比如使用Freemarker,根据数据库或配置,动态生成java代码,那么,使用米波,可以从java生成java,模板本身就是可以编译的,不用再去拼接字符串,修改模板会受到IDE的语法高亮,检查和提示。
比如SpringMvc生成htm时,Thymeleaf可以很好的维持html语法特性,但其性能较低,且近期停更了。在处理内嵌的js时,并不很理想。使用米波模板作为Resource Loader,则可使任何底层模板具有html特性。
比如提供自身硬编码能力,练习词法分析,语法分析,性能调优等,米波模板语法和字符串处理等具有很好的练手性质。
当然,米波的目标不是成为一个新的模板引擎,所以,点到为止,视场景使用。
评论