解析六大Flex優(yōu)勢(shì)
本文和大家重點(diǎn)討論一下Flex優(yōu)勢(shì),F(xiàn)lex提供了許多引人注目的優(yōu)勢(shì)。Flex的大部分優(yōu)點(diǎn)源于它構(gòu)建在廣泛使用的AdobeFlashPlayer之上。希望本文的介紹能讓你有所收獲。
Flex優(yōu)勢(shì)
Flex提供了許多引人注目的優(yōu)勢(shì)。Flex的大部分優(yōu)點(diǎn)源于它構(gòu)建在廣泛使用的AdobeFlashPlayer之上。Flex優(yōu)勢(shì)主要包括:
◆完整的瀏覽器可移植性
任何支持FlashPlayer的瀏覽器(涵蓋了大部分瀏覽器)都支持Flex及其腳本語(yǔ)言ActionScript(AS)。這與Ajax形成鮮明的對(duì)比,Ajax受在不同瀏覽器中實(shí)現(xiàn)的不兼容JavaScript的影響。
◆一致的觀感
FlashPlayer以向所有操作系統(tǒng)和瀏覽器提供一致的觀感著稱。Flex使用的是FlashPlayer引擎,所以它也將提供一致的觀感。
健壯的安全性。Flex利用經(jīng)過(guò)大量嚴(yán)謹(jǐn)測(cè)試的FlashPlayer安全模塊。
豐富的UI。Flex受益于FlashPlayer的HaloSkins、漸進(jìn)填充和矢量圖形等特性。
可伸縮的矢量圖形(SVG)。Flex優(yōu)于大部分基于RIA的技術(shù),因?yàn)樗С只谑噶康睦L制和直接嵌入SVG標(biāo)記文件。基于SVG的圖像在瀏覽器支持的分辨率范圍內(nèi)都表現(xiàn)得很好。這與基于位圖的圖像形成鮮明的對(duì)比,因?yàn)槲粓D圖像在不斷放大時(shí)會(huì)出現(xiàn)明顯的失真。
異步請(qǐng)求/響應(yīng)模型。Flex為異步處理用戶請(qǐng)求提供完整的支持。異步處理支持Web站點(diǎn)脫離以頁(yè)面為中心的模型,這種模型在收到每個(gè)用戶請(qǐng)求時(shí)都會(huì)刷新頁(yè)面。
◆二進(jìn)制數(shù)據(jù)通信
Flex優(yōu)勢(shì)之三,它為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í)共享庫(kù)(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ù),這在接下來(lái)的會(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)
另外一個(gè)Flex優(yōu)勢(shì)是對(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為組件開發(fā)提供一個(gè)健壯的框架,并且包含許多為開發(fā)人員提供便利的開箱即用組件。這有助于實(shí)現(xiàn)快速開發(fā)和交付項(xiàng)目。
◆調(diào)試和編輯器支持
Adobe開發(fā)了一個(gè)健壯的、基于Eclipse的編輯器FlexBuilder,它大大簡(jiǎn)化了Flex應(yīng)用程序的開發(fā)和調(diào)試。這是一個(gè)非常明智的決策。
這些強(qiáng)大的特性讓Flex成為創(chuàng)建UI的最佳工具之一,不管現(xiàn)在還是將來(lái)。使用Flex進(jìn)行開發(fā)的另一個(gè)好處是:您可以通過(guò)組合和重用已經(jīng)構(gòu)建好的組件創(chuàng)建一些有趣的解決方案,這非常符合Web2.0的精神。不過(guò),如果您希望從頭構(gòu)建新的定制組件,那么就要困難得多。Flex提供的強(qiáng)大特性可能會(huì)鼓動(dòng)您去創(chuàng)建復(fù)雜完美的組件,讓它們實(shí)現(xiàn)專屬于桌面應(yīng)用程序(使用openGL等庫(kù)構(gòu)建)的優(yōu)勢(shì)。考慮以ElectronicArts賽車游戲NeedforSpeed為模板,在Web上編寫一個(gè)游戲引擎的可能性。或者使用現(xiàn)實(shí)中的數(shù)據(jù)流和鏈接構(gòu)建一個(gè)ISP拓?fù)洹N蚁嘈牛磥?lái)Flex將實(shí)現(xiàn)這些應(yīng)用程序以及許多其他類似的應(yīng)用程序,但是目前的需求和工具都還不太成熟。不管如何,企業(yè)的業(yè)務(wù)依賴于基于Web的UI,并且能夠大大受益于Flex提供的強(qiáng)大功能。
【編輯推薦】