原生應用和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服務的載體并沒有像在電腦端那樣主要發生在瀏覽器中就是了。所以,誰取代誰從來都不是問題真正之所在。