Web技術在TPApp中不斷的官網應用和發展。從錢包功能下載機到智能機,從k-java到移動App,從WebBrowser到Webkit,我們可以將Web技術在Native App中的發展分為5個階段,內置、嵌入、橋接、混合、融合。

一、內置自定義Web容器時代

2010年之前,那時還是feature phone為主流的時代,硬件配置低,系統功能弱,手機應用以內置為主。但SP業務已得到長足的發展,用户需要動態獲取內容來滿足資訊和娛樂的需求。這個時期Web技術在Native應用中的使用方式是Native應用開發商與瀏覽器廠商合作,在應用中內置某個廠商的瀏覽器引擎,作為Web的執行容器。應用從服務器端動態下載web文件,解壓後交給Web容器離線運行。內容和功能都很簡單,通常就是圖片+文字的排版,以及按鍵交互。形式如圖書、雜誌、小遊戲以及小工具等。這類需求也驅動了當時一些主流瀏覽器廠商去思考瀏覽器的在傳統價值以外的作用,並積極參與到W3C Widget規範的制訂。這一時期也是移動瀏覽器廠商的黃金時代。

二、嵌入系統Webview時代

2010年,Android系統在國內興起,iPhone也逐漸普及,以Android和iOS為主的原生應用生態系統開始不斷的培養用户到AppStore下載應用,以及以獨立App作為入口的使用習慣。這一時期App開發需求也逐漸增長,但是競爭還不算激烈。客户可以接受原生的開發成本和週期。應用開發商利潤豐厚,開發者紛紛開始學習Android和iOS App開發。系統自帶瀏覽器的功能和性能已經超過當時的第三方瀏覽器。在App中通過嵌入系統Webview來展示本地或服務器端的界面已經比較常見。這一時期Web技術的應用以內容展示為主,所能完成的功能被限制在標準瀏覽器支持的範圍內。而傳統瀏覽器廠商依靠Lisence收費的商業模式終結,並且逐漸淡出市場。

三、Webview的橋接擴展時代

2011年, Android和iOS在手機系統中逐漸已經佔據了統治地位。App開發需求迅速增長,競爭加劇,原生開發人員供不應求,客户開始考慮成本和週期,開發商開始考慮效率和利潤。開發者開始思考Webview在展示內容之外是否還可以完成部分App功能。由於系統內置的都是Webkit引擎,支持標準的Web技術,並且支持開放擴展。國內外以Phone Gap為代表的廠商開始了對Webview的橋接擴展,並且形成一套完整的調用機制,在JS中可以任意調用原生接口。

TP下載:tekon.app官網NativeAPP進入融合Web技術_App

這種橋接擴展主要集中於設備功能,提供的是一種能力,但是更多具體的映射還需要開發者自己來完成。由於沒有涉及窗口系統、交互響應、動畫效果,事件管理以及應用生命週期管理等的擴展,所以雖然開發出的App基本功能可以滿足需求,但是性能和體驗太差。此時通過Webview+橋接擴展的方式,原生工程師和Web工程師一起協作已經可以完成一款 App的開發了。這一時期標準Web技術(HTML,CSS,JS)和橋接擴展機制在移動App中的使用趨勢也造成了一批傳統的使用非標準web技術(自定義XML標籤和JS語法)的移動中間件廠商的消亡。

四、移動應用開發平台的Hybrid App時代

從2012年開始,App創業火爆,App需求持續增長,有了更多的應用場景和行業結合:LBS,IoT,O2O,社交、視頻等等。一方面是使用HTML+CSS進行界面佈局存在Dom樹更新及單層渲染的性能問題,而且標準JavaScript規範支持的能力非常有限,需要大量的擴展來滿足行業需求;另一方面是原生開發模式成本高、效率低,行業呼喚更高效的跨平台開發模式。

這一時期,國內外跨平台技術也是層出不窮,不斷涌現出新的產品,但我們可以其他們分為兩類:

  • 一類是繼續堅持使用HTML+CSS進行界面佈局,通過對頁面渲染進行優化和對標準JS進行原生擴展來實現跨平台App開發。
  • 另一類是放棄使用HTML+CSS的界面佈局,選擇一種第三方的中間語言(如JS,C#等)來映射成Android和iOS的系統調用,從而實現跨平台。這種方式的界面佈局需要通過中間語言組合系統UI組件來完成,目前看渲染性能是比HTML+CSS的方式要好些,但這樣也失去了HTML+CSS佈局的標準性和靈活便捷。

TP下載:tekon.app官網NativeAPP進入融合Web技術_App_02

本文探討的主要是Web技術在App中的發展過程,不可能沒有HTML和CSS,所以這裏我們將集中討論第一類的跨平台產品(Web+Native混合)。像React Native雖然他所選擇的第三方語言是JS,但是他也可以選擇其他語言,由於HTML和CSS已經不是其界面佈局的方式,所以我認為其已經脱離了標準的Web的技術,這裏不再過多討論。

此時國內HTML5也逐漸火熱,大量的Web程序員期待進入Native App的開發領域。此時,面向Web工程師的移動應用開發平台(Web+Native混合)開始出現,提供了一站式的跨平台App開發和管理服務,形成了一種新的Web技術與Native App相結合的模式。

TP下載:tekon.app官網NativeAPP進入融合Web技術_Web_03

Hybrid App是一個以Web技術為主的Native App開發模式,開發者不需要具備任何的Native技能,使用標準的web技術,通過調用平台的擴展API,就可以開發出獨立的跨平台App。並且能保證App的功能、性能和體驗。