最近業界對 HTML5 展開了大量的討論。以 Google Wave 為代表的產品,已經實現了 HTML5 的部分功能,其他諸如 Opera 這樣的公司,更加直白的認為基于插件的 RIA 產品將會成為多余。在本文中,我不想去比較 Flex ( SL 、 JavaFX 不做討論)和 HTML5 的種種,我認為他們的目標市場是不一樣的,我的觀點是 Flex 這樣的產品不會被代替,國外也在進行相關投票,參考“ HTML 5, are Flash, Silverlight, and JavaFX in trouble? ” 。
從 2004 年我的 第一篇關于 RIA 的文章(上 、 下 )開始我就已經認定 Flex 是未來的趨勢,誠然那時才從學校出來水平很低,文章寫得很爛。也許是 Flex 機遇問題也許我蒙對了,縱觀近 5 年 Flex(AIR) 的發展,速度是相當的快,可以參考 riameeting 的 “ Adobe AIR 現在的安裝量已經超過了 2 億次” 還可以參考 7yue 最近寫的 “ HTML5 與 Flash ,不得不談的話題” ,以及他附贈的插圖:
???
當然,現有的成就不代表 Flex 是萬金油人人都可以隨意使用,下面提出 5 點問題。
-
應用場合
“Flex 和 AIR 不適合你的 5 個理由” 一文中詳細說明了什么場合下不宜使用 Flex ,后面那位朋友的評論更加精彩。
-
編譯器性能
如果上面的某些理由比較牽強的話,那么下面的缺陷是實實在在的了,在“ Flash Builder, Linux and Winning the RIA War ” 中,作者指出了編譯器方面的問題,比如對于一個大型的項目,修改一個地方重新編譯竟然需要 5 分鐘,在我的實際應用中,編譯后大小約 700K 的項目,在修改源碼重編時有明顯的延遲感,相當難受,不得不盯著右下的進度條。
-
操作系統支持
再有就是 Linux 平臺的支持,盡管官方說 Linux 下的市場很小,不過開源社區的力量不能忽視,在 Adobe Bug System 上有“ Flex Builder on Linux ” 的 Feature Request ,看來大家都希望能在 Linux 上開發 Flex , Adobe 的 CEO 、 VP 們,請繼續支持 Linux 吧。
4 、令人討厭的 Bug
經常使用 Flex 進行開發,如果遇到某些地方用起來奇怪的時候,這時可直接判斷其為 Flex Bug 。話說上周五測試提交了一個問題給我:選擇一個日期然后再選擇相同的日期后文本框內的日期被清空了( PS: 我們用的是 Flex 2 的 SDK )。好吧,主觀感受這就是一個 Bug ,不是我,而是 Flex 的 Bug 。 隨后 在這里找到了答案“ Flex 3 DateField does not clear selected date when it is clicked ” ,根據 Joann Chuang Anderson 同學的回答,可知這是 Flex 2 的 Bug ,但是這位可愛的用戶卻認為 Flex 3 沒有這項功能而專門提個 Bug ,更搞笑的是 Flex 3 還專門“ For consistency, now you CTRL + Click to deselect the date.” ,讓人哭笑不得。遺憾的是,像這樣的小 Bug 能經常被發現。
5 、易用性
界面上的文字不能隨意復制,用慣了 HTML ,想把上面的標題或者某些內容復制下來是相當的方便,還有圖片內容無法另存為,等等……(就算是目標市場不一樣,也得迎合部分來自于 HTML 中的使用習慣吧?)
Flex 下一步會怎樣?不錯, Flex 4 要出來了, Flex Builder 3 也將被 Flash Builder 4 替代,在“ 了解 Flash Catalyst ” 一文中展示了如何消除 UI 和開發人員之間的障礙。更多關于 Flex 4 和 Flex Builder 4 的消息可關注 RIAMeeting 網站。對于 HTM5 , Adobe CEO 在其 quarterly financial call 上表示(譯文來自于 InfoQ China ):
“此標準能夠增進Web內容的變革及一致性,從工具角度來講,我們非常支持。我們的工具將支持創建和管理這一層次上的HTML內容。
我認為 HTML5 受到越來越多的關注,表明 RIA 實現及提供具有吸引力的用戶體驗對我們的客戶來說越來越重要了。我覺得對于 HTML5 來說,挑戰仍然是跨瀏覽器如何保持 HTML5 顯示一致這一問題。……
因此,隨 HTML5 的發展,我們將在我們的 web 著作工具中對其提供支持。但是從持續推動 Flash 及圍繞 Flash 和 RIA 的變革角度來看,我們仍認為瀏覽器的分裂實際上使得 Flash 更加重要了。”
更完整的 InfoQ 報道可參考“ Google Wave 加速 HTML5 發展? ”一文。 Adobe 也開放了其 RTMP 規范 ,看起來 Adobe 正在熱情的報答開放社區的支持,之前我在寫“ Ajax 輪詢以及 Comet 模式—寫在 Servlet 3.0 發布之前 ”一文中提到了關于消息實時性的問題,到目前為止何時融入到自己的開源產品我認為只是時間問題。 Adobe 制定了野心勃勃的 Flash Platform ,這個平臺包括了 Flash Player 、 AIR 、 Flex 、 Flex Builder(Flash Builder) 、 Flash Professional 、 Flash Media Server 、 BlazeDS 。基于這一平臺,今年 Adobe 又宣布了“ Open Screen Project ” 項目,旨在利用現有的平臺為 Web 、桌面、手機、電視以及其他的消費類電子產品提供統一的運行時環境,并聯合 Nokia 為開發者提供了 1 千萬美元的獎勵基金。貌似 Java 之前也有這種雄心,不過目前看來并不成功,希望 Adobe 不要重蹈覆轍。
最后,再來看看 HTML5 ,“ Google Wave 加速 HTML5 發展? ”一文中,看官們的回復比文章本身更重要,大家的回復揭示了: HTML5 標準的推出尚需時日,而 Google 就急急忙忙的宣布自己的 HTML5 實現是為了占領市場,肯定要為自己的 Chrome 掃清規范障礙;而 Opera CEO 的言辭我就沒搞懂是何意圖了,規范是由幾家公司共同制定的,而這些公司之間的關系很微妙, Opera 是站在哪邊呢?還是跟著 Google 叫好?還是多關心下自己吧。至于 FF 和 Safari ,比較低調,默默的做著自己的事情,而微軟則提出了精簡 HTML 5 規范……
一流企業做規范,二流企業……這些都是老生常談,在 HTML5 規范的多方角力中,最終會有個結論,但別忘了 Adobe 也是 HTML5 規范參與者之一。
參考資料
廣告
介紹一成都外企—— 活躍網絡 ,該公司有一定知名度,是 QCon Beijing 2009 贊助商之一,這是他們的 黑板報 。根據我的初步了解不是那種所謂的“海歸外企”,看他們的 招聘信息 ,對英語要求,所以如果你有一定的 Java Flex 經驗并且英語過關不妨一試吧。為什么要宣傳這個公司,是因為成都的外企少之又少,遇到一個招 Flex 的外企,可謂 罕見 !故此友情宣傳一把。
請注意!引用、轉貼本文應注明原作者:Rosen Jiang 以及出處: http://www.aygfsteel.com/rosen