转自 : http://baike.baidu.com/view/2880620.htm?fr=ala0
http://today.java.net/pub/a/today/2005/03/22/laszlo.html
LZX是一种面向对象,以tag为基础的语言,通过使用XML和Javascript语法来创建RIA(Rich Internet Application)应用的表现层界面。LZX编写的应用需要OpenLaszlo的编译器编译(基于OpenFace的LZX应用需要OpenFace的编译器编译)。LZX语言规范包括一套XML标签和一组JavaScipt API。
LZX的语法和命名习惯等都设计得和其他语言差不多,所以对于有丰富的web开发人员来说,是很容易学习并将应用融合到他们计划的环境中。
一个运行中的LZX应用产生一个被称为canvas的可视对象,这就是应用实际在屏幕上所占的区域。在canvas中,自动管理各个视图间的交互,这些视图产生逻辑上或者视觉上的嵌套,它们有很多能被控制的属性,包括大小、位置、背景颜色、透明度、是否能被拉伸等等。视图还能包含图片等资源。一个视图的属性能作用到另外的一些视图的属性上,并且视图的任何属性都能产生动画效果,也就是说属性的值可以随时间而变化。
LZX的视图系统和其它许多的视图系统是类似的,但是和其它UI技术比较,它引入了数据绑定、属性约束和动画机制。
LZX应用有代表性地包含了描述和程序这两种结构,而且这种语言顺从了很多CSS(Cascading Style Sheets)的命名习惯。从而使得LZX编写的应用显得简单,就像内嵌Javascript的DHTML应用那样。但是相对DHTML/JavaScript这些类型的应用来说LZX应用在概念上还是有一定区别,比如说前者是边解释边执行的,而LZX应用则相反,它需要先在服务器上编译,然后将编译后的字节码下载到目标解释引擎上运行。
在OpenFace平台上,LZX Server将应用编译成能在OpenFace player上执行的二进制文件并形成player上的应用格式,但是LZX语言和player之间本身没有任何联系,也没有任何依赖关系。
这样,尽管LZX应用中使用了JavaScript,但是被Server编译后Javascript的作用同传统web应用中Javascript被用来和浏览器交互或者改变HMTL页面的作用是有差别的。这种直接和浏览器交互或者改变HTML页面的动能在LZX应用中是不存在的。这使得LZX语言的设计尽管和传统的其它语言类似,但是它确实是新的一种语言。