Chrome、軟件商店、Hybrid App

經過最近幾年突飛猛進式的發展,Chrome已經成爲IE最強勁的對手,在除美國外的很多國家,其市佔率已經超過了IE,考慮到Chrome在移動終端上還未完全發力,這一趨勢還將延續。對Google來說,瀏覽器和Web app代表了未來的趨勢,這也是儘管一直不賺錢,但Google仍要不斷投錢到Chrome OS的原因。

在移動互聯網的浪潮中,企業的專業化分工趨勢非常明顯,而這需要一個強大、穩固的生態鏈系統的支持,Google圍繞着Android打造的生態鏈系統我們已經很熟悉了,圍繞着Chrome OS打造的生態鏈其實也是相似的,其中涉及硬件廠商的部分基本是相同的,因此我們這裏只討論Google與開發者、用戶之間的關係。

Android生態體系中,Google負責向開發者提供SDK及開發工具,開發者開發完應用程序後可以通過各種軟件商店去發佈,用戶通過軟件商店去搜索、購買、評價各種App。對開發者而言,需要使用專門的開發工具(如Eclipse)和Google提供的開發插件,程序的調試需要基於移動終端,發佈程序的軟件商店是App形式。對用戶而言,需要到軟件商店下載並安裝App,App升級時需要下載和安裝升級包。

Chrome生態體系中,Google只向開發者提供少量的API(目前)供開發擴展程序使用,開發和調試工具就是Chrome瀏覽器本身。對用戶而言,不需要下載和安裝App,只需要保存該App的鏈接就可以了,軟件商店已經集成到瀏覽器中,App升級是以網絡服務的形式自動更新,無需用戶再主動下載。

爲什麼Chrome需要內置軟件商店?

儘管和傳統的客戶端的應用軟件商店不同,網絡端的應用不需要安裝,只需要和網頁一樣收藏一下,但用戶已經養成了通過商店搜索應用的喜歡,不可能倒退到以前那種網頁搜索方式。軟件商店已經提供了App信息,升級提示,用戶評價與分享,收費應用的支付等一整套體系,大大降低了用戶的搜索和使用成本,同時也降低了開發者的推廣成本。因此,這種習慣肯定會持續下去。

軟件商店集成到瀏覽器中,並且同瀏覽器本身的賬號系統綁定後,就能完美地實現一次下載,所有設備自動同步。國內的UC、360、QQ瀏覽器也都集成了軟件商店,並依靠推廣遊戲取得了不錯的收入。

Chrome的軟件商店提供什麼類型的軟件服務?

Chrome軟件商店提供的應用程序分爲兩種:Web apps和Chrome擴展程序。

Web Apps 通常具備獨立的用戶界面(在瀏覽器中)和豐富的用戶互動。Google 的目的也是希望 Web Apps 能夠像安裝在電腦中的客戶端軟件一樣使用方便,且互動靈活。WebApps是可以跨平臺、跨瀏覽器通用的。

擴展程序的作用主要是豐富瀏覽器或網站的功能,其本質上是一個依附於瀏覽器的插件,而不是像 Web Apps 一樣對應於某個網站或服務提供商。相對於 Web Apps 來說,擴展程序的功能是通過應用於各種網站以及 Web Apps 才得以體現,無法單獨使用。

此外安裝 Web Apps 需要 Google 帳號登陸,而安裝擴展程序就無所謂。可見,真正同Google賬號系統綁定的是Web Apps,也就是跨平臺的網絡應用。

目前的主要問題

截止2013-4-15,Chrome的軟件商店用戶數突破3.6億,Web App共32574個。而回到2011-12-05,用戶數爲6125萬,App數爲19166個。這將進一年半的時間裏,用戶數翻了6倍,而App數只增長了60%,無論是總數還是增長速度,相對Android、iOS來說都太小了。

這其中最主要的原因是用戶體驗問題,相關技術標準的缺失與漫長的完善過程、瀏覽器性能不足、不同瀏覽器之間表現的差異、離線和使用本地硬件設備的功能不如本地App等等, 這些因素嚴重製約了Web App的發展。

