RIA應用框架 OpenLaszlo
OpenLaszlo 是一種富客戶機應用程序架構,使用 Macromedia Flash 作為部署載體。OpenLaszlo 依賴 JavaScript 來表達邏輯,并提供了傳統 Flash 開發方式無法比擬的一些優點,包括高級的 UI 約束系統、面向對象的設計方法學以及內置的對 Web 服務和各種風格的遠程過程調用(Remote Procedure Call,RPC)的支持。
近來 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 還采用了一些令人興奮的概念和設計方法學,以便在數分鐘內創建出真正可重用的組件。這種組件擁有令人喜愛的視覺效果,并且為用戶所熟悉。