阅读更多

21顶
2踩

企业架构

原创新闻 表达式引擎JSEL 2.0 Alpha3 发布

2010-08-09 10:09 by 正式记者 jindw 评论(8) 有8636人浏览
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大重构过程中对于表达式功能的一个阶段性成就。
来自: www.xidea.org
21
2
评论 共 8 条 请登录后发表评论
8 楼 liyaxi 2010-08-10 10:54
太多了, 强化已有的吧!
7 楼 jindw 2010-08-09 16:21
kaktos 写道
能否代替jsp?

代替JSP是Lite模板系统的事情,目前Lite2.0 尚在大规模重构中,等等吧。

目前有个Lite1.0的衍生项目已经在作着代替JSP的工作。遗憾的是目前尚未开放。
6 楼 kaktos 2010-08-09 15:05
能否代替jsp?
5 楼 lirong1978 2010-08-09 14:16
看完也,也不知道这东西能干什么用的?
4 楼 gelnyang 2010-08-09 14:12
很不错,支持,会试着用到项目中!
3 楼 wendal 2010-08-09 12:07
哦耶!! 又看到一个不错的国产开源项目, 持续关注之,O(∩_∩)O哈哈~
2 楼 jindw 2010-08-09 11:36
faylai 写道
希望更加强大吧。!

多谢关注,下次发布会增加日期的支持。
1 楼 faylai 2010-08-09 11:18
希望更加强大吧。!

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • React+TS常用事件类型(event)

    学习react+ts,函数中的event的类型该怎么写

  • DataGridView在Cell编辑状态响应回车键下的KeyPress/KeyDown/KeyUp事件

    我们知道由于DataGridView的单元格DataGridCell处于编辑的时候,当你按Enter键,那么DataGridView是不会激发KewPress/KeyDown/KeyUp这些事件的,因为这个时候的DataGridView是一个容器。 如果我们需要做一些事情,比如在DataGridCell中输入值后需要对其验证,如这位朋友遇到的这个问题:http://social.msdn.micr...

  • 用TypeScript写贪吃蛇(7):GameControl游戏逻辑(一)-键盘事件

    1. 描述 GameControl类用于控制游戏的核心逻辑。 将所有的游戏逻辑写进GameControl后,index.ts只需要新建一个GameControl实例便可直接运行游戏。这两个文件的代码在下文可见。 2. 代码初步 代码初步书写如下: 2.1 Index.ts // 引入样式 import "./style/index.less"; // 引入类 import GameControl from "./modules/GameControl"; new GameControl(); 2.2

  • Henry手记-Datagrid键盘事件响应(二)

                 Henry手记 - Datagrid键盘事件响应(二)               韩睿  ( 03/11/2003)这篇文章写得有点晚,继上一篇推出已经快两个月了,今天看到一名网友的留言,说他还在等着看对“Enter”事件的处理,连忙放下手中的事,补上这一篇,也希望网友们不会太失望。 对于Datagrid的键盘事件响应,我们一定要分辨清楚是Datagri

  • datagrid加入键盘监听事件

    (function ($) { $.fn.ggrid = function (options) { $(this).datagrid(options); var grid = this; //键盘监听 $(window).keydown(function (event) { var ...

  • wpf datagrid 实现DataGridTextColumn 键盘事件

    如果在标签上使用Keyboard.KeyDown="" 是无效的,编译图通过, 正确方法如下: <DataGridTextColumn.EditingElementStyle>                         <Style TargetType="{x:Type TextBox}">                             <Eve...

  • JQuery EasyUI datagrid 键盘上下控制选中行

    扩展datagrid的一个方法keyCtr var isbind=false; $.extend($.fn.datagrid.methods, { keyCtr : function (jq) { return jq.each(function () { var grid = $(this);

  • DataGridView 屏蔽方向键等按键

    private void dataGridView1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Right || e.KeyCode == Keys.Left || e.KeyCode == Keys.Up || e.KeyCode == Keys.Down) ...

  • DataGridView的按钮列的点击事件

      private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex >= 0) { DataGridViewColumn column = dataGridView1.Col...

  • .Net 2.0 DataGridView中键盘事件处理方法

    .Net 2.0中的DataGridView比前期版本的DataGrid功能强多了,但本人还是觉得有不足的地方。比如说其DataGridViewButtonColumn列,像这样的列好像在本人开发过的系统中没有太多的用(最重要的还是不能在其上编辑,可能是没找到方法吧,再研究)。还有DataGridViewComboBoxColumn列,看起来比较漂亮,将其放在实际中,其实下拉的基本是列表或弹出一F

  • VB.NET学习笔记:WinForm扩展ComboBox控件——仿百度搜索框(输入文本智能模糊提示说明、自动匹配过滤)

    1

Global site tag (gtag.js) - Google Analytics