模板引擎 Lite

简介:

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

下载:http://code.google.com/p/lite/downloads/list

本文转自博客园知识天地的博客,原文链接:模板引擎 Lite,如需转载请自行联系原博主。

相关文章
|
11月前
art-temple模板引擎
介绍 安装 渲染模板 语法 标准语法 原始语法 输出 原文输出 条件 循环 变量 模板继承 子模版 过滤器 和express结合使用 安装 例子 使用步骤
48 0
|
6天前
|
测试技术 PHP 数据库
深入解析PHP框架:Symfony框架详解与应用
📚 Symfony框架深度解析:模块化设计提升开发效率,性能优越,灵活性高,支持MVC模式。探索控制器、路由、模板(如Twig)、服务容器、事件调度器等核心概念。还包括表单处理、数据库集成( Doctrine ORM)、安全组件、国际化支持及调试工具。使用Symfony CLI快速创建应用,内置PHPUnit测试支持。开始你的高质量Web开发之旅吧!
12 2
|
10天前
|
存储 缓存 安全
PHP框架详解 - symfony框架
PHP框架详解 - symfony框架
|
10天前
|
前端开发 数据库连接 PHP
PHP框架详解 - Zend Framework框架
PHP框架详解 - Zend Framework框架
|
1月前
|
前端开发 PHP 数据库
PHP框架详解之Symfony框架
在现代Web开发中,PHP作为一种灵活且功能强大的编程语言,广泛应用于各种Web应用程序的开发中。为了提高开发效率、代码的可维护性和可扩展性,开发者通常会选择使用框架来构建应用程序。在众多PHP框架中,Symfony以其强大的功能和灵活性脱颖而出,成为开发者们的首选之一。本文将详细介绍Symfony框架,包括其历史、核心功能、组件、安装和使用方法,以及在实际开发中的应用案例。
24 2
|
2月前
|
Python
配置模板引擎
【5月更文挑战第5天】配置模板引擎。
38 13
|
JavaScript vr&ar 开发者
ejs模板引擎使用(独立使用,没有集成 express |学习笔记
快速学习ejs模板引擎使用(独立使用,没有集成 express)
187 0
ejs模板引擎使用(独立使用,没有集成 express |学习笔记
|
Java 程序员 Apache
模板引擎——FreeMarker初体验
FreeMarker 是一款模板引擎:一种基于模板的、用来生成输出文本(任何来自于 HTML格式的文本用来自动生成源代码)的通用工具。
symfony框架Twig模板语言的使用
symfony框架Twig模板语言的使用
131 0
symfony框架Twig模板语言的使用
|
开发框架 自然语言处理 安全
第21天:Web开发 Jinja2模板引擎
第21天:Web开发 Jinja2模板引擎
197 0
第21天:Web开发 Jinja2模板引擎