如何做? 

假定現有一個對本地環境依賴不那麼嚴重的項目,如微博客戶端,各種社交美食甚至LBS應用,我們都可以采用HTML5+ Native 。如圖所示,我 們可以將核心的程式Core層用封裝起來,這個程式和平台無關,主要是業務邏輯以及和Shell的交互,程式用Web語言編寫。在Core層上我們再根據 不同的移動平台制作不同的UI。最後我們將上述兩層放到各平台的Shell中,這個Shell主要是由瀏覽器來完成工作,當然還包括一些硬體操作和讀取本 地資源,如GPS、重力感應、相機調用、地圖、推送通知或者IAP等。 

 


我們可以把Web的升級部分部署到服務器上,用戶運行App後,App會向服務器講求獲取最新的Web程式並下載運行,這樣可以達到跳過各種 Store的更新審核,達到快速更新的目的。而且假如用戶無法訪問互聯網,我們可以讓用戶使用上一個版本的程式,不會像純Web App那樣要求用戶一定要聯網。

好處

1.用戶可以離線使用
2.更新下載量及少,可以全部更新,也可以選擇替換部分文件
3.程式很安全安全,眾所周知Web應用有一個很大的問題就是程式安全的問題,但現在我們可以將Web程式全部加密,本地應用解密後再運行,大大的提供了程式的安全性。
4.可以通過瀏覽器作為中介充分利用 Native 的好處,比如說可以使用GPS、照相機、本地相冊、讀取本地聯系人,也可以使用推送功能等,最重要的是,某些Web無法實現的功能,我們可以利用 Native 來實現。
5.跨平台,多數核心程式不用重寫,Javascript的程式用得好的話,在許多地方都可以用到,包括移動應用、移動網站、PC網站、各種瀏覽器 插件,甚至可以用WebKit封裝作為跨平台的應用程式。誠然,這種方式並非完全跨平台,但這樣也足以減少很多工作量了,特別是後期的維護。而且完全的跨 平台是沒有意義的,不同平台有自己的風格,為了更好的用戶體驗,界面層還是需要針對性開發的。

壞處

我覺得最大的壞處是技術難度高,如果僅僅是簡單的瀏覽器封裝幾個HTML文件,那沒什麼技術難度,但如果要打造一個系統級的東西,這就很有技術難度 了。這要求有人要了解三個主流平台的瀏覽器特色,通曉 Native 程式的開發,要精通HTML5/CSS3/Javascript,最重要的是,要有較強 的架構設計能力。 如果要再找一個壞處的話,就是它不能滿足所有的需要,它並不能代替 Native ,但我認為他可以替代大部的 Native 。

適合我們嗎?

首先從產品的角度考慮,你的產品是否嚴重依賴於本地環境,比如說圖像處理和華麗的游戲之類的。第二要考慮的是你的技術團隊的構成,如果你們的團隊有 一個能解決這些問題的牛人,並且有一些清通Web前端的人,那我覺得你可以考慮用這種方式。技術選型非常重要,稍有不慎,後患無窮。第三個要考慮你們公司 的戰略,對HTML5未來發展的看法,願意在移動網路上付出多少代價,是否願意做前瞻性的事,是否願意在前期投入較多的資源,是否允許試錯等等。  

引用自http://ten2.tw/blog/html5%E8%A1%8C%E5%8B%95%E8%A3%9D%E7%BD%AE%E6%87%89%E7%94%A8%E9%96%8B%E7%99%BC/

原也網頁設計、網站規劃、網站行銷。

文章標籤
創作者介紹

peaceiloveu1的部落格

peaceiloveu1 發表在 痞客邦 PIXNET 留言(0) 人氣()