`
javasee
  • 浏览: 960936 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论
阅读更多
(本文发表于《程序员》杂志2005年第2期)

2004年10月,Laszlo Systems公司开放了主要产品Laszlo Platform的源代码,于是有意转向富客户端(rich client)的J2EE开发者们又多了一种选择。在Laszlo之外,rich client的实现策略大抵可以分为两类:以Flex为代表的一派采用独立于浏览器的展现格式(例如Flash),显示效果更美观,也不受浏览器局限,但表现层的开发需要专门技能,J2EE开发者常常不能胜任;以XUL/XAML为代表的一派则依赖于浏览器,开发者只需要编写类似于HTML的标记语言,但浏览器的兼容性则很差。Laszlo则兼具了两者的优势。



上面是Laszlo的应用架构图,看起来平淡无奇,任何一个基于Flash的rich client应用都有类似的架构。Laszlo的不同之处在于:在客户端运行的Flash界面不是由美工在Flash编辑器中制作出来的,而是在Laszlo表现服务器(Laszlo Presentation Server,LPS)中根据LZX文件编译生成、再发送到客户端的。LZX是一种界面描述格式,其中包含两部分内容:用于描述界面的XML标记,以及用于事件处理的JavaScript脚本。读者可能会说了:这样的格式不是就和传统的HTML页面很相似了么?正是如此。所以J2EE开发者自己也可以完成整个rich client界面的开发,不必去向美工学习Flash编辑器的用法了。

下面是一段典型的LZX代码。我们在<dataset>中描述一组来自服务器端的数据,随后的<text>标签就可以通过XPath定位到这些数据,并将它们以Flash的形式展现出来:

<canvas>
<dataset name="dset">
<employee>
<firstName>John</firstName>
<lastName>Smith</lastName>
<phone>617-536-7855</phone>
</employee>
</dataset>
<text datapath="dset:/employee/firstName/text()"/>
<text datapath="dset:/employee/lastName/text()"/>
<text datapath="dset:/employee/phone/text()"/>
<simplelayout axis="x"/>
</canvas>

为了迎合J2EE开发者的口味,Laszlo可谓用心良苦:不仅采用标准的XML作为界面描述和数据绑定格式,连事件处理机制都舍弃了Flash现成的ActionScript,转而采用程序员更熟悉的JavaScript。不过用XML描述界面的弊端也很明显,就是开发效率较低。针对这个问题,IBM也开源了一个基于Eclipse的编辑器插件,专门用于可视化开发Laszlo应用程序。读者可以在下列地址找到这个插件:http://alphaworks.ibm.com/tech/ide4laszlo

可是,尽管具备了Flash美观、高度可移植的特点和XUL/XAML的简洁、易开发,但Laszlo仍然存在着诸多问题。首先,脚本的调试会是一件颇为麻烦的事情。虽然Laszlo提供了一个漂亮的脚本调试器,但由于LZX必须通过LPS的编译之后才能显示,因此整个调试过程必须连接在服务器上进行。当界面逻辑变得复杂时,可以预见脚本的调试过程将严重影响开发效率。其次,Laszlo的运行效率和稳定性都存在问题,尤其是在访问一个新界面时,编译Flash的过程长得足以吓跑用户,而且通过网络传输的数据量也偏大。最后,Laszlo对服务器硬件的要求相当高,在大负载环境下是否能保持稳定运行颇可怀疑。

综上所述,Laszlo确实为rich client应用开发提供了一种便利而具有高度可移植性的方案,但这种方案目前看来只适于开发企业内部应用。如果用来开发面向公网的应用,效率和传输数据量的问题可能变得非常严重。因此,将Laszlo称为“Rich Internet Application平台”恐怕还为时过早。
分享到:
评论

相关推荐

    Laszlo与web工程

    【Laszlo 与 Web 应用】 Laszlo 是一个开源项目,它遵循 GNU General Public License (GPL) 协议。该项目的核心是 LZX 文件,这是一种标记语言,用于构建富互联网应用程序(RIA)。LZX 文件在 Laszlo Presentation ...

    英文原版-Laszlo in Action 1st Edition

    Laszlo in Action is the first comprehensive guide to the Laszlo system and its language LZX. OpenLaszlo is an increasingly popular open-source platform for the development and delivery of rich ...

    Manning - Laszlo in Action (Jan 2008)

    这本书不仅提供了深入的理论知识,还附带了源码,使得读者能够通过实际操作来学习和理解Laszlo平台。以下是关于Laszlo技术和本书内容的详细知识点: 1. **Laszlo简介**: Laszlo是一种开源的富互联网应用程序...

    Laszlo技术手册续

    《Laszlo技术手册续》深入解析 Laszlo是一种基于Open Source GPL协议的开源项目,专注于构建富互联网应用程序(RIA)。它以其独特的LZX语言为核心,允许开发者创建交互性强、图形丰富的用户界面。LZX文件在Laszlo ...

    Laszlo技术手册

    Laszlo是一种开源的富互联网应用程序(RIA)开发平台,它允许开发者使用类似JavaScript和XML的LZX语言创建交互性强、用户体验丰富的Web应用。手册首先解释了RIA的含义,强调其结合了桌面应用的响应速度和Web应用的...

    最简单的Red5+laszlo for java入门的例子

    Laszlo编译器可以将LZX(Laszlo XML)代码转换为Flash SWF或JavaScript,这样就能在各种浏览器和平台上运行。Laszlo的主要特点包括: 1. **跨平台**:Laszlo应用可以在Flash Player和HTML5浏览器中运行,提供了广泛...

    Laszlo JSF Integration Library-开源

    Laszlo Presentation Server是一款开源的平台,它允许开发者用LZX语言创建丰富的用户界面。LZX是一种基于XML的标记语言,类似于HTML,但提供了更多的动态功能和组件支持。通过Laszlo,开发者可以构建跨浏览器、跨...

    Laszlo Faces-开源

    【Laszlo Faces - 开源】项目是一个创新的IT解决方案,它主要关注的是将OpenLaszlo富Web应用程序与基于JavaServer Faces (JSF) 的服务器端组件进行无缝集成。这个开源项目为开发者提供了一个强大的工具集,允许他们...

    lasazlo使用手册

    1. Laszlo架构(Laszlo Architecture):文档开头提到的“Laszlo Architecture”即为RIA开发工具Laszlo的架构设计。RIA(Rich Internet Application,富互联网应用)是一种网络应用程序,它将桌面应用程序的富客户端...

    几种富客户端开发技术参照.pdf

    2. **Laszlo**:这是一个开源的RIA开发环境,开发者使用LZX语言(结合XML和JavaScript)编写应用,Laszlo平台会将其编译为SWF文件。Laszlo的跨浏览器兼容性和未来将LZX编译为Java或.NET本地代码的计划,提升了运行...

    简历网::grinning_face:Patrik Laszlo的简历网

    :grinning_face: Patrik Laszlo的简历网站 码头工人docker pull patrikx3/resumedocker run -h docker-patrikx3-resume -p 8080:8080 -t -i patrikx3/resume电子邮件文件:deployment / settings.json { " debug " :...

    hibernate相关资源

    - **Laszlo**: 一个开源的RIA开发环境,开发者使用LZX语言(整合了XML和JavaScript)编写代码,Laszlo平台则将其编译为SWF格式文件并在客户端展示。Laszlo计划未来还能够将LZX编译为Java或.NET本地代码,进一步提高...

    OpenLaszlo-SAMSIG-05.ppt

    ### OpenLaszlo:领先的开源富互联网应用开发平台 #### 一、项目概述与历史 OpenLaszlo 是一个开放源代码平台,旨在为全球范围内的互联网提供丰富的应用程序开发及交付服务。它由 Laszlo Systems 公司于 2001 年...

    GeoAr - WMS/WFS laszlo client-开源

    GeoAr打算成为WMS和WFS服务的丰富客户端。 它是在LZX(OpenLaszlo)上开发的,因此可以使用dhtml(不久以后)并刷新到用户的浏览器,从而可以在它们之间进行选择,但是只有一个服务器的密码。

    flex教程-Flex简介

    Flex教程 - Flex简介 Flex是由Adobe公司开发的一种支持RIA(Rich Internet Applications)开发和部署的技术,主要用于构建企业级应用。RIA技术旨在将桌面应用程序的丰富交互性和浏览器的便捷性结合起来,提供比传统...

    一款专用脱upx脱壳工具

    UPX(Ultimate Packer for eXecutables)是一款著名的可执行文件打包工具,它能够将程序压缩,减小程序的大小,提高程序的加载速度。UPX壳是一种常见的保护程序,可以防止恶意用户逆向工程分析代码。...

    myeclipse-spket插件

    Flex是一种用于构建富互联网应用程序(RIA)的开源框架,而Laszlo是另一种开放源码的RIA开发平台。通过myeclipse-spket,开发者可以在Eclipse环境中无缝地进行Flex和Laszlo项目的开发,享受统一的代码编辑体验。 **...

    Flex简介Flex简介Flex简介Flex简介

    ria的发展历程大致经历了从主机应用程序到客户端/服务器,再到浏览器/服务器模式的转变,最终发展出如Adobe Flash/Flex、Laszlo和Microsoft WPF/Expression等各具特色的ria客户端开发技术。 Flex作为ria技术的一个...

Global site tag (gtag.js) - Google Analytics