C0-PhoneGap之移動開發策略的選擇(翻譯)

英文原文地址:http://phonegap.com/blog/2015/03/12/mobile-choices-post1/java

移動App開發策略選擇

這篇文章是,選擇移動App開發策略時面對不一樣選擇如何綜合考慮之系列文章的第一篇。經過各方面的比較,讓開發者明白何時什麼地方在本身的app裏面使用Adobe PhoneGap。react

當咱們搭建一個native,mobile web或者hybrid移動app時,最常考慮的選擇以下。web

一、Native Mobile App

  • 運行在特定的設備和系統上面
  • 跑在本地的app
  • 多種語言編寫,Objective-C/Swift (iOS) Java (Android) or C# (Windows)
  • 須要安裝到設備上
  • 必須經過app分發市場審覈
  • 不依賴容器(webview or the like)
  • 離線依然可使用

Native App Example

二、Mobile Web App

  • 跑在任何設備的移動瀏覽器
  • 不多調用設備API(Camera)
  • 使用統一的web技術標準編寫-HTML5/javaScript/CSS
  • 不須要經過某個app store的提交、審覈、發佈流程
  • 自適應多種屏幕尺寸
  • 由一個web服務器支撐
  • 離線狀態沒法使用

Mobile Web App Example

三、Hybrid Mobile App

當說到hybrid的時候,一個很重要的概念要進一步澄清,將hybrid mobile apps分紅Web Hybrid和Native Hybrid兩種更有意義,也是本篇文章的依照的定義。瀏覽器

Web hybrid mobile apps

Web hybrid mobile apps主要被包裹在一個webview裏面,和一個簡單的native容器用來橋接native的API。UI控件也不須要native提供,它只是對native和webview交互的一個簡單封裝。服務器

Native hybrid mobile apps

Native hybrid mobile apps混合了native控件和一個或多個webview。常見的方案是,native建立navigation和tabbar,主要內容放在各個被包裹的webview裏。架構

Hybrid App Characteristics

  • 做爲一個須要本地安裝的app跑在設備上
  • 使用統一的web技術標準編寫-HTML5/javaScript/CSS
  • 跑在一個webview上(嵌入的web瀏覽器)
  • 多數狀況下,多種平臺只須要一套base代碼
  • 能夠調用native API(攝像頭,聯繫人,加速計,CPS等)
  • 須要經過app分發市場的提交,審覈,發佈流程(iOS App Store,Google Play)
  • 須要運行在特定的設備
  • 自適應多尺寸屏幕
  • 離線狀態可使用

PhoneGap能夠用來建立上面兩種類型的hybrid app,而且提供了很強的靈活性去結合native元素來裁剪用戶體驗,在擁有web的好處的同時盡力得到一個更native的視覺效果和體驗。已經很是清楚了,爲何愈來愈多的公司選擇混合native和web,就是爲了以混合的方式同時得到他們二者的好處。app

Hybrid Sweet Spot

不少開發者選擇native建立navigation和tabbar,將主要的內容放在各個被包裹的webview裏,以在保證大範圍的用戶可以快速使用它們的app的同時,節省大量的時間和成本。此方式也提供了避開App Store審批的麻煩以快速更新的能力。以這種模式,每一個平臺只須要一小部分的native基礎代碼須要維護,並且這小部分代碼表明的是app裏的固定部分,而不是主要內容,從而更容易管理。框架

一個很受歡迎的項目管理app,Basecamp的創始人,也採用混合開發的方案。他們寫過不少質量很高的文章來說解他們的移動app的架構,以及它是如何不斷演進出最好的native和hybrid的混合方案。iphone

Basecamp的多設備運行

JavaScript SDK Frameworks

另外一種移動app,一樣用JavaScript來渲染視圖,並用native來實現平臺適配,也應該被看成hybrid討論。一些框架羅列以下:post

React Native一直是閉源的,而NativeScript剛剛發佈開源後的beta版本,因此均沒法提供更多的信息去徹底的理解如何在app中使用他們的框架。

Stay tuned

如今你應該已經有辦法去作出有效的選擇了,系列文章的下一篇將特別聚焦在PhoneGap在native中嵌入webview的混合開發中如何使用。很快更新,及時查看。

相關文章
相關標籤/搜索