[CSDN.NET特邀稿件]Html5美在哪里?”這個熱門的問題幾乎已經成為開發人員的必談話題。
在剛剛結束的支付寶“技術風云會”論壇上,Html5再次成為5位與會者的關注焦點。會中也有人問及:native app 和mobile web app哪個將成為主流? 又或者html5應用能否替代native app?
確實,html5技術再不斷的完善,也必將做更多的事情,但個人認為,native app在這幾年還將是主流,它與生俱來的高用戶體驗、華麗的用戶界面、較低的流量成本,并且能訪問本地資源,但native app有著較為致命的缺點:較差的不同平臺的可移植性、較高的多個版本的升級維護成本、盈利模式的局限性。而web app在很大程度上與native app 形成互補,較低的開發成本、跨平臺移植、升級更新更容易等等。
所以,在未來幾年web app 和 native app結合可能是一個不錯的解決方案,Hybrid App,通俗一點講就是偽客戶端或者輕量級客戶端,它的展現模式還是類似于native app,但其實只有一個ui webView,內嵌了html5頁面,如果覺得webView不能滿足要求,可以開發一個適合自己的瀏覽內核,做到與客戶端一樣用戶體驗。
打個比方,現在私家車已經較為普遍,但平時我們也會使用自行車,我們可以根據不同的場合使用不同的交通工具,當然我們還可以把自己車架在私家車上以備不時之需。
Html5必將帶來一場移動互聯網的革命,作為htm5的參與者和受益者,我們將期待html5標準的統一和越來越多的web app應用,并給我們帶來更多的商業化價值。
iPhone讓Native App火熱,Android讓Native App普及
5年前的1月9日,蘋果公司在Mac World大會上推出了iPhone手機,這款革命性的通信終端重新定義了SmartPhone,也宣告了移動互聯網的到來。人們從AppStore上下 載應用,享受著App帶來的便捷、多彩生活。一年后,互聯網巨鱷谷歌發布了Android系統,極大的降低了智能手機成本,也讓Native App得到了普及。調查顯示,2010年6月美國用戶每天花在App和Web上的時間分別為43分鐘和64分鐘,而這一數據在一年后轉變為81分鐘以及 74分鐘。為什么Native App會如此受青睞?一方面是因為Native App擁有最佳的用戶體驗、絕對的本地設備訪問能力、優異的盈利模式等優勢;另一方面則是因為當時的wap站點還太弱小。
HTML5讓web回歸,wap站點向Mobile Web App轉變
當《連線》雜志拋出《The Web Is Dead , Long Live the Internet》的論調時,迅速引起了整個行業的討論,而大部分web支持者將希望寄托在HTML5身上。隨著智能手機的普及,移動瀏覽器進行著競爭, 基于Webkit引擎的終端覆蓋了龐大的智能移動終端市場,移動設備對于HTML5的支持完全達到了可應用的水平。另一方面,Native App的高成本、低效率也讓HTML5下的移動web重新得到關注。
2010年開始,淘寶、支付寶、騰訊、網易、新浪等國內互聯網巨頭都開始對wap進行重新的設計,HTML5觸屏版陸續上線。至此,HTML5完成了移動web開發的一次變革:
CSS3被用于打造wap頁面,它的圓角、漸變、陰影、動畫等特性讓移動web擁有了接近于native的UI,整個頁面煥然一新; <article>、<section>、<header>等語義化標簽更容易被理解,有利于頁面維護與復用;HTTML5表單實現了許多簡單易用的原生屬性和控件,可以輕松的構建強大的表單; 強大的Javascript API讓mobile web site酷起來,復雜的交互不再停留在Native App內,Mobile Web App開始展現魅力; HTML5下app開發的高效讓產品變得更加迅捷,也真正達到了手機應用的隨時更新; HTML5 = iOS + Android + WindowsPhone,一套代碼跨越多個平臺。不可避免的,wap的轉型也給移動互聯網企業帶來了新的挑戰:(1)產品經理、交互設計師、視覺設計師需要更多的創新適應HTML5帶來的新變化; (2)生態產業鏈的形成需要時間,Mobile Web App如何被“發現”、“保留”、“返回”還需要進一步探討;(3)大量的前端人才需求;(4)wap site與Mobile Web App以及不同版本Mobile Web App間的兼容開發問題,多版本適配成為新的架構挑戰。
HTML5讓Native App傾斜,Hybrid或許是正道
HTML5下的Mobile Web App確實擁有了可以和Native App叫板的資格,但是就像C/S和B/S模式同時存在一樣,Mobile Web App與Native App誰也沒法代替對方。喬布斯曾在受采訪時說過:“Web是未來,雖然現階段Native給了用戶更好的體驗。如果現在的開發者不有效的利用Web技 術,那他就落伍了。但如果過分依賴Web,完全不用Native那也未必就是好事”。
隨著業務的發展和新需求的出現,產品經理們成天貪婪的追問“你那個HTML5可以獲取手機硬件信息不,什么時候能調攝像頭啊?”,很可惜主流的移動 瀏覽器并沒有將這些API開放出來,web依舊需要native去做一些底層的事;相對的,native的工程師也期望自己的應用里面可以加入 HTML5,提高開發的效率,適應快速的需求變化。
顯然,只有將這兩種模式進行融合才能應對新的挑戰,HTML5讓native產生了傾斜,“Hybrid”成為較好的選擇。細細想來,Hybrid 應用可以使用HTML5輕松呈現復雜排版內容,js也能調用移動終端底層的API,產品開發效率得到了很大的提高,并且兼容各平臺,商業運作成本比較低。 當然,開發一個成功Hybrid應用并不容易,需要native工程師,前端工程師以及后臺開發人員的通力合作。
當我們開始構建Hybrid App的時候,如何去“Bridging the gap”是一大挑戰。其實,實際操作并不如想象的那么困難。以Android為例,它的Webview中有一個 addJavascriptInterface方法,通過這個方法可以將App運行過程中的java對象暴露給js調用。同樣的 iOS,WindowsPhone也都存在著這樣的接口。
因此,對于技術實力超強的公司來說,自行實現Hybrid框架是可行的,也能在遇到問題時及時進行完善。而對于大部分公司來說,使用現有的 Hybrid框架效率會更高,而PhoneGap無疑是最佳的選擇。在被adobe收購并捐獻給apache基金后,PhoneGap得到了更多的支持, 更新速度也開始加快,它的Plugin機制更是可以滿足HTML頁面絕大部分的native擴展需求。“HTML5+PhoneGap”成為了主流的 App開發方案。
需要清醒的是,雖然Hybrid很美好,但是在這種轉型過程中同樣也會遇到很多的挑戰:
(1)哪些業務子應用應該使用web、哪些應該加入native;
(2)Hybrid的性能問題;
推薦閱讀
新浪科技訊 4月26日晚間消息,針對大眾點評正式向網易發出律師函要求停止侵權行為一事,網易向新浪科技發來聲明稱,商戶基本信息屬于公共服務信息網易有權使用,不過,網易并未直接談及是否抄襲大眾點評內容。 網易稱>>>詳細閱讀
地址:http://www.xglongwei.com/a/kandian/20120426/55290.html