未來App的發展方向

Google顯然也意識到這個問題,2012年6月,Chrome軟件商店增加了對離線App的支持,但Google要求開發者自己想辦法保證自己的App能支持離線使用,沒有提供其它方面的支持。

在這種情況下,基於HTML5低成本跨平臺開發優勢又兼具Native App特質的Hybrid App誕生了,它主要以網頁語言編寫,在使用本地硬件設備或對速度要求很高的場合則調用封裝好的native接口。

對開發者而言,Hybrid App主要分爲兩種:

一種是以Google Native Client爲代表,這是一個開源的技術項目,讓瀏覽器可以直接運行本地語言編寫的、且由本地編譯器編譯後的代碼,前原理是在普通的Web App和本地語言編寫的代碼中間增加一個Pepper層,這一層負責向上提供API,並在運行時充當一個虛擬機,將本地代碼解析爲瀏覽器可以識別的指令,Pepper層提供的接口是基於C/C++的。這種方式和Android的Davik虛擬機調用本地代碼的方式非常相似,開發者可以最大程度地利用之前寫好的本地代碼,或者使用音頻IO、3D顯卡等設備。當然,開發者的工作量巨大,從Web App,到Pepper層,到native層,所有的代碼都要自己編寫,跨平臺移植難度很大。

另一種是以PhoneGap爲代表,這也是一個開源項目,它將對本地硬件設備的調用封裝爲Javascript接口,將虛擬機和底層調用隱藏起來,用戶只需要基於其提供的Javascript接口即可完成程序開發。同時,用戶不用擔心跨平臺的移植問題,PhoneGap會針對不同的硬件平臺發佈對應的開發包,這裏面會集成對應的虛擬機和底層調用。顯然,這種方式應用更廣泛、更具發展前景,所以本文提到的Hybrid App,都是指基於這種技術的。

使用PhoneGap來構建自己App的大佬:維基百科、Facebook、IBM的worklight、微軟的X-Box、Adobe、BlackBerry、Zynga、Logitech、Cisco。另外,appMobi也已經被Intel收購了。可見在當前的形勢下,Hybrid App還是有很大的生存空間的。

類似的中間件廠商還有國外的appMobi,國內的AppCan和Rexsee等。

但多箇中間商提供向上提供的javascript接口是不同的,這樣導致Hybrid App出現嚴重的碎片化,對於開發者來說,基於多箇中間商的API接口去編寫程序負擔太大,除非其中的某一個佔據壓倒性的市場份額。在這種情況下,Google艱難地邁步了。2013年2月,Google面向使用 Windows版Chrome 28開發者提供了應用開發包,可以讓開發者使用HTML5, JavaScript和 CSS編寫出可以精簡運行的Chrome Packaged Apps,減掉了諸如地址欄、工具欄以及目錄等,看起來更像是 Windows上運行的本地應用,而非瀏覽器代碼。這些App能夠在脫機狀態下運行,並且能通過谷歌提供的API直接訪問設備硬件。但和PhoneGap比起來,無論是功能豐富性還是支持的平臺,Chrome起碼落後一個級別。

       簡單點說,WebApps提供的功能有限,只能適用於特定領域,而如果要使用本地硬件設備,必須用Hybrid App的形式,Hybrid App如果要做到跨平臺,就必須依賴於同硬件平臺綁定的中間件,各互聯網大佬都已經看到了它的重要性,並都在力推自己的中間件標準。一旦這個標準成型並形成寡頭壟斷的局面,Hybrid App就會迎來爆發式的增長。


相關網址

Chrome軟件商店:https://chrome.google.com/webstore?utm_source=chrome-ntp-icon

GoogleNative Client: https://developers.google.com/native-client/overview

PhoneGap下載地址: http://www.phonegap.com/download

Chrome Packaged Apps:http://developer.chrome.com/apps/about_apps.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章