Google版Flash-Native Client:前路漫漫
ActiveX有什么問題?僅支持IE,以及允許執行不設防的本地代碼帶來的不安全性,或導致瀏覽器崩潰。不安全性實際上是個技術問題, 而Chrome的沙箱機制很好的解決了它。那么剩下的就是瀏覽器支持能力了。
如果Native Client支持所有的Chrome版本(Windows/Mac/ChromeOS),那么他肯定是類似.net或者java之類的技術,只要 Google樂意,也是可以跨瀏覽器執行的,就像Flash那樣。那么他就是一個更好的Flash。拋棄了Flash向前兼容的累贅,追求更好的效率。
那么,既然微軟的Silverlight沒有成功,Google手里有什么王牌來對抗Flash?
看看Flash的優勢吧。
1.完整的桌面跨平臺支持(雖然Linux下還不怎么樣),高裝機率
以Google的技術實力,讓NaCl支持所有Chrome瀏覽器毫無問題。Chrome用戶不用像下載Flash那樣下載NaCl支持,打開一個用NaCl編寫的網頁應用就可以立即使用。(相比來說即使我用IE也需要手動下載Silverlight,這里該說微軟厚道呢還是傻呢)Google完全可以先在Chrome上獲得成功,再進軍其他瀏覽器。
2.Flash已經積累了大量應用,大量開發者
這正是Silverlight的死穴。Google邀請了許多“***開發者”開發基于NaCl游戲;其他開發者看到利好也會加入進來。這是個聰明的決策,不過這是否能吸引小開發者還單說。畢竟熟悉一個新平臺需要很多時間和資源;除非有足夠的利好,小開發者不會輕易從Flash轉出。
3.Flash的圖形開發極其簡單。
筆者目前不太清楚NaCl的開發難度如何,不過可以猜測大概是類似Java的形式,并提供更易用的圖形接口。不過這肯定比不上Flash。Flash是專為動畫設計,UI開發速度極快,很容易實現一些復雜的動畫效果。
NaCl目前只有一個優勢:速度。目前還不能夠確定速度能提升多少,考慮到不需要像Flash那樣向前兼容也不需要為動畫開發專門設計,其在2D動畫方面 應該具有明顯性能優勢,內存占用和純代碼執行速度會更快。這都對大型項目(比如復雜的網頁游戲)有充分的吸引力。不過另一個問題是,當一個項目復雜到 Flash已經無法滿足其需求,而且開發者也不在乎付出如此多的時間和資源來切換到一個新的環境,這個項目為什么還要內嵌在網頁中呢?即,他對除了 ChromeOS之外的瀏覽器平臺有什么吸引力呢?
長路漫漫。Adobe不會輕言放棄,NaCl也無法像蘋果對諾基亞那樣摧枯拉朽。NaCl注定在夾縫中——桌面和Flash插件的夾縫中生存,前路不明朗但畢竟有一絲陽光,能否成功就要看自己的造化了。
【編輯推薦】