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

表达式引擎JSEL 2.0 Alpha3 发布

程序员文章站 2022-06-16 21:36:59
...
JSEL是一款非常简单,高效的表达式引擎。

说他简单:因为他带上标准ECMA函数库、Lite模板执行环境后,jar也只有90k;除common-logging外,再无其他依赖。
说他高效:因为据目前的测试数据,他的性能是同类产品中最高的一个。
Ognl/MVEL/Aviator/JSEL四款引擎的对比



JSEL的具体特点如下:

基于ECMA262标准的子集
JSEL是一个兼容 JavaScript 运算规则的简单的表达式解释引擎。
支持ECMA标准的运算符、函数库并内置了JSON支持。
因为基本语法是JavaScript的一个子集,具有良好的群众基础。

一个可以完全自定义的表达式系统
全新运算符定义支持,运算符别名,优先级控制,内置对象设置,等等,一切皆有可能。你完全可以在JSEL基础上DIY一套适合你自己的表达式系统。
详情可参考:http://code.google.com/p/lite/wiki/JSELExtension

执行效率远高于同类
其实,JSEL的开发过程中,并没有太关注效率,甚至为保持与JavaScript的兼容性,不得不采用影响性能的设计。
然而,发布出来后,性能测试的数据还是非常漂亮的:
具体数据键(包含Ognl/MVEL/Aviator/JSEL四款引擎的对比):http://www.iteye.com/topic/732354


内置功能强大的JSON解释支持
因为JSEL本身是基于JavaScript规则的,JSON本身就是JavaScript功能的子集,那么JSEL自然也就是一个天然的JSON工具,此外,表达式的编译,本身就继承了JSON解析的功能,而且,我们也吧JSON支持的功能提出为独立的模块,相比官方的JSON解析,JSEL的JSON功能更简单,更有独到的优点。
更多介绍见:http://code.google.com/p/lite/wiki/JSON


不仅是一个表达式
此外JSEL还提供了一些常用的工具支持,如命令行解析器,这是一个在表达式基础上建立起来的功能强大的命令行分析程序,如果你想编写一些基于命令行的工具程序,那么JSEL绝对是您最棒的助手。

该工具的基本用法简介:http://code.google.com/p/lite/wiki/CPEL

背后是一个空前强大的模板系统
JSEL并不是一个为了表达式而编写的表达式引擎,他本来只是Lite模板的一个基本功能,目前Lite模板系统正在做全面重构。这里就先留个悬念吧。以后你会知道的^_^



------------------------------

JSEL基于LGPL开源协议发布,(LiteRT-yyMMdd.jar,与Lite模板运行环境一起打包发布,不足100k),你可以从如下地址下载,并将其功能集成到你的系统中。
http://code.google.com/p/lite/downloads/list


因为JSEL本身只是Lite模板平台的一个子功能,所以,并没有专门的版本管理,版本号都是跟Lite的版本来的。
目前的版本只是在Lite2大重构过程中对于表达式功能的一个阶段性成就。