C3-PhoneGap之移动开发策略的选择(翻译)

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

移动App开发策略选择

这篇文章是,选择移动App开发策略时面对不同选择如何综合考虑之系列文章的第一篇。通过各方面的比较,让开发者明白什么时候什么地方在自己的app里面使用Adobe PhoneGap。

当我们搭建一个native,mobile web或者hybrid移动app时,最常考虑的选择如下。

1、Native Mobile App

  • 运行在特定的设备和系统上面
  • 跑在本地的app
  • 多种语言编写,Objective-C/Swift (iOS) Java (Android) or C# (Windows)
  • 需要安装到设备上
  • 必须通过app分发市场审核
  • 不依赖容器(webview or the like)
  • 离线依然可以使用

Native App Example

2、Mobile Web App

  • 跑在任何设备的移动浏览器
  • 很少调用设备API(Camera)
  • 使用统一的web技术标准编写-HTML5/javaScript/CSS
  • 不需要通过某个app store的提交、审核、发布流程
  • 自适应多种屏幕尺寸
  • 由一个web服务器支撑
  • 离线状态无法使用

Mobile Web App Example

3、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,就是为了以混合的方式同时获得他们两者的好处。

Hybrid Sweet Spot

很多开发者选择native创建navigation和tabbar,将主要的内容放在各个被包裹的webview里,以在保证大范围的用户能够快速使用它们的app的同时,节省大量的时间和成本。此方式也提供了避开App Store审批的麻烦以快速更新的能力。以这种模式,每个平台只需要一小部分的native基础代码需要维护,而且这小部分代码代表的是app里的固定部分,而不是主要内容,从而更容易管理。

一个很受欢迎的项目管理app,Basecamp的创始人,也采用混合开发的方案。他们写过很多质量很高的文章来讲解他们的移动app的架构,以及它是如何不断演进出最好的native和hybrid的混合方案。

Basecamp的多设备运行

JavaScript SDK Frameworks

另一种移动app,同样用JavaScript来渲染视图,并用native来实现平台适配,也应该被当作hybrid讨论。一些框架罗列如下:

React Native一直是闭源的,而NativeScript刚刚发布开源后的beta版本,所以均无法提供更多的信息去完全的理解如何在app中使用他们的框架。

Stay tuned

现在你应该已经有办法去做出有效的选择了,系列文章的下一篇将特别聚焦在PhoneGap在native中嵌入webview的混合开发中如何使用。很快更新,及时查看。

时间: 2024-10-05 18:01:05

C3-PhoneGap之移动开发策略的选择(翻译)的相关文章

如何在程序开发项目中选择合适的 JavaScript 框架,节省时间和成本的9款极佳的JavaScript框架介绍

从技术上来看,iOS,Android 和 Windows Phone 上的移动应用是使用不同的程序语言开发的,iOS 应用使用 Objective-C,Android 应用使用 Java,而 Windows Phone 应用使用 .NET. .随着 JavaScript,CSS 和 HTML 知识技能的提升,相信你也可以构建一个超赞的移动应用.在这篇博客里,我们将会介绍一些极好的 JavaScript 移动应用程序开发框架. 说到网络开发,就不得不说 JavaScript,这是一款很有前途的程序

最新版Cordova 5.3.1(PhoneGap)搭建开发环境

引言 简单介绍一下Cordova的来历,Cordova的前身 叫PhoneGap,自被Adobe收购后交由Apache管理,并将其核心功能开源改名为Cordova.它能让你使用HTML5轻松调用本地API接 口和发布应用到商店的应用开发平台.有低成本,低开发周期,轻量化等优点.它统一封装了 Andriod,IOS,WindowsPhone,Symbian等几大移动开发平台的API,采用HTML5+JavaScript的混合开发的模式 来开发智能移动的APP,解决系统兼容等问题.使用Cordova

Android移动APP开发笔记——最新版Cordova 5.1.1(PhoneGap)搭建开发环境

