- RIA開發權威指南
- 路遙 藍科 王震編著
- 1892字
- 2019-01-01 14:41:49
1.3 目前的RIA技術對比
1.3.1 JavaFX,Flash/Flex,SilverLight三強鼎立格局
隨著科技的快速發展,各公司都想在RIA中占據一席之地。Sun推出了JavaFX,Adobe推出了Flex,微軟推出了SilverLight。它們分別都有著自己的優勢和特點,下面分別進行介紹。
1.SilverLight
SilverLight是微軟公司推出的一個跨瀏覽器、跨客戶平臺的技術,能夠設計、開發和發布有多媒體體驗與富交互(RIA,Rich Interface Application)的網絡交互程序。這是因為SilverLight提供了一個強大的平臺,能夠開發出具有專業圖形、音頻和視頻的Web應用程序,增強了用戶體驗,所以SilverLight吸引了設計人員和開發人員的眼球。同時,SilverLight還提供了強大的工具來提高他們的工作效率。
2.Flash/Flex
Flash從6.0開始就逐步具備建立窗體風格的應用程序的功能。據Adobe稱已經有98%以上的桌面系統的瀏覽器都安裝了Flash Player。這使得以Flash Player為客戶端的RIA可以支持種類廣泛的平臺和設備。
Flex可以運行于J2EE和NET平臺。Flex表示服務器提供基于標準的、聲明式的編程方法和流程,并提供運行時服務,用于開發和部署豐富客戶端應用程序的表示層。Flex開發者使用直觀的基于XML的MXML來定義豐富的用戶界面。該語言由Flex服務器翻譯成SWF格式的客戶端應用程序,在Flash Player中運行。
3.JavaFX
目前,已有億萬臺設備部署了Java虛擬機,開發人員可以利用這一被認可、成熟、高性能平臺的強大功能、成熟度、性能和普及性。JavaFX使集成視頻、音頻、圖形、動畫和富文本更輕松。應用程序可以將音頻/視頻和2D圖形與3D透視轉換以及富文本結合起來,同時帶有引人注目的效果和變換。高級動畫特性包括時間軸、關鍵幀動畫、補間和基于路徑的動畫。Java開發人員可以通過重用JavaFX應用程序中的Java庫來保留現有的投資。JavaFX Script具有強大的數據綁定特性,為使多個對象的狀態同步提供了簡單的語法,因而允許GUI組件自動隨著基礎數據的變化而改變狀態JavaFX允許導入任何Java類,創建新的Java對象,并調用有關這些類和對象的方法。開發人員可以繼續利用全局Java生態系統巨大的知識庫和市場。
目前來看,這三種技術各有優勢,Flash/Flex先入為主,目前已經有了很大的市場,但是Silverlight的先天優勢是有Windows平臺的支持,而JavaFX借助于Java虛擬機以及完全能重用Java的庫,其優勢是它的開源策略。
1.3.2 其他解決方案
RIA解決方案遠不止上述三種,下面介紹一下目前出現的除了上述三種技術之外的其他幾種比較有實力或者有特點的RIA客戶端開發技術:
1.Laszlo
Laszlo是開發和發布RIA到Web上的開源平臺。Laszlo平臺由LZX標記語言和Laszlo表示服務器組成;LZX是基于XML和JavaScript的描述語言,類似于XUL和XAML。使用Laszlo平臺時,開發者只需編寫名為LZX的描述語言,運行在J2EE應用服務器上的Laszlo平臺會將其編譯成SWF格式的文件并傳輸給客戶端展示。從這點上來說,Laszlo的本質和Flex是一樣的。Flash是任何瀏覽器都支持的展示形式,從而解決了瀏覽器之間的移植問題。
2.Avalon
Microsoft的Avalon是下一版本的Windows的一部分,是一個圖形和展示引擎,主要由新加到.NET框架中的一組類集合而成。Avalon定義了一個在Longhorn中使用的新標記語言,其代號為“XAML”。可以使用XAML來定義文本、圖像和控件的布局,程序代碼可以直接嵌入到XAML中,也可以將它保留在一個單獨的文件內。
3.XUL
XUL是一種基于XML的用戶界面語言。它來自于Mozilla的開放源碼項目,可用于建立窗體應用程序,這些應用程序不但可以在Mozilla瀏覽器上運行,而且也可以運行在其他描述引擎上。XUL描述引擎都非常小,它可以使用XML數據也可以生成XML數據。XUL的一個主要缺點在于它目前還沒有獲得一個主要商業實體的支持。XUL最大的優點在于它與Gecko引擎的集成,以及與大多數其他XML用戶界面描述語言相比它是一種非常具有表達力和簡潔的語言。
4.Bindows
Bindow是用Javascript和DHTML開發的Web窗體框架。Javascript用于客戶端界面的顯示和處理,XML HTTP用于客戶端與服務器的信息傳輸。Javascript在客戶端的表現力不容置疑,利用Javascript幾乎可以實現Windows應用程序所能干的大部分事情,XML HTTP一直以來常被用于實現“無刷新”的Web頁面,它和Javascript配合,可以完成數據從服務器和客戶端的傳輸。Bindows的一個主要的缺點是它采用一次全部載入的方式來實現腳本庫,在窗口的加載期,需要一個漫長的等待過程,甚至瀏覽器的進程會產生無響應的情況。這點Bindows根本沒有遵循“用多少去多少”的準則。另外,內部大量利用了IE6的技術,沒有考慮到非IE的瀏覽器,限制了Bindows的流行。
目前RIA領域的新產品新技術層出不窮,這一切都說明在互聯網世界中RIA是多么的火熱。但上述列舉的一些技術,都由于各自的一些原因導致普及率還偏低。RIA現正處于蓬勃發展的時代,JavaFX以其獨特開源優勢,在激烈競爭中已占有一席之地,讓我們一起為JavaFX貢獻出自己的創意和技術,使互聯網變得越來越精彩!
通過本章,相信讀者對JavaFX與RIA相關技術有了一個整體的了解,后面將對JavaFX進行深入的介紹和說明。
· 相關資源
如果想了解更多JavaFX的背景知識,下列資源可供你參考:
· Sun公司JavaFX官方網站:站點中描述了JavaFX產品家族。
鏈接是:www.sun.com/javafx.
· 關于JavaFX技術中文參考資料可以訪問Sun中國技術社區(http://developers.sun.com.cn/)JavaFX開發者中心。
- Visualforce Development Cookbook(Second Edition)
- 火格局的時空變異及其在電網防火中的應用
- MCSA Windows Server 2016 Certification Guide:Exam 70-741
- 工業機器人現場編程(FANUC)
- 完全掌握AutoCAD 2008中文版:綜合篇
- 大數據平臺異常檢測分析系統的若干關鍵技術研究
- DevOps:Continuous Delivery,Integration,and Deployment with DevOps
- AI 3.0
- 網中之我:何明升網絡社會論稿
- Statistics for Data Science
- 多媒體制作與應用
- 從零開始學SQL Server
- 網絡存儲·數據備份與還原
- 智能鼠原理與制作(進階篇)
- 青少年VEX IQ機器人實訓課程(初級)