迎接 RIA 時代的來臨(下)

來源:互聯網
上載者:User

RIA方案—基於Flash的Flex

Flex簡介
        Macromedia公司被公認為新興的RIA市場的領導者。今天98%的瀏覽器上都使用Macromedia Flash用戶端軟體,因此幾乎每個人都可以使用基於Flash的RIA。Macromedia Flex是Macromedia的新伺服器產品,它使公司專屬應用程式程式開發人員能夠全面訪問RIA的功能。Flex具有基於標準的架構,與當前企業開發人員的工具、方法和設計模式互補。

        Flex應用程式與傳統的HTML應用程式的主要區別在於Flex應用程式處理最適合在用戶端運行,如欄位校正、資料格式、分類、過濾、工具提示、合成視頻、行為及效果等。Flex 可使開發人員更好地交付應用程式,這種應用程式使使用者可以迅速反應、在不同狀態與顯示間流暢過渡,並提供毫無中斷的連續的工作流程。

                 

                                                 Flex 應用程式架構

如所示,Flex應用程式架構由MXML、ActionScript 2.0及Flex類庫構成。開發人員利用 MXML及ActionScript 2.0編寫Flex應用程式。利用MXML定義應用程式使用者介面元素,利用ActionScript 2.0定義客戶邏輯與程式控制。Flex類庫中包括Flex組件、管理器及行為等。利用基於Flex 組件的開發模型,開發人員可在程式中加入預建的組件、建立新群組件或是將預建的組件加入複合組件中。

        這裡重點介紹一下MXML。與HTML一樣,都是標記語言,它描述了反映內容與功能的使用者介面。與HTML不同的是,MXML 可對錶示層邏輯與使用者介面和伺服器端資料繫結提供聲明抽象。MXML可將表示與商務邏輯的問題徹底分開,以實現最大程度地提高開發人員的生產率及應用程式的重複使用率。

        Flex的不足
        目前Macromedia最新推出了Flex 1.0 Updater,但它代號為“Brady”的IDE還沒有正式推出,目前還在進行Beta 3測試。拋開IDE不說,筆者認為Flex目前還很不成熟,還不利於在實際項目中使用。

        例如,Flex內建的ZipCodeValidator,裡面只提供了美國和加拿大的郵編規則,沒有其他選擇,也無法個人化它。看來只有自己來定義Validator了,但這樣一來,和在JS中寫Regex有什麼區別(代碼量和JS差不多)?使用者需要的是國際化的ZipCodeValidator,這樣才能提高工作效率。

        一句話概括
        現在的Flex才是1.0版本,很多地方都不完善,只好自訂才能完成特定的要求。期待著Brady以及Flex後續版本的推出!

RIA方案—基於JS的Bindows

Bindows簡介
    “Bindows把JavaScript發揮到了第九層!”——網友這樣評價Bindows。

                

                             運行中的Bindows

    的確如此,Erik等編寫這個架構已經將JavaScript的OOP和基於IE6的DHTML發揮到極點!Bindows 0.93發布的時候已經將IE內建的功能開發得淋漓盡致了,包括Filter、XMLHTTP、Web Service、VML。JavaScript用於用戶端介面的顯示和處理,XMLHTTP用於用戶端與伺服器的資訊傳輸。JavaScript在用戶端的表現力不容置疑,看看www.bindows.net所表示出來的能力,利用JavaScript幾乎可以實現Windows應用程式所能乾的大部分事情,XMLHTTP一直以來常被用於實現“無重新整理”的Web頁面,它和JavaScript配合,可以完成資料從伺服器和用戶端的傳輸。
   
    Bindows的不足
    Erik喜歡那種一次全部載入的方式來實現指令碼庫,使用過Bindows會發現,在視窗的載入期,需要一個漫長的等待過程,甚至瀏覽器的進程會產生無響應的情況。按照V0.93,指令檔的大小是600多K,在一個普通的Web應用中,我們更多時候不會用到Bindows的全部功能,這點Bindows根本沒有遵循“用多少去多少”的準則。另外,過多的JS會使CPU佔用率陡然增加,產生潛在問題。

    內部大量利用了IE6的技術,沒有考慮到非微軟平台的瀏覽器,限制了Bindows的流行。在圖表方面,大量採用了VML技術,在IE5,IE5.5這兩個版本,VML引擎不是那麼的成熟,很多地方的顯示不夠流暢,會受到頻寬和硬體的限制,過分絢麗的圖形最終會給使用者帶來崩潰。“圖形方面我是採用VML的,當初太偏執,如果使用SVG來實現可能好許多的,也就是那段日子,我花了非常多的時間去折騰web方面開發。”——有網友這樣說。

    一句話概括
    在技術的角度上,從Bindows是可以學到不少東西的,但好像它的學術價值大於它的商業價值。

後 記

    興奮歸興奮,冷靜下來仔細想想,運用RIA改造現有B/S模式還為時尚早。制約我們的首先是網路環境和硬體環境的不完善性,我想沒有哪個使用者願意花大量的時間來等待想要看見的“花哨”頁面,更不願意等來的東西使自己的機器不堪重負,而換來的只是一些良好體驗吧?市場決定一切,而不是任何的新技術!其次,目前RIA的解決方案也不成熟,筆者看好Flex,可惜還需要長時間的等待才有結果。當然,還有很多RIA的方案,感覺MS的Smart Client + Web Service來頭不小。

    本文叫“迎接RIA時代的來臨”,筆者充滿了對RIA的美好憧憬,期待著有一天能夠在RIA的環境中進行虛擬現實的互動式體驗!

 

鳴 謝:RIA中國 沒有他們,我想今天也不會對RIA有如此的認識!!!

參考文獻
Flex 白皮書
IDC--RIA白皮書
迴歸C/S?解釋Bindows
迎接Client/Server模式的迴歸
Flex: RIA 的先驅,無堅不摧的銀彈?
Return of Rich Client
  

(請注意!引用、轉貼本文應註明原作者:Rosen Jiang 以及出處:http://blog.csdn.net/rosen

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.