使用 OpenLaszlo 创建 Web 富客户端

导读:
  级别: 初级
  Joshua M. Woods(joswoods@us.ibm.com), 软件工程师, IBM
  2006 年 5 月 11 日
  OpenLaszlo 是一种富客户机应用程序架构,使用 Macromedia Flash 作为部署载体。OpenLaszlo 依赖 JavaScript 来表达逻辑,并提供了传统 Flash 开发方式无法比拟的一些优点,包括高级的 UI 约束系统、面向对象的设计方法学以及内置的对 Web 服务和各种风格的远程过程调用(Remote Procedure Call,RPC)的支持。本文详细论述了 OpenLaszlo 的基本概念,并给出一些示例场景,展示了 OpenLaszlo 解决方案的优势。
  近来 Web 开发领域的一个焦点是将富客户机体验引入 Web。Asynchronous JavaScript and XML (Ajax) 使开发人员和用户拓宽了对 Web 的认识,俨然有取代标准桌面富客户机之势。然而,Ajax(以及当前的浏览器技术)却在以下几个方面存在局限性:
  提供带有大量动画的用户界面。
  轻松地提供能在多种浏览器,包括旧浏览器上显示的标准表示法。
  轻松地实现某些类型的应用程序,包括动态建立的应用程序。
  但是,这些只是 OpenLaszlo 所擅长的一部分。在深入探讨这种架构之前,首先我们花点时间来讨论一下什么是OpenLaszlo。
  Laszlo 是 OpenLaszlo 所使用的一种语言,这种语言通过说明性方法,用 XML 和 JavaScript 来创建部件或整个应用程序。这种标记语言与脚本语言的合并类似于目前的 HTML/JavaScript 组合。然而,Laszlo 不是通过浏览器在客户端来解释语言,而是在服务器端将语言转换成 Macromedia Flash 格式。这样实际上就自动提供了跨浏览器支持,因为 Flash 提供了一个标准运行时。由于 Flash 格式是基于矢量的,因此允许使用非常灵活多变的用户界面组件,并且这些组件可以大量重用。
  然而,OpenLaszlo 还不止这些。OpenLaszlo 还受到一个可选的服务器端容器,即 OpenLaszlo 服务器的支持,后者提供了对远程过程调用、Web 服务和 transcoding 服务(负责将较长的 MP3 文件以流的方式传送给用户之类的事情)的广泛集成和支持。作为一种语言,Laszlo 还采用了一些令人兴奋的概念和设计方法学,以便在数分钟内创建出真正可重用的组件。这种组件拥有令人喜爱的视觉效果,并且为用户所熟悉。图 1给出了一个例子,这是用 OpenLaszlo 创建的一个股票行情自动收录器应用程序的一个 UI。
   图 1. 一个示例 OpenLaszlo UI
  
  
  阅读本文并不需要以了解 Flash 为先决条件。但是应该对 JavaScript 有个基本的理解,并知道它与传统的面向对象编程语言的不同之处。此外,如果您理解基本的面向对象编程以及传统的用户界面开发 —— Swing、Standard Widget Toolkit (SWT)、Microsoft Foundation Classes (MFC) 等,那么本文将会更加有用。
  组件:灵活的和可扩展的
  目前,为 Web 构建可扩展的、灵活的用户界面组件的重担仍然落在开发人员身上。很多技术(定制标记库、PHP 抽象等)的存在都是为了解决一个共同的问题:开发人员常常必须组合很多 HTML 标记来为当前的 Web 应用程序创建复杂的组件。诚然,面向对象方法的价值已为众人所知,而 Laszlo 语言就包括很多面向对象的范例在里面。下面来看看一些基本的核心组件。
  每个 Laszlo 应用程序都是由 XML 文件 [包含说明性用户界面(UI)信息和 JavaScript] 和资源文件(图像、嵌入式 Flash 内容和音频)组成,OpenLaszlo 将这些文件组合起来创建出最终的内容。根容器是 标记。 在某些方面类似于 HTML 文档中的 标记。它可以包括一些属性,例如宽度、高度和背景颜色。源文件中的 是一个 XML 标记,而每个标记就是一个组件,或者是一个类这句话的意思是,它具有相关联的方法、动画等。后面我会更详细地讲到这些组件的特性。现在,您可以通过说明性的方式使用这个标记和 创建规范的 "Hello, World!" 例子,如 清单 1所示。
   清单 1. 用 Laszlo 编写的 "Hello, World!" 例子
  

Hello, World!


   组件利用 Flash
  我暂时不介绍关于这样的代码是如何被转换和部署成 Flash 格式的细节,但是可以告诉您,OpenLaszlo 可以完成所有重要的工作。另外还需要知道的重要的一点是,OpenLaszlo 组件通常都是受 Flash 资源支持的。这意味着它们可以是基于矢量的,因此,您可以提供一个公共的组件,在各种不同的地方使用它。很多基本的组件是现成可用的。从事图形用户界面(GUI)方面工作的人对诸如
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值