HTML5 vs.原生,世界究竟是誰的?
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這道風口,隨之起飛?不妨說出你的觀點,我們洗耳恭聽。
via:SDTime
相關文章
- 究竟是誰助長了遊戲圈的戾氣?遊戲
- HTML5培訓究竟是學的什麼?HTML
- HTML5定稿了,為什麼原生App世界將被顛覆HTMLAPP
- HTML5定稿了 為什麼原生App世界將被顛覆HTMLAPP
- 究竟是誰殺死了中科紅旗Linux?Linux
- AngularJS vs. jQuery,看看誰更勝一籌AngularJSjQuery
- 究竟是誰負了誰,來自底層測試的2022年終總結
- Spark 對戰 OushuDB !究竟是誰快出幾十倍?Spark
- Airflow vs. Luigi vs. Argo vs. MLFlow vs. KubeFlowAIUIGo
- Android 世界中,誰喊醒了 Zygote ?AndroidGo
- HTML5將重塑Web世界?HTMLWeb
- FPGA vs. ASIC,誰將引領移動端人工智慧硬體的潮流?FPGA人工智慧
- 我的世界Minecraft for Mac(沙盒遊戲)原生版RaftMac遊戲
- 先行邁入《黑客帝國》的世界?英偉達的 Omniverse 構想究竟是什麼?黑客
- MVC vs. MVP vs. MVVMMVCMVPMVVM
- HTML5原生WebGL開發系列教程HTMLWeb
- Node.js vs. Spring Boot:Hello World 效能對決,誰更快一點?Node.jsSpring Boot
- 談996.ICU事件:究竟是誰剝奪了程式設計師的權益?996事件程式設計師
- 雲端計算之路-阿里雲上:神奇的“黑色30秒”再次出現,究竟是誰的錯?阿里
- 【HTML5初探之多媒體元素】視訊播放HTML5、Flash誰才是王道?HTML
- 誰告訴你 Flutter 會幹掉原生開發?Flutter
- HTML5原生拖拽/拖放 Drag & Drop 詳解HTML
- [譯] W3C vs. WhatWG HTML5 標準 – 差異記錄HTML
- git revert .vs. git reset .vs. git rebaseGit
- String.format VS. StrSubstitutor VS. NamedParameterJdbcTemplateORMJDBC
- HTML5的效能不輸原生app 可以用拼積木的方式做HTML5產品HTMLAPP
- 搞懂:資料科學vs.機器學習vs.資料分析vs.商業分析資料科學機器學習
- Java 下的 JSON庫效能比較:JSON.simple vs. GSON vs. Jackson vs. JSONPJavaJSON
- Flutter 究竟是如何渲染的?Flutter
- HTML5遊戲開發進階 2 :建立基本的遊戲世界HTML遊戲開發
- 誰說開放世界只能做成單機?這款開放世界多人網路手遊它來啦!
- HTMLCollection vs. NodeListHTML
- PostgreSQL vs. MySQLMySql
- AutoIt vs. QTPQT
- 優秀的開發者 vs. 糟糕的開發者
- Perl 6 中的 Roles Vs. ProtocolProtocol
- HTML5將重塑Web世界?,網際網路營銷HTMLWeb
- J2EE vs. NET, Java vs. C#:比較公正的評價 (轉)JavaC#