由於工作關係,對javascript+html和flex這兩種表現層技術都有一段時間的使用。對於這2種技術孰優孰劣一直是爭論的熱點,我只是根據自己的體會,發表一下自己的看法。
- 易上手度 對於完全沒有開發經驗的新手來說是差不多的,可能js+html的方式看起來更簡單。但是對有一定經驗的開發人員(比如寫過背景程式,但沒有寫過前景程式的開發人員),實際上flex更容易上手。首先,flex官方的開發文檔就非常全面和細緻,包括flex開發,as3開發,air開發等等。而網上可下載的體系完善的javascript開發手冊比較少,基本上就是《網頁製作完全手冊》和《JavaScript使用手冊》還算比較實用。但是那些基於js開發的ajax組件庫的文檔就有好有差,yui的文檔還是不錯的,像rico就差多了。
結論 易上手度flex > javascript+html
- 組件可用度 如果沒有其他組件庫的支援,結果是顯而易見的。Js沒有自己的combobox,沒有tabnavition,沒有tree,沒有。。。。。一句話,除了最簡單的input,js啥都沒有。當然,在加了ext或者yui或者dojo之後,這些組件都有了。有時間這些都可以自己寫,但是項目當前,那輪得到你慢悠悠地折騰呢。
結論 組件可用度flex >= javascript+html
- IDE支援 在開發工具的支援上,差別就大了。FlexBuilder支援代碼提示,編譯檢查,圖形介面,debug調試。而js開發我沒找到什麼好用的工具,基本上還是用記事本編寫。2者開發效率差好多啊。
結論 IDE支援 flex > javascript+html
- 深入開發 Flex是基於as3的開發架構。As3兼具java的嚴謹和js的靈活,相比js一個明顯的優勢可以使用繼承和介面,方便運用各種設計模式構建強大的程式架構(當然js也有繼承,不過感覺有點怪)。Flex開放的源碼,讓開發人員更容易瞭解細節,也更容易在各個層次上做擴充。總之它能讓你更少的代價,做更多事,同時也學到更多東西。
結論 深入開發flex > javascript+html
- 跨瀏覽器支援 相信做過web頁面的人都曾經深受其害,即使使用了自稱支援跨瀏覽器的js組件,依舊偶爾會碰到瀏覽器不支援的問題。工作量未知增加了1倍以上,哭啊。。。。。。而flex的跨瀏覽器支援的確好很多,雖然某些特性上在不同瀏覽器上還是有區別,但是基本沒什麼影響。
結論 跨瀏覽器支援 flex > javascript+html