App程序的大量出現,曾讓互聯網流量的入口由瀏覽器一統天下的局面迅速分崩離析。不過,隨著HTML5技術的成熟,瀏覽器與App之間的較量又有了新的變化。
讓網絡入口重回瀏覽器
尤其是當HTML5從技術變成標準并逐步成為現實,各大瀏覽器廠商也紛紛基于HTML5這一實時的前沿標準進行戰略性布局,紛紛推出自主研發內核,如UC瀏覽器的U3內核以及手機QQ瀏覽器的X5內核。
打開最新Android版本的UC瀏覽器83,你會發現許多熟悉的App圖標出現在其中,包括網易郵箱、QQ空間、淘寶網、豆瓣電臺等等。實際上,這些圖標相當于瀏覽器內的“書簽”,點擊后會進入相關網站,但其中的內容看上去和客戶端沒什么兩樣。通過瀏覽器,你還能將這些圖標移到手機桌面上,變成“真正”的App。
不只是UC,手機QQ瀏覽器為了給Web App提供更出色的性能,在開源Webkit內核基礎之上自主研發了X5內核,極大地提升了手機瀏覽器的HTML5支持能力。據了解,在最新的X5內核版手機QQ瀏覽器V4.0 Betal的全面公測中,手機QQ瀏覽器創下HTML5測試得分高達425分,可以完美支持HTML5的各種應用。
如果說這些國內互聯網企業對HTML5的趨之若鶩只代表了國內情況,那么諾基亞和微軟兩家巨頭在HTML5上的布局,則更容易吸引全球的目光。不久前,微軟發布了支持使用HTML5技術開發的“IrishSpring”主題網站。至于諾基亞,則斥81億美元巨資購得并打造了NOKIA MAP業務,也通過HTML5走出了Symbian終端,走到了包括iOS和Android系統的設備中——只要你的手機瀏覽器支持HTML5,都可以通過直接訪問諾基亞地圖的網站,來獲得類似于客戶端的地圖查詢及導航體驗。當你將該網頁保存到手機桌面時,它便變成了WebApp,更為關鍵的是諾基亞不需要對這些競爭對手的操作系統進行適配,也能植入自己的App。
對于移動應用程序開發者來說,他們的選擇則更為實際一些。依照目前iPhone/Android迅速提升市場占有率的情勢來看,未來如果想要在先進的智慧型手機上撰寫應用程式,要不是選擇使用0bj ective-C+CocoaTouch Framework撰寫iPhone/iPad應用程式,就是選擇Java+Android Framework撰寫Android應用程式,如果想要同時支持兩種平臺,勢必要維護兩套程式碼,對于剛起步的小服務而言也算是個小有負擔的運維成本。
使用HTML5、CSS3來撰寫Web—based的應用程式,若要同時支援iPhone及Android,幾乎只需要維護一份程式碼(少部份要應clients作修改),而且未來若有其它移動裝置擁有支援HTML5的瀏覽器,那同樣的WebApp直接就多了一個支援平臺。
不過,必須注意的是HTML5主要服務對象還是給予Web的應用,并不會對全部App開發造成威脅,這樣有利于不同類型應用使用不同的開發方式,靈活性更強。
App還是HTML5
HTML5是一種新技術,開發者可以開發出通過標準瀏覽器在任何設備上運行的Web應用。許多人認為HTML5將拯救Web,使與平臺有關的原生應用遭到淘汰。到底App還是HTML5會是誰贏得最后的勝利,在業界也有不少討論,最近一份來自BI Intelligence機構的報告則從功能、用戶體驗、商業化、成本、發布方式等五個方面比較了兩者的優劣勢。
功能:目前這是HTML5面臨的一大問題,HTML5不支持某些功能,但隨著HTML5不斷改進,情況可能會有所改變;用戶體驗:迄今為止,原生應用在這一方面還有優勢。這是因為HTML5還沒有得到充分發展,還因為開發者可以通過原生代碼完成更多任務;商業化:大多數應用商店與App和iTunes服務是有聯系的,并與信用卡掛鉤,所以App的商業化強于HTML5。但是對于程序本身來說,HTML5版比App版更便宜,因為它可以跨不同的平臺使用,而App卻不行;發布方式:HTML5在發行方面有優勢。部分業內人士可能對應用商店發行模式非常滿意,但更開放的Web模式將使更多的人能發布應用,還將降低蘋果等應用商店服務提供商的控制力。
不過,HTML5帶來的是顛覆傳統的作用。通過以上五種比較,雖然目前HTML5處于劣勢,但BI Intelligence認為,未來HTML5從App手中接過大旗也許只是時間問題,當它的技術更加完善時就是HTML5的天下。唯一擔憂的就是現在標準制定組織WHATWG與W3c因為理念上的差異鬧分家,弄出兩個版本的HTML5標準來,所以說HTML5的敵人不是原生App,而是HTML5本身。
第三條路
就在圍繞究竟是開發HTML5移動Web App還是原生Native App的業界爭論毫無休止時,一些公司已經在選擇第三種方法:采用“混合應用程序方法”(Hybrid App Approach)來調和這兩種方法。
Hybrid App開發既利用了原生功能,同時又為將來采用HTML5充當著具有戰略意義的臺階。“混合”這個詞實際上帶來了一系列廣泛的可能性。有些應用程序只是將來自相應網站的一些頁面作為應用程序的一部分來裝入,比如美國銀行、Facebook和Yelp的iPhone應用程序。另一些應用程序包含了用HTML編寫的幾個嵌入式頁面,比如《瘋狂塔防》(TowerMadness)游戲。但還有一些應用程序的整個用戶界面都是用HTML實現的,比如Harmounius(一種圖形畫板)或羅技公司的Squeezebox Controller。
許多公司還沒有急于跟上HTML5潮流,一個主要原因是,他們認為HTML應用程序無法訪問原生設備功能。的確,純粹的移動Web App(指在瀏覽器里面運行的應用程序,而不是Hybrid App)目前只能訪問攝像頭、麥克風和地址簿等設備功能。雖然萬維網聯盟(W3C)方面的工作取得了進展,讓Web App可以訪問這類設備服務,但是移動瀏覽器目前并不提供這樣的功能——移動瀏覽器提供這樣的功能對許多創新型的移動應用程序來說是一個關鍵要求。但是在HybridApp領域,有了開源PhoneGap庫等框架,JavaScript代碼就有可能訪問手機羅盤、拍照片、尋找或創建聯系人或約會事項,以及充分利用移動Web App無法訪問的其他許多設備功能。能否訪問設備功能并不是Hybrid App和移動Web App的唯一區別。另一個重要的區別是,Hybrid App基本上是通過應用程序商店分發的:不是用瀏覽器瀏覽至HybridApp,而是下載和安裝它。