標籤:html5 native-app hybrid 原生應用
副標題是移動開發技術之思考
公司各部門都在“高價”招HTML5開發人員,而且多數是針對移動終端的。輿論氛圍高漲,不得不讓我對行動裝置 App開發技術再進行一些思考了。
時間回到了2011年,這一年可謂是HTML5的開局年。各大技術新聞,論壇等等宣傳渠道中都被HTML5充斥著,混雜著,喧鬧著。一副HTML5捨我其誰的勢頭,一發不可收拾。但我的感覺卻是雷聲大雨點小,因為那一時期的HTML5技術尚未成熟,標準也沒出台,所以就當它是造勢階段,並沒有給予重要關注。那時的偉仔是個快樂的移動開發人員,括弧,原生應用開發人員,棄WM平台轉向Android兩年有餘。
原生應用的好處不言而喻,它可以最大程度的發揮裝置的速度與效能,並將系統平台的獨特性輕鬆展現,對硬體的無障礙控制更加豐富應用的使用情境,可以說這是行動裝置 App開發的不二之選。
HTML5作為RIA(互連網富用戶端)的一種實踐路徑,可以做出很炫的介面效果,它的最大優勢是跨平台。它只要關注跑在各個瀏覽器中的效果而不去刻意對待你是Android還是iOS。
原生應用的優點是H5的缺點,反之亦然。
再拋出一個小問題:跨平台性對於行動裝置 App就那麼重要嗎?
2015年第一季度全球智能手機市場份額是:
Android 78.9%iOS 17.9%WP 2.5%BlackBerry 0.4%Other 0.4%
主流四大手機作業系統,按照市場份額來說,你至少需要開發Android和iOS兩個系統的app,對於那些大廠,WP也是要支援的。按照慣例,每個移動平台都會有自己的Team Dev對應。養一個團隊的成本是很高的,從公司層面來說,針對各移動平台開發一款行動裝置 App的成本太高了,如果有一個應用適應多個平台的方案就好了。
人類對跨平台的探索從來沒有止步。
時間又回到了2015年,經過4年的發展,H5終於慢慢登上舞台了。有些公司開始著手用H5這個web前端技術去開發一個萬金油的應用,不論其結果是成果還是失敗,H5向前邁出了很重要的一步,它要動原生應用的蛋糕了。
這讓我想起了幾年前蘋果的一件事兒。
喬幫主是大力支援HTML5技術的,而他也果斷放棄iOS對Flash的支援。他說:“沒有人願意使用Flash,全球已經開始步入HTML5時代”。當蘋果大力支援H5的時候,人們不禁去想,當開發人員都去用H5開發應用了,蘋果的app store裡的原生應用就會少了,那麼蘋果的收入就會減少(app store裡禁止純web app發布)。這看起來好像H5的發展會影響蘋果的利益。喬幫主是怎樣想的,不得而知。然而從這幾年的發展看,H5並沒有對app store中原生應用產生影響。
目前業內的方案有兩套:
一是財大氣粗型。大公司都會為了使用者體驗而推出原生應用版,而作為補充還是會推出移動web版。
二是混合動力型。為了節約成本,公司會儘力去做資源複用。那麼很多簡單的模組會用H5去做,然後嵌入到原生應用中。這樣的hybrid app也成了目前的主流方案。
那麼移動開發技術就出現了三國鼎立的局面:native app、web app、hybrid app。
引入偉仔的一篇微薄:
汽車領域和移動開發領域的相似性:原來汽車是燒油的,這叫原生汽車;然後出現油電混動,這叫hybrid car;令一個就是目前較火的純電動車。移動開發原來都是基於各系統的SDK開發,這是原生app;然後html5要推純web app去跨平台;由於各有利弊,目前混合應用也較多,這是hybrid app。什麼時候純電動能夠完全替代燒油車?什麼時候web app完全替代原生app?原生開發人員真的就不值錢了嗎?
偉仔的這篇微薄以三個問號結尾,偉仔自己先做一個回答。
第一個真不好說。
第二個我覺得應該是永遠不會。因為世界需要差異化,每個作業系統的存在都會有自己的特色,而這些特色只有原生應用才能充分發揮出來。除非世界上的作業系統被Web統一了,人們只需要一個瀏覽器就可以了。
第三個的回答是否定的。
就像對本文標題的回答是否定的一樣,我是站在原生應用這一邊的。我認為原生應用開發人員仍然很值錢。首先,原生應用開發的市場前景仍然看好。其次,即使真的都用web app了,那麼團隊中仍然需要懂不同操作的專家存在。除非世界被Web統治了。
參考:
http://www.missyuan.net/school/web_2012/web_9205.html
http://www.ibm.com/developerworks/cn/web/lp/html5/develop.html
IT癡漢的工作現狀33-HTML5的春天是原生App的冬天?