<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    You smiled and talked to me of nothing and I felt that for this I had been waiting long.

    The trees come up to my window like the yearning voice of the dumb earth.

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      19 Posts :: 10 Stories :: 25 Comments :: 0 Trackbacks

    作者 Jon Rose譯者 張龍 發布于 2008年4月25日 上午10時7分(轉自InfoQ)

    在這篇新聞中,Adobe的James Ward與InfoQ.com一起為你帶來了Flex的另一種10大(Flex最新的10大)。Flex是一個開源的應用開發框架,用來構建運行在web(使用 Flash Player)或者桌面上(使用Adobe AIR)的富Internet應用。總之,Flex是一個強大易用的框架,但是今天讓我們瞧瞧構建Flex應用時經常犯的錯誤。

    對于Flex新手,請閱讀InfoQ最近的Adobe Flex Basics以對該框架有一個快速的了解。下面是易犯的錯誤列表:

    1. 使用RIA框架去構建Web1.0應用(新技術換湯不換藥)。

    從Web 1.0到RIA的過渡中最大的挑戰之一來自思考方式的轉變。Flex給予開發者一個高級的組件庫,使其可以完成很多以前不可能完成的任務。但是很多時候,Flex的這種能力被忽略了,它僅僅被用來實現更加傳統的Web 1.0應用。

    構建Web 2.0應用不僅僅意味著頁面的局部刷新和旋轉的圓角圖標。例如,Flex開發者應使用矢量圖向用戶提供數據的可視化表示,以及對于富應用流的高級控制。最近Stephan Janssen與InfoQ.com一起討論了該議題

    作為一個Java開發者,對于面向對象的ActionScript和UI標記語言的學習簡直就是小菜一碟。但是對于(Java)開發者來說真正的挑戰在于我們不是設計師,并且這兩個技術對于RIA來說是必不可少的。

    2. 破壞標準的瀏覽器體驗

    盡管Flex確實提供了一個優秀的平臺以改善用戶體驗,但是保持用戶習慣,如后退按鈕、書簽和自動完成也是相當重要的。

    Flex 3包含了新的深層鏈接特性以支持后退按鈕和書簽。你可以訪問labs.adobe.com來了解更多。那有很多組件能夠實現自動完成。你可以使用來自于Adobe Exchange的AutoComplete Input組件。

    3. 使用過多的容器導致應用變慢

    Flash Player使用了一個按層次顯示的對象圖,這一點與HTML的文檔對象模型(DOM)很相似。容器嵌套的層次越深,渲染所花費的時間就越長。Adobe的Flex開發者中心有一篇文章討論了關于Flex性能的最佳實踐,包括了容器的使用細節:

    Flex最大的性能風險來自于對容器的濫用。嵌套太多的容器會影響應用的性能。這是Flex開發者面臨的最嚴重的性能風險——不過還好,它完全能被避免。

    4. 使用XML而不是其他更優化的協議導致應用變慢

    Flex向開發者提供了多種選擇以在Flex客戶端和服務器之間進行數據傳輸,包括AMF3、XML、SOAP及直接的HTTP請求。Ward在他的人口普查應用中闡述了這些技術的使用及性能。

    對于后端使用Java的新項目來說,應該考慮一下BlazeDS。BlazeDS是Adobe最近的一個開源數據服務產品,它使用了AMF3協議。AMF是一個二進制傳輸協議,很容易與Java集成,其性能要優于XML。對于所有主要的后端技術都有相應的AMF開源實現。

    如果你不選擇BlazeDS,那么你還可以選擇Hessian。Hessian對二進制的web services協議提供了ActionScript/Flex支持。

    5. 試圖雇傭Flex開發者

    現在很難找到有經驗的Flex開發者。Flex現在正處在上世紀90年代Java所處的位置。Flex開發者已經供不應求了。這就造成了難以尋覓 到有經驗的Flex開發者的后果。然而,這給Java開發者創造了一個很好的機會以擴充技能,并且從事一種新興且有趣的技術。很多尋找Flex開發者的公 司直接對Java或者其他web開發者進行幾周的Flex培訓,并且大獲成功。對于熟悉Web和GUI編程的開發者來說,學習Flex語言和APIs易如 反掌。

    6. 特效的過度使用

    開發者可以很容易地通過Flash增加特效。但是要確保特效有意義并且與上下文是匹配的。否則他們只會讓用戶反感。特效的時間選擇也很重要。交互設計器可以幫助我們決定何時應使用特效,何時不應該使用。交互設計器還能為我們推薦最佳的特效類型、間隔和最簡化的功能。

    關于特效的使用在laair.org上有一篇好文:

    大多數的特效簡直太長了。它們不但長,而且還慢,甚至讓人反感。關掉它。如果我遇到這種事情的話,我就會轉身離去,因為我實在討厭這種等待。

    千萬不要誤會我,我并不是反對特效。我只是反對為了目的而做的太長或者太過分的特效。每個特效都可以依照其目的進行分解。找到你要特效的目的,然后再使用它。

    7. 沒有搭建企業生態系統

    就像其他的軟件項目一樣,為于你的Flex應用建立企業生態系統是非常重要的。

    測試驅動開發(TDD)在當前是大多數企業項目的首選方案。對于Flex來說,FlexUnit框架可用來編寫單元測試。在Adobe的開發者網絡上,Neil Webb討論了面向Flex開發者的TDD及FlexUnit的使用。此外,Flexcover可用來度量代碼覆蓋率。

    當多個開發者協同工作時,持續集成(Continuous Integration)被證明是良好的實踐。與Java應用類似,也有相應的Ant和Maven插件對你的Flex應用進行持續集成。

    8. 沒有使用整個框架

    在Adobe Flex中有大量可選的特性,你應該考慮在你的應用中使用它們。例如,運行時共享庫(Runtime Shared Libraries,即RSL)可用來減少應用的大小。

    你可以將共享資源集成到單獨的文件中,這樣就可以在客戶端單獨下載和緩存了,通過這種手段可以減少應用產生 的SWF文件的大小。很多Flex應用可以在運行時加載這些共享資源,而每個客戶端只需下載一次即可。這些共享資源叫做運行時共享庫(Runtime Shared Libraries)。

    框架的另一個特性是內建的輔助功能。你可以通過Adobe在線文檔了解更多的關于Flex的輔助功能的信息。除了內建的輔助功能外,框架還提供了對于本地化的內在支持。請訪問Adobe新手上路來了解最新的Flex3框架特性。

    9. 使用復雜的渲染器降低了DateGrid的速度

    針對DataGrid開箱即用的itemRenderer已經有過很好的優化了。誤解#3討論了嵌套過深的容器的性能問題。在Flex中有一個地 方很容易造成容器的深層次嵌套,那就是DataGrid的item渲染器。由DataGrid所渲染的item渲染器數量等于可見的行數乘以可見的列數。 定制的DataGrid和List item渲染器應該經過非常好的優化才行。當需要在item渲染器中使用復雜的布局邏輯時,最好使用UIComponent(或者其他底層類)并且手工完 成該單元格內容的定位。

    10. 沒有準備離線應用。

    RIAs的傳統模型在于瀏覽器。然而像Adobe AIRGoogle Gears這 樣的技術使得應用可以離線運行。如果用戶需要可以離線對應用時而你尚未準備好的話,那將你的應用改為支持離線特性將變得異常困難。典型地,在web應用 中,業務邏輯存在于服務器端。在離線RIAs中,業務邏輯必須轉到客戶端。為了使應用既支持離線,也支持在線,那就很有必要提前決定某些業務邏輯的位置。

    posted on 2008-10-07 09:46 鉤子 閱讀(1469) 評論(2)  編輯  收藏 所屬分類: jeeria

    Feedback

    # re: 構建Flex應用的10大誤區 2008-10-08 10:30 程序人生-天津
    這是一篇好文,受教了,里面有好多項目開發可以借鑒的東西  回復  更多評論
      

    # re: 構建Flex應用的10大誤區 2008-10-08 11:19 鉤子
    @程序人生-天津
    個人覺得還得加上一點,對于復雜的應用要采取module組合開發的形式,否則會造成編譯出來的swf過大,加載過慢的問題。  回復  更多評論
      

    主站蜘蛛池模板: 亚洲色欲www综合网| 中文在线观看免费网站| 国产亚洲精彩视频| 成人国产精品免费视频 | 西西人体大胆免费视频| 国产精品午夜免费观看网站| 999久久久免费精品播放 | 国产精品深夜福利免费观看| 在线观看亚洲av每日更新| 日韩精品亚洲人成在线观看| 久久精品国产亚洲AV天海翼| 精品一卡2卡三卡4卡免费视频| 无限动漫网在线观看免费| 亚洲国产高清在线一区二区三区| 亚洲欧洲国产日韩精品| 色天使亚洲综合一区二区| 暖暖免费日本在线中文| 日韩免费视频观看| 久久丫精品国产亚洲av| 免费无遮挡无遮羞在线看| 久久国产免费福利永久| 亚洲精品综合久久| 亚洲娇小性xxxx| 精品四虎免费观看国产高清午夜| 国产成人免费a在线视频app| 亚洲精品国产情侣av在线| 国产激情久久久久影院老熟女免费 | 免费无码又爽又刺激一高潮| 日韩电影免费在线| 亚洲国产高清美女在线观看| 国产免费播放一区二区| 国产自产拍精品视频免费看| 久久亚洲AV成人无码国产| fc2免费人成在线| 国产精品国产自线拍免费软件| 久久精品国产亚洲av麻豆小说| 久久九九久精品国产免费直播| 麻豆国产人免费人成免费视频 | 亚洲国产成人久久77| 99re6在线视频精品免费| 又爽又高潮的BB视频免费看 |