英文原文地址:http://phonegap.com/blog/2015/03/12/mobile-choices-post1/java
這篇文章是,選擇移動App開發策略時面對不一樣選擇如何綜合考慮之系列文章的第一篇。經過各方面的比較,讓開發者明白何時什麼地方在本身的app裏面使用Adobe PhoneGap。react
當咱們搭建一個native,mobile web或者hybrid移動app時,最常考慮的選擇以下。web
當說到hybrid的時候,一個很重要的概念要進一步澄清,將hybrid mobile apps分紅Web Hybrid和Native Hybrid兩種更有意義,也是本篇文章的依照的定義。瀏覽器
Web hybrid mobile apps主要被包裹在一個webview裏面,和一個簡單的native容器用來橋接native的API。UI控件也不須要native提供,它只是對native和webview交互的一個簡單封裝。服務器
Native hybrid mobile apps混合了native控件和一個或多個webview。常見的方案是,native建立navigation和tabbar,主要內容放在各個被包裹的webview裏。架構
PhoneGap能夠用來建立上面兩種類型的hybrid app,而且提供了很強的靈活性去結合native元素來裁剪用戶體驗,在擁有web的好處的同時盡力得到一個更native的視覺效果和體驗。已經很是清楚了,爲何愈來愈多的公司選擇混合native和web,就是爲了以混合的方式同時得到他們二者的好處。app
不少開發者選擇native建立navigation和tabbar,將主要的內容放在各個被包裹的webview裏,以在保證大範圍的用戶可以快速使用它們的app的同時,節省大量的時間和成本。此方式也提供了避開App Store審批的麻煩以快速更新的能力。以這種模式,每一個平臺只須要一小部分的native基礎代碼須要維護,並且這小部分代碼表明的是app裏的固定部分,而不是主要內容,從而更容易管理。框架
一個很受歡迎的項目管理app,Basecamp的創始人,也採用混合開發的方案。他們寫過不少質量很高的文章來說解他們的移動app的架構,以及它是如何不斷演進出最好的native和hybrid的混合方案。iphone
另外一種移動app,一樣用JavaScript來渲染視圖,並用native來實現平臺適配,也應該被看成hybrid討論。一些框架羅列以下:post
React Native一直是閉源的,而NativeScript剛剛發佈開源後的beta版本,因此均沒法提供更多的信息去徹底的理解如何在app中使用他們的框架。
如今你應該已經有辦法去作出有效的選擇了,系列文章的下一篇將特別聚焦在PhoneGap在native中嵌入webview的混合開發中如何使用。很快更新,及時查看。