之因此说h5作的app和原生app的区别,是由于一位博友的问题:web
个人回答是要分业务需求,分场合而定。小程序
好比如今的微信小程序这么流行,甚至也取代了很多app,可是为何仍是要开发app呢?微信小程序
以我我的的想法,主要认为浏览器
性能是一个很是大的问题(微信小程序的功能与App相比,App功能丰富的前提下,还能够确保性能,而微信小程序与同h5开发的app同样,性能始终是一个不可跨越的问题,不过根据摩尔定律,十八个月处理器性能提升,价格降低,之后性能也许再也不是一个问题。其实之因此微信小程序流行,在于微信广泛的使用及其广大的用户量);安全
下面进入正题:服务器
H5开发的web APP和原生APP的区别有如下几个方面(引用一位朋友说的),我认为这位朋友说的比较全面:
1、开发方面
原生App
⊙ 每一种移动操做系统都须要独立的开发项目
⊙ 每种平台都须要独立的开发语言。Java(Android), Objective-C(iOS)以及C++(Windows Mobile)等等
⊙ 须要使用各自的软件开发包,开发工具以及各自的控件 微信
移动Web App
⊙ 由于运行在移动设备的浏览器上,因此只须要一个开发项目
⊙ 这种应用可使用HTML5,CSS3以及JavaScript以及服务端语言语言来完成(PHP,Ruby on Rails,Python)
⊙ 这里可没有标准的SDK,基本任意选择,别忘了有一些跨平台的开发工具,好比PhoneGap, Sencha Touch 2,APPcan以及Appcelerator Titanium等等。
2、能力方面
原生App
⊙ 可以与移动硬件设备的底层功能,好比我的信息,摄像头等等
移动Web App
⊙ 只能使用有限的移动硬件设备功能。
3、获取方法
原生App
⊙ 直接下载到设备
⊙ 以独立的应用程序运行(并不须要浏览器)
⊙ 用户必须手动去下载并安装这些原生App
⊙ 有一些商店与卖场来帮助用户寻找你的App,目前app市场不可胜数
移动Web App
⊙ 从移动设备上的浏览器访问
⊙ 不须要安装额外的软件
⊙ 软件更新只须要服务器就够了
⊙ 由于如今没有什么商品或卖场提供这种App,因此如何搜索这些移动Web App至关不简单。
4、版本控制
原生App
⊙ 用户能够自由地选择是否更新软件版本,因此会出现不一样用户同时使用不一样版本的状况
移动Web App
⊙ 全部的用户都是用一样的版本
5、优点
原生App
⊙ 比移动Web App运行快
⊙ 一些商店与卖场会帮助用户寻找原生App
⊙ 官方卖场的应用审核流程会保证让用户获得高质量以及安全的App
⊙ 官方会发布不少开发工具或者人工支持来帮助你的开发
移动Web App
⊙ 跨平台开发
⊙ 用户不须要去卖场来下载安装App
⊙ 任什么时候候均可以发布App,由于根本不须要官方卖场的审核
⊙ 若是你已经有了一个Web App,你可使用 responsive web design来辅助改进
6、缺陷
原生App
⊙ 开发成本高,尤为是当须要多种移动设备来测试时
⊙ 由于是不一样的开发语言,因此开发,维护成本也高
⊙ 由于用户使用的App版本不一样,因此你维护起来很困难
⊙ 官方卖场审核流程复杂且慢,会严重影响你的发布进程
移动Web App
⊙ 没法使用不少移动硬件设备的独特功能
⊙ 要同时支持多种移动设备的浏览器让开发维护的成本也不低
⊙ 若是用户使用更多的新型浏览器,那问题就更很差处理了
⊙ 对于用户来讲,这种App很难被用户发现
附:原生App 与 移动Web App:您如何选择?
因此在你准备作移动App时,你应该先问问本身如下几个问题:
1. 你的应用是否须要使用某些设备的特殊功能,好比摄像头,摄像头闪光灯等
2. 你的开发预算是多少?
3. 你的应用是否必定须要网络
4. 你的应用的目标硬件设备是全部的移动设备仍是仅仅只是一部分而已
5. 你本身已经熟悉的开发语言
6. 这个应用对于性能要求是否苛刻
7. 如何靠这个应用赢利网络