html5跨平台開發框架PhoneGap實戰


   如果把移動互聯網比作新互聯時代的骨骼,那么運行於移動平台之上的應用軟件就好比血肉一樣,是真正體現其價值的載體。

      從概念上說,PhoneGap 是一款完全開源的跨平台移動應用開發框架。通過使用 PhoneGap 框架,開發人員可以采用傳統的 Web 開發技術(HTML + CSS + JavaScript)來實現待開發應用的 UI 和程序邏輯。      

      開發的過程中,PhoneGap 框架提供了一系列的 API 供開發人員在 JavaScript 代碼中調用;通過這些 API 調用,PhoneGap 程序就可以與相應移動平台的 SDK API 進行交互,以調用運行平台本地的功能

      在運行時,使用 Web 技術編寫的資源文件(html/css/js)會被打包為類似“鏡像文件”的形成發布到待運行平台之中,在運行時由瀏覽器解析執行,從而實現了一次開發, 跨多平台運行的目的。

下面我們再來認識一下Web App和Native App?

一、Web App

Web無需安裝,對設備碎片化的適應能力優於App,它只需要通過XHTML、CSS和JavaScript就可以在任意移動瀏覽器中執行。隨着iPhone帶來的WebKit瀏覽體驗升級,使得專為iPhone等有WebKit瀏覽內核的移動設備開發的Web應用,也有了如App一般流暢的用戶體驗。

Web App的優勢:

1.開發成本低

2.適配多種移動設備成本低

3.跨平台和終端

4.迭代更新容易

5.無需安裝成本

Web App的劣勢:

1.瀏覽的體驗短期內還無法超越原生應用

2.不支持離線模式(html5將會解決這個問題)

3.消息推送不夠及時

4.調用本地文件系統的能力弱

 

二、Native App

而App因為位於平台層上方,向下訪問和兼容的能力會比較好一些,可以支持在線或離線,消息推送或本地資源訪問,攝像撥號功能的調取。但是由於設備碎片化,App的開發成本要高很多,維持多個版本的更新升級比較麻煩,用戶的安裝門檻也比較高。但是比較樂觀的是,App store培養了一種比較好的用戶付費模式,所以在Apple的生態圈里,開發者的盈利模式是一種明朗狀態,其他market也在往這條路上靠攏。

Native App的優勢:

1.提供最佳的用戶體驗,最優質的用戶界面,最華麗的交互

2.針對不同平台提供不同體驗

3.可節省帶寬成本

4.可訪問本地資源

5.盈利模式明朗

Native App的劣勢:

1.移植到不同平台上比較麻煩

2.維持多個版本的成本比較高

3.需要通過store或market的確認

4.盈利需要與第三方分成

 

三、融合

喬布斯有一次談到這個問題,他說Web是未來,雖然現階段Native給了用戶更好的體驗。如果現在的開發者不有效的利用Web技術,那他就落伍了。但如果過分依賴Web,完全不用Native那也未必就是好事。

iOS平台上的App有三類:Web App,通過瀏覽器訪問;Native App,通過App store安裝;第三類叫Hybrid  App,它雖然看上去是一個Native App,但只有一個UI WebView,里面訪問的是一個Web App,比如街旁網最開始的應用就是包了個客戶端的科,其實里面是HTML5的網頁,后來才推出真正的原生應用。再徹底一點的,如掌上百度和淘寶客戶端Android版,走的也是Hybrid App的路線,不過掌上百度里面封裝的不是WebView,而是自己的瀏覽內核,所以體驗上更像客戶端,更高效。

谷歌的Chrome OS和Android都是操作系統,但走的是兩條路。Chrome OS走的是Web app的路。從Chrome OS 大會上發布的Chrome Web App能看出來,谷歌想為未來的Chrome OS做鋪墊,鼓勵更多的開發者開發出具有應用程序體驗的Web App,正如Chrome OS官網上說的——“Nothing but the web”。而Android走的是Native App的路。Android作為手機平台的操作系統,明顯更注重應用程序開發,這一點從Android Market可以看出來。也許前微軟首席架構師Ray Ozzie的評價更加一針見血:“谷歌的戰略中Android(以app為主)是在賭過去,而Chrome OS(完全基於Web)則是在賭未來。”

於是我們可以得到這樣一個啟發,你要想服務於未來,必須不斷的跟隨技術發展的腳步,提供更好的網頁服務和體驗。但是人們是活在當下,為了當下用戶的需求,又必須提供現階段瀏覽體驗最好的客戶端產品。但是,客戶端是笨重且遲緩的,它不能像傳統網頁那樣,一有風吹草動就華麗轉身,只能規划好功能點,一步一步迭代,畢竟用戶的升級成本太高了。所以,就有了這種Web App + Native App的架構,在現有條件下給用戶最好的瀏覽體驗和升級迭代。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM