List Template 模板引擎

程序名称:List Template

授权协议: LGPL

操作系统: 跨平台

开发语言: Java

List Template 介绍

Lite 缩写自List Template,是一个由简单的控制指令集和一个表达式解析引擎组成的简单模板引擎。
模板语言所解析的中间格式,由数组、字符串、和整数三种数据类型组成。数组就是这里唯一的复合类型,于是,我采用List
Template来命名这个模板引擎。List 和Template各取两个首字母,组成Lite这个单词。

用户不能直接编写控制指令,如同java程序员不能直接编写字节码一样,Lite需要一种真正的源代码格式。理论上,通过这些控制指令和自定义表达式函数,我们可以支持任何模板语法翻译为Lite能解释的中间代码

如CLR需要C#,C++.net,java byte code需要Java语法; Lite提供一种XML源代码语法,作为Lite的认源代码格式。

Lite的运行效率,是非常出众的,高于VeLocity和FreeMarker一半以上。
但是对于一些表达式的计算,因为JSEL脚本和JavaScript规则的兼容性要求,以及弱类型自动转换的特征,性能不及强类型的veLocity。介
于VeLocity和FreeMarker之间。

js版本运行时比jst快大约两倍,如果算 上编译时间(lite不在运行时编译),不在一个数量级上,没有比较。

python版本比 django模板快四倍左右!

PHP版本的性能较差,估计主要事PHP函数调用开销的问题,
相比smarty这个编译成最终PHP的模板实现来说,在asciitable打印测试中,单进程内一次运行要慢smarty3.5倍(通常web页面
渲染模式),如果单进程重复运行1000次(现实环境中不太可能发生),可能是因为PHP文件的解析缓存,要慢smarty9倍(查看详细数据),而且如果PHP使用编译缓存加速,这个差距还会进一步加大。以后考虑将采用类似lite4js那
样编译成最终代码的方式,或者直接编写PHP扩展。

几个Java模板引擎的测试结果比较见:http://code.google.com/p/templatetest/wiki/Velocity_CommonTemplate_XMLTemplate_Compare

List Template 官网

http://code.google.com/p/lite/

相关编程语言

BlazeDS 是一个基于服务器的Java 远程控制(remoting...
OVal 是一个可扩展的Java对象数据验证框架,验证的规...
Volta 是一套开发工具,专为开发分布式、实时系统应...
OpenDDS 是一个开源的 C++ 实现的 对象管理组织 OMG...
JADE (Java Agent DEvelopment Framework) 是一个完...
FastMM ,在D2006和2007中已代替了原来的内存管理器。