三种app开发方式分析 (app开发三种方式优缺点)

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

对用户来讲差别主要是用户体验,如果WebApp做得好也能接近原生App的效果;

对于开发人员,WebApp更加易于移植到多个平台,减少非常多的工作量。

1.主要区别

原生APP中:

每一种移动操作系统都需要独立的开发项目;

每种平台都需要独立的开发语言。Java(Android), Objective-C(iOS)以及Visual C++(Windows Mobile)等等,需要使用各自的软件开发包,开发工具以及各自的控件。

Native App(原生型APP)需要开发“云服务器数据中心”和“APP客户端”

每次获取最新的APP功能,需要升级APP应用

原生型APP应用的安装包相对较大,包含UI元素、数据内容、逻辑框架;

手机用户无法上网也可访问APP应用中以前*载下**的数据

原生型的APP可以调用手机终端的硬件设备(语音、摄像头、短信、GPS、蓝牙、重力感应等)

APP应用更新新功能,涉及到每次要向各个应用商店进行

提交审核。

适用企业:游戏、电子杂志、管理应用、物联网等无需经常更新程序框架的APP应用。

WebAPP中:

因为运行在移动设备的浏览器上,所以只需要一个开发项目

这种应用可以使用HTML5,CSS3以及JavaScript以及服务器端语言来完成(PHP,Ruby on Rails,Python),这里可没有标准的SDK,基本任意选择别忘了有一些跨平台的开发工具,比如PhoneGap, Sencha Touch 2,APPcan以及Appcelerator Titanium等等。

Web APP需开发“html5云网站”和“APP客户端”

每次打开APP,都要通过APP框架向云网站取UI及数据

手机用户无法上网则无法访问APP应用中的数据

框架型的APP无法调用手机终端的硬件设备,(语音、摄像头、短信、GPS、蓝牙、重力感应等)

框架型APP的访问速度受手机终端上网的限制,每次使用均会消耗一定的手机上网流量

框架型APP应用的安装包小巧,只包含框架文件,而大量的UI元素、数据内容刚存放在云端

APP用户每次都可以访问到实时的最新的云端数据

APP用户无须频繁更新APP应用,与云端实现的是实时数据交互

适用企业:电子商务、金融、新闻资讯、企业集团,需经常更新内容的APP应用。

2.开发难度区别

移动web和混合App开发难度对于web开发者来说相对较低,而且可以充分利用现有的web开发工具和工作流程

3.发布渠道和更新方式

混合App可以在应用商店App Store发布,但可以自主更新,而原生App的更新必须通过应用商店App Store。

4.移动设备本地API访问

混合App可以通过JavaScript API访问到移动设备的摄像头、GPS;而原生App可以通过原生编程语言访问设备所有功能。

5.跨平台和可移植性

基于浏览器的移动web最好的可移植性和跨平台表现;混合App也能节省跨平台的时间和成本,只需编写一次核心代码就可部署到多个平台,而原生App的跨平台性能最差。

6.搜索引擎友好

只有移动web对搜索引擎友好,可与在线营销无缝整合。

7.货币化

混合App除广告外,还支持付费*载下**及程序内购买;原生App的程序内购买金额2012年首次超过*载下**收费。

8.消息推送

只有混合App和原生App支持消息推送,这能增加用户忠诚度。

9.获取方法区别

原生APP中:

直接*载下**到设备

以独立的应用程序运行(并不需要浏览器)

用户必须手动去*载下**并安装这些原生App

有一些商店与卖场来帮助用户寻找你的App,

WebAPP中:

从移动设备上的浏览器访问

不需要安装额外的软件

软件更新只需要服务器就够了

因为现在没有什么商品或卖场提供这种App,所以如何搜索这些移动Web App相当不简单

10.版本控制区别

原生APP中:

用户可以自由地选择是否更新软件版本,所以会出现不同用户同时使用不同版本的情况

WebAPP中:

所有的用户都是用同样的版本

三种app开发方式分析,app定制开发方式方法有哪些