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