技術前沿 剖析新一代Flex富客戶端技術使用
本文和大家重點討論一下新一代Flex富客戶端技術的作用,新型的Flex富客戶端能夠提供和早期C/S技術一樣出色的UI,但又和B/S一樣不需要在用戶的機器上進行任何部署,也不需要手動對應用程序進行版本更新。
新一代Flex富客戶端技術淺析
概述
回顧網絡應用開發領域,早期是C/S,后來逐漸過渡到B/S,再到以Ajax為核心的Web2.0,如今新一代的Flex富客戶端技術又重新歸來,在這場新一輪的技術革新中,各大公司和開源社區都紛紛推出了自己的產品。目前具有代表性技術有微軟的Silverlight/WPF、Adobe的AIR/Flex和Sun的JavaFX,以及開源社區的Laszlo。
◆Flex及AIR是Adobe公司推出的基于開源、免費、跨平臺的新一代Flex富客戶端平臺。這種新型的Flex富客戶端能夠提供和早期C/S技術一樣出色的UI,但又和B/S一樣不需要在用戶的機器上進行任何部署,也不需要手動對應用程序進行版本更新。Adobe的Flex富客戶端技術為AIR和Flex,其核心以ActionScript語言為基礎,運用XML來描述界面。Adobe的RIA為終端用戶提供了兩種解決方案:Desktop應用和Web應用。對于Desktop應用,需要安裝Adobe的AIR作為其運行平臺(Runtime),這時RichClient程序如同本地的程序一樣運行,這種方式類似于Java應用程序,AIR相當于Java運行環境(JRE);對于Web應用,Adobe的Flex程序運行于內嵌在瀏覽器中的FlashPlayer上,借助FlashPlayer的良好普及率,Adobe實現了其統一的、跨平臺的承載平臺,和傳統的C/S相比,繼承了其界面豐富、操作性強等優點,而又摒棄了其需要手動安裝、配置、升級等缺點。
◆Adobe借助Flex/AIR在RIA領域的巨大成功、以及依托FlashPlayer的廣泛的普及率來推廣其新一代Flex富客戶端技術,使微軟看到了下一代互聯網和應用開發框架的美好前景,適時的推出了與AdobeFlashPlayer相類似而又相對抗的產品Silverlight/WPF,在微軟的解決方案中,WPF是.NETFramework3.0的組成部分之一,它是一套基于XML、.NETFramework、向量繪圖的展示層開發框架,微軟視其為下一代用戶接口規范,將廣泛被用于下一代的Windows平臺的界面開發,這樣微軟也將逐漸淘汰以GDI、GDI+、MFC等為代表的Win32API。WPF可以編寫Web程序或者桌面應用程序,可以直接編譯為獨立運行的exe文件,WPF運行時必須安裝.NETFramework3.0,這就要求WPF目前運行的操作系統必須是WindowsVista或者WindowsXPSP2以上。而Silverlight為WPF的子集,是基于瀏覽器的插件,在瀏覽器中運行,客戶端無需安裝.NetFramework,其運行環境不受操作系統和瀏覽器的種類限制。雖然相對于Adobe的解決方案微軟推出較晚,但這也是目前在RIA領域最為強勁的后起之秀。
◆JavaFX是Sun公司推出的RIA技術解決方案,其前身為F3項目。和早期的Applet、JavaWebStart等技術一脈相承,JavaFX其實同樣以JavaSwing為基礎,運行于Java虛擬機之上。但與原來的Java語言有所不同的是JavaFX是一種全新的腳本語言,為開發者提供了更加簡潔、快速的GUIAPI。JavaFX與前兩者最大的不同也就在于其使用的是DSL,我們雖然熟悉SQL這樣的DSL語言,但將DSL引入GUI開發還是尚屬首次,DSL的語法更適合GUI的本質,因此從語言的角度來說,JavaFX比.NET和ActionScript更為先進。但與前兩者相比,JavaFX無論在推出的時間還是產品里程上都遠落后于對手,其技術解決方案的成熟度也稍遜于其它兩種產品。
【編輯推薦】