HTML5在近兩年里可算是出盡了風頭,無論是去年10月底的規范定稿,還是今年年初驚爆業內的微信開放JS SDK,亦或是騰訊、百度、360、搜狐等互聯網巨頭之間的布局爭奪。這一切的一切似乎都在預示著HTML5將要給移動互聯網界帶來顛覆性變革。
也許以后,HTML5真的會重新定義移動互聯網的黃金時代。但在此之前,當你準備開發一款應用時,切不可只一味的追尋別人所尊崇的技術,最重要的還是要搞清楚自己的整體需求。其中最為關鍵的問題包括“應用的受眾是哪些?”、“用戶想要獲得的是什么?”,以及“吸引客戶最好的策略是什么?”。其實,總的來說也就是兩點:移動用戶體驗,勞動和資本投資需求。
既然有如此多的顧慮,那么總要選擇最適合自己的開發方式。關于這個問題其實早就有各種分析,而這次我們再整體性的探索Web、原生以及混合應用開發之間的歷史淵源。
Web應用:最小化成本,更新敏捷性
別看現在的HTML5風光無限,其實它的發展道路也是讓人不勝唏噓。自出生到去年規范的塵埃落定,長達8年的長跑真心不容易。其中最大的慘敗要數2012年的Facebook事件,當時Facebook CEO扎克伯格怒言“押注HTML5是Facebook最大失誤”,進而轉戰原生應用,這讓支持HTML5的人受到了不小的打擊。
還好,HTML5依然挺了過來,相繼也出現了各種HTML5開發框架和游戲開發引擎。再加上,前段時間YouTube替換Flash,正式默認使用HTML5視頻播放器,著實讓HTML5好好的揚眉吐氣了。一件事物能受歡迎,總歸有受歡迎的理由。那么,HTML5又有那些優勢?
?“一次編寫,隨處運行”。大多數瀏覽器都有著相同的運行方式,一個應用幾乎可以在所有瀏覽器上運行,不像限定于只能在某一系統下運行的原生應用。對于用戶來說,“一次編寫,隨處運行”的HTML5應用意味著應用的連續性,即不管是哪個操作系統都可以運行使用應用程序。
?允許應用不斷更新。HTML5還允許不斷更新,開發者不需要再將新應用提交給應用商店等待批準。每次用戶登錄到該web應用時,都將獲得應用最新版本。
以上兩點都是眾所周知的,其實最主要的原因還是應用開發的成本問題。相較原生應用,能夠隨處運行的HTML5,單在移植方面就省下了不少銀子。而且,面對新平臺,無需高價聘請專業人士或培養現有的人員去重新學習,先前的Web技術人員就可以直接使用。
原生應用:最大化性能和用戶體驗
原生應用的歷史要比Web應用悠久的多,如地址簿、日歷和計算器等默認自帶的應用程序及可用的Web連接在很早以前就出現在移動設備上,1998年風靡全球的諾基亞經典游戲貪吃蛇就是典型之一。就平均而言,如今開發者采用最廣泛的開發方法仍是原生應用開發。雖然HTML5風頭正勝,但擁有強大性能及高品質用戶體驗的原生應用能占據大頭也不足為奇。
相對Web應用,原生應用最大的優勢就是可以訪問設備中的所有功能,運行的速度更快、性能更高,而且可以啟用優秀的離線處理和存儲能力。不過,別只關注它的優勢,若想要維持原生開發絕對是個不小的挑戰。它的最大問題就是支持的設備非常有限,想要移植到其他平臺就得準備好更多的預算。此外,還有審核過程的不一導致上線時間不確定,以及獲得新版本時還需重新下載應用更新。
如果,你做應用之前的預算是沒有太多限制的話,只采用原生方法的團隊所開發的應用質量,絕對要比其他團隊高質的多。不過現實就是現實,很少有開發商的資金是源源不斷的。
混合應用填補空白
所謂混合應用,顧名思義,就是原生和Web應用的結合體,自然也就繼承了兩者的優缺點。換句話說,相當于利用Web開發技術編寫的原生應用,如HTML5、CSS、JavaScript都是進入原生容器(Native Container)的比較常用的語言,原生應用包含了一個鏈接到HTML文件的WebView隱藏瀏覽器。
總的來說,混合應用也是蠻有魅力的,開發者可以自由調配其中原生和Web的比例。它的好處也很多:
?跨平臺優勢,既省錢又省時間,同時還是創意付諸實踐的最佳捷徑。
?Web開發者不論水平如何,只需經過短期培訓就能成為合格的混合應用開發者。
以上的兩點都表明了混合應用對成本的節省,也算是它繼承Web的一大優點。不過,混合應用的性能終究還是比不過原生應用,如果其中摻入了太多的Web技術,還是會減緩應用的運行速度。但隨著技術的不斷提升,混合應用開發也在水漲船高,在不斷的尋找在獲得優秀用戶體驗的同時,盡力降低開發成本。
定睛2015,你是HTML5還是原生應用?
對于移動互聯網未來的發展走向,沒有人能夠進行準確的預測,其中存在很多的變量。都說HTML5的時代真的來了,但是總覺得HTML5與原生應用之間并不存在激烈的競爭替代關系。各自有各自的優缺點,最終選擇何種方式還是取決于自己項目的需求。而作為妥協存在的混合應用,倒也是不錯的選擇。
也許在2015年,HTML5真的會打造出一個更進一步的移動生態圈,不過最終結果如何還是取決于開發者,畢竟開發者在移動互聯網發展中起著核心作用。你是選擇原始的開發形式還是獨辟蹊徑的去探尋新的道路,亦或借助HTML5這道風口,隨之起飛?不妨說出你的觀點,我們洗耳恭聽。