不為人知的Flex優(yōu)勢
本文和大家重點(diǎn)討論一下Flex優(yōu)勢 ,F(xiàn)lex提供了許多引人注目的優(yōu)勢。Flex的大部分優(yōu)點(diǎn)源于它構(gòu)建在廣泛使用的AdobeFlashPlayer之上。Flex優(yōu)勢具體內(nèi)容請(qǐng)看下面詳細(xì)介紹。
Flex優(yōu)勢
Flex提供了許多引人注目的優(yōu)勢。Flex的大部分優(yōu)點(diǎn)源于它構(gòu)建在廣泛使用的AdobeFlashPlayer之上。Flex優(yōu)勢主要包括:
◆完整的瀏覽器可移植性。任何支持FlashPlayer的瀏覽器(涵蓋了大部分瀏覽器)都支持Flex及其腳本語言ActionScript(AS)。這與Ajax形成鮮明的對(duì)比,Ajax受在不同瀏覽器中實(shí)現(xiàn)的不兼容JavaScript的影響。
◆一致的觀感。FlashPlayer以向所有操作系統(tǒng)和瀏覽器提供一致的觀感著稱。Flex使用的是FlashPlayer引擎,所以它也將提供一致的觀感。
◆健壯的安全性。Flex利用經(jīng)過大量嚴(yán)謹(jǐn)測試的FlashPlayer安全模塊。
◆豐富的UI。Flex受益于FlashPlayer的HaloSkins、漸進(jìn)填充和矢量圖形等特性。
◆可伸縮的矢量圖形(SVG)。Flex優(yōu)于大部分基于RIA的技術(shù),因?yàn)樗С只谑噶康睦L制和直接嵌入SVG標(biāo)記文件?;赟VG的圖像在瀏覽器支持的分辨率范圍內(nèi)都表現(xiàn)得很好。這與基于位圖的圖像形成鮮明的對(duì)比,因?yàn)槲粓D圖像在不斷放大時(shí)會(huì)出現(xiàn)明顯的失真。
◆異步請(qǐng)求/響應(yīng)模型。Flex優(yōu)勢在于為異步處理用戶請(qǐng)求提供完整的支持。異步處理支持Web站點(diǎn)脫離以頁面為中心的模型,這種模型在收到每個(gè)用戶請(qǐng)求時(shí)都會(huì)刷新頁面。
◆二進(jìn)制數(shù)據(jù)通信。Flex優(yōu)勢在于為Flex客戶機(jī)和后端服務(wù)器之間的二進(jìn)制數(shù)據(jù)傳輸提供完整的支持。您可以使用Adobe的專用ActionMessageFormat(AMF)格式或其他自定義格式發(fā)送數(shù)據(jù)。Flex甚至支持從客戶機(jī)到服務(wù)器的開放二進(jìn)制套接字,從而實(shí)現(xiàn)“真正的”數(shù)據(jù)發(fā)送。注意,這個(gè)特性不能使用瀏覽器的加密設(shè)施,比如SecureSocketLayer(SSL)。
◆運(yùn)行時(shí)共享庫(RSL)和模塊化。Flex對(duì)這些特性的支持確保您能夠動(dòng)態(tài)地加載模塊,這意味著您可以向正在運(yùn)行的應(yīng)用程序添加新的特性,或利用由運(yùn)行在相同客戶機(jī)上的其他Flex應(yīng)用程序加載的RSL。這能夠減少應(yīng)用程序特性的啟動(dòng)時(shí)間,因?yàn)樗鼔嚎s了初始二進(jìn)制文件的大小。
◆客戶端緩存。Flex對(duì)客戶端緩存提供強(qiáng)大的支持。只要用戶授權(quán),F(xiàn)lex應(yīng)用程序就能在客戶端上緩存任意大小的數(shù)據(jù),這在接下來的會(huì)話頻繁請(qǐng)求相同的數(shù)據(jù)時(shí)減少網(wǎng)絡(luò)數(shù)據(jù)的往返。您可以緩存任何類型的數(shù)據(jù),包括完整的對(duì)象圖形、定制類、地圖和數(shù)組。這種支持要比HTMLcookie先進(jìn)得多,HTMLcookie僅允許應(yīng)用程序存儲(chǔ)字符串名稱值對(duì),并且每個(gè)Web站點(diǎn)僅能存儲(chǔ)4KB名稱值對(duì)。
◆跨瀏覽器通信。Flex支持在相同類型的瀏覽器、相同瀏覽器中的不同選項(xiàng)卡,甚至是相同機(jī)器上的不同瀏覽器中運(yùn)行的應(yīng)用程序之間通信。這個(gè)特性意味著許多應(yīng)用程序能夠共享數(shù)據(jù),從而實(shí)現(xiàn)豐富的終端用戶體驗(yàn)。
◆流線化(Streaming)。Flex對(duì)流線化二進(jìn)制數(shù)據(jù)提供出色的支持。對(duì)于需要向終端用戶傳輸大量數(shù)據(jù)的應(yīng)用程序,流線化是至關(guān)重要的,因?yàn)樗寫?yīng)用程序向終端用戶顯示先到達(dá)的數(shù)據(jù)。
◆強(qiáng)大的后臺(tái)連接性。在起步時(shí),F(xiàn)lex就為流行的后臺(tái)技術(shù)提供出色的支持,比如JavaPlatformEnterpriseEdition、Microsoft.NET平臺(tái)、ColdFusion和PHP。連接性支持有助于Flex在客戶端方面的推廣。
◆豐富的框架。Flex優(yōu)勢在于為組件開發(fā)提供一個(gè)健壯的框架,并且包含許多為開發(fā)人員提供便利的開箱即用組件。這有助于實(shí)現(xiàn)快速開發(fā)和交付項(xiàng)目。
◆調(diào)試和編輯器支持。Adobe開發(fā)了一個(gè)健壯的、基于Eclipse的編輯器FlexBuilder,它大大簡化了Flex應(yīng)用程序的開發(fā)和調(diào)試。這是一個(gè)非常明智的決策。
這些強(qiáng)大的特性讓Flex成為創(chuàng)建UI的最佳工具之一,不管現(xiàn)在還是將來。使用Flex進(jìn)行開發(fā)的另一個(gè)好處是:您可以通過組合和重用已經(jīng)構(gòu)建好的組件創(chuàng)建一些有趣的解決方案,這非常符合Web2.0的精神。不過,如果您希望從頭構(gòu)建新的定制組件,那么就要困難得多。Flex提供的強(qiáng)大特性可能會(huì)鼓動(dòng)您去創(chuàng)建復(fù)雜完美的組件,讓它們實(shí)現(xiàn)專屬于桌面應(yīng)用程序(使用openGL等庫構(gòu)建)的優(yōu)勢??紤]以ElectronicArts賽車游戲NeedforSpeed為模板,在Web上編寫一個(gè)游戲引擎的可能性。或者使用現(xiàn)實(shí)中的數(shù)據(jù)流和鏈接構(gòu)建一個(gè)ISP拓?fù)?。我相信,未來Flex將實(shí)現(xiàn)這些應(yīng)用程序以及許多其他類似的應(yīng)用程序,但是目前的需求和工具都還不太成熟。不管如何,企業(yè)的業(yè)務(wù)依賴于基于Web的UI,并且能夠大大受益于Flex提供的強(qiáng)大功能。
【編輯推薦】
- Flex優(yōu)勢和特色匯總
- Flex基礎(chǔ) 創(chuàng)建第一個(gè)Flex項(xiàng)目
- 解析Flex事件執(zhí)行流程
- FlexBuilder3.0與Eclipse3.4的完美結(jié)合
- 學(xué)習(xí)筆記 FlexBuilder2.0中如何使用基于Lists的控件