OpenLaszlo是一种富客户机应用程序架构,使用MacromediaFlash作为部署载体。OpenLaszlo依赖JavaScript来表达逻辑,并提供了传统Flash开发方式无法比拟的一些优点,包括高级的UI约束系统、面向对象的设计方法学以及内置的对Web服务和各种风格的远程过程调用(RemoteProcedureCall,RPC)的支持。
近来Web开发领域的一个焦点是将富客户机体验引入Web。AsynchronousJavaScriptandXML(Ajax)使开发人员和用户拓宽了对Web的认识,俨然有取代标准桌面富客户机之势。然而,Ajax(以及当前的浏览器技术)却在以下几个方面存在局限性:
提供带有大量动画的用户界面。轻松地提供能在多种浏览器,包括旧浏览器上显示的标准表示法。轻松地实现某些类型的应用程序,包括动态建立的应用程序。但是,这些只是OpenLaszlo所擅长的一部分。在深入探讨这种架构之前,首先我们花点时间来讨论一下什么是OpenLaszlo。
Laszlo是OpenLaszlo所使用的一种语言,这种语言通过说明性方法,用XML和JavaScript来创建部件或整个应用程序。这种标记语言与脚本语言的合并类似于目前的HTML/JavaScript组合。然而,Laszlo不是通过浏览器在客户端来解释语言,而是在服务器端将语言转换成MacromediaFlash格式。这样实际上就自动提供了跨浏览器支持,因为Flash提供了一个标准运行时。由于Flash格式是基于矢量的,因此允许使用非常灵活多变的用户界面组件,并且这些组件可以大量重用。
然而,OpenLaszlo还不止这些。OpenLaszlo还受到一个可选的服务器端容器,即OpenLaszlo服务器的支持,后者提供了对远程过程调用、Web服务和transcoding服务(负责将较长的MP3文件以流的方式传送给用户之类的事情)的广泛集成和支持。作为一种语言,Laszlo还采用了一些令人兴奋的概念和设计方法学,以便在数分钟内创建出真正可重用的组件。这种组件拥有令人喜爱的视觉效果,并且为用户所熟悉。
评论