原生應用和HTML5之間到底誰更牛的爭論可以說一直就沒有斷過。在原生應用風光時,HTML5被看着是一個陷阱;而在HTML5風光時,原生應用又會被認爲是“已經死了”。隨着前兩天微信公衆平臺開放微信內網頁開發工具包,HTML5眼看着又要迎來新一波的風光期,那麼它和原生應用之間真的就是一個你死我活的關係麼?
如果我們回顧一下原生應用和Web服務在桌面操作系統上的進化歷史,就會發現,移動端的原生應用和HTML5之間的關係到底會往哪裏走,這其實是有跡可循的。
當1983年第一臺配備鼠標和圖形界面的電腦Apple Lisa出現時,超文本協議尚未誕生,網絡系統還停留在實驗室裏,電腦用戶也就用不上後來的互聯網。這個時候,在電腦操作系統之上,廠商之間的競爭自然是停留在原生應用,也就是軟件層面。
熟悉這段歷史的讀者應該不會忘記上世紀80年代微軟和蓮花軟件公司在辦公軟件領域的競爭。作爲一款在DOS時期就被廣爲使用的電子表格軟件,蓮花在80年代早期可謂紅極一時;不過最終微軟利用操作系統的優勢,憑藉Excel等Office系產品不斷奪走蓮花的市場,後者也就輸掉了這場辦公軟件競賽。在互聯網進入民用階段後,類似的案例還發生在瀏覽器領域。微軟同樣憑藉操作系統的優勢用IE瀏覽器擊敗了一度在市場上佔據主導地位的網景瀏覽器。
當然,隨着互聯網的普及,廠商在操作系統之上的競爭也開始從軟件層面蔓延到Web服務上,一些早期需要本地軟件才能完成的事情慢慢通過網絡服務也可以解決,無論是像圖片處理這樣簡單的功能還是像協同辦公這樣複雜的產品你都能找到對應的Web服務。這些競爭不但爲用戶提供了更多的選擇,也推動了整個Web技術的發展。
不過,雖然Web變得更強大了,但一個顯而易見的事實是,在桌面操作系統上,本地應用並沒有因爲Web技術的發展就被用戶拋棄了。對於一些常用的產品,用戶還是會安裝本地客戶端,以便可以即時的使用它,這並不會因爲網絡上有同類的Web服務而改變。用戶不願意在本地安裝的大多隻是那些需求頻次比較低或者更適合在瀏覽器場景下使用的產品。
當智能手機操作系統和應用生態環境進化到一個相對穩定的狀態後,用戶在手機上使用原生應用和Web服務的狀態其實會和在電腦上大致類似。
在以前,雖然HTML5經歷過快速發展期,但原生應用在移動設備上可以說是一直佔據着主導地位,這一點和目前PC端的狀態並不一致;而隨着原生應用數量的不斷增加、智能手機增長紅利的消失,這些現實環境會讓那些新誕生的低頻次需求app永遠無法獲得可觀的增長曲線和活躍度。這個時候開發者就不得不根據用戶的需求頻率和使用場景來調整產品形式,進而原生應用和HTML5產品在手機端的關係也就有望迴歸到一個和PC上類似的相對穩定狀態。
事實上,無論是在桌面端還是移動端,對於那些低頻率的需求,用戶都更傾向於通過Web服務來解決而不是專門裝一個原生應用擺在屏幕上。這也就在底部需求上決定了當前這種各類服務都傾向於做一個原生應用的思路終會遇到瓶頸,Web服務的機會總會到來。
在PC端,由於互聯網的誕生相對晚,而且配備鼠標和大屏幕的設備更方便軟件之間的自由切換,所以原生應用和Web服務一路走下來的關係會相對清晰。但在移動端,由於移動互聯網服務在iPhone和Android誕生之前就出現了,而且應用之間的切換遠不如PC端那樣方便,這些因素讓原生應用和Web服務之間的演進變得錯綜複雜,以至於引爆這一波HTML5熱潮的是微信這樣內置網頁瀏覽器的超級app而不是手機瀏覽器。
雖然有各種各樣的因素摻雜其中,但從大環境來看的話,在手機上原生應用和Web服務的關係同樣是先經歷原生應用間的競爭,接着Web服務找到超級app這樣的載體得以進化,解決某些狀態下的低頻需求。整體路徑和PC端其實很相似,只是這類Web服務的載體並沒有像在電腦端那樣主要發生在瀏覽器中就是了。所以,誰取代誰從來都不是問題真正之所在。