引言 简单介绍一下Cordova的来历,Cordova的前身叫PhoneGap,自被Adobe收购后交由Apache管理,并将其核心功能开源改名为Cordova.它能让你使用HTML5轻松调用本地API接口和发布应用到商店的应用开发平台.有低成本,低开发周期,轻量化等优点.它统一封装了Andriod,IOS,WindowsPhone,Symbian等几大移动开发平台的API,采用HTML5+JavaScript的混合开发的模式来开发智能移动的APP,解决系统兼容等问题.使用Cordova把APP

HybridApp简介以及开发平台的选择

原文网址:http://mi.chinabyte.com/378/12600378.shtml Hybrid App在过去的两年中已经成为移动界的核心话题,但是作为一名Web开发者来说要如何站在移动互联网的浪潮之巅呢?是选择学习原生开发,研究Java.Object-C.C#等语言,还是选择继续使用网页开发,容忍HTML5功能的局限性?就在开发者左右为难的情况下Hybrid App作为一个折中的解决方案诞生了.那么究竟什么才是Hybrid App呢? HybridApp概念 Hybrid App:

个人PHP开发环境的选择与搭建

入职一个多月,重新调整了一下自己电脑的开发环境,现在写出来,算是作为自己的笔记. 如果你是该文章的读者,请忍受文章内的所有小章节都没有具体的步骤. 因为平时还要打游戏(划掉),所以电脑系统一直是Windows.其实Windows在开发上并没有特别多的限制,只是遇到了为Linux设计的软件的时候会有点麻烦. 实际生产过程中,开发在Windows下,部署在*nix下即可. PHP集成开发环境的安装 Windows下环境的安装没有Linux下那么方便,直接打一行命令就好了.但是也有提供一键安装方案,就

SQL Server 统计信息维护策略的选择

SQL Server 统计信息维护策略的选择 问题描述: 在对OLTP系统的一个上千万的表做归档后,循环分批删除源表数据时,业务应用收到超时告警,如下: V1.1.1.1: ****Process - QueryTransactionFor****: 23075129 Timeout expired.   The timeout period elapsed prior to completion of the operation or the server is not responding.

团队模式与软件开发流程的选择

1.团队模式的选择 软件团队的模式有主治医师模式.明星模式.社区模式.业余剧团模式.秘密团队.特工团队.交响乐模式.爵士乐模式.功能团队模式.官僚模式. 我比较倾向于交响乐模式和功能团队模式.交响乐模式的主要特点是门类齐全,各司其职,有共同方向的.其优点是在开发过程中分工明确,大家可以术业有专攻,效率比较高.缺点是适用于某歌软件领域处于稳定成长的阶段,如果是在刚开始的时候可能会产生分歧. 功能团队模式的主要特点是:人人平等,没有管理与被管理的关系.优点是小组间交流比较频繁,不同能力的人可以平等协

开发语言的选择

开发语言的选择,我们要首先掌握清楚它的特性,然后根据实际的需求考量多种因素来分析选择适当的语言 比如: 面向结构,面向对象,面向并行的函数式,最适配需求的是什么编程模型?对应擅长这种模型的最适合的语言是什么? 需求最需要什么?运行效率,开发效率?灵活性,安全性,复杂性? 或其他,最重要是那一点? 我们需要什么样的效率可以?极致的效率?满足基准的效率? 我们到底需要多少灵活性(设计时和运行时)? 我们的容错需要到什么地步?(可以崩溃测试迭代(强检查强测试)?一般不崩溃(脚本)?) 其他考量等等..

PhoneGap+HTML5+jqueryMobile 开发安卓-DATE控件

原文:PhoneGap+HTML5+jqueryMobile 开发安卓-DATE控件 源代码下载地址:http://www.zuidaima.com/share/1550463778802688.htm DATE控件在安卓底下是无法正常调用安卓的日期键盘,需要利用PhoneGap对安卓的原生控件进行调用,但是还是没达到最佳效果,找到一个临时解决方案,给大家分享下,如果大家有更好的解决方案大家可以分享下,此方法有个缺陷就是控件有值的情况下无法调用时间控件. /** * */ package com