一篇真的很棒关于html5的Web App与Native App的技术分析 !
自Iphone和Android这两个牛逼的手机操作系统发布以来,在互联网界从此就多了一个新的名词-WebApp(意为基于WEB形式的应用程序,运行在高端的移动终端设备)。
开发者们都知道在高端智能手机系统中有两种应用程序:一种是基于本地(操作系统)运行的APP;一种是基于高端机的浏览器运行的WebApp,本文将主要讲解后者。
WebApp与Native App有何区别呢?
Native App:
1、开发成本非常大。
一般使用的开发语言为JAVA、C++、Objective-C。
2、更新体验较差、同时也比较麻烦
每一次发布新的版本,都需要做版本打包,且需要用户手动更新(有些应用程序即使不需要用户手动更新,但是也需要有一个恶心的提示)。
3、非常酷
因为native app可以调用IOS中的UI控件以UI方法,它可以实现WebApp无法实现的一些非常酷的交互效果
4、Native app是被Apple认可的
Native app可以被Apple认可为一款可信任的独立软件,可以放在Apple Stroe出售,但是Web app却不行。
Web App:
1、开发成本较低
使用web开发技术就可以轻松的完成web app的开发
2、升级较简单
升级不需要通知用户,在服务端更新文件即可,用户完全没有感觉
3、维护比较轻松
和一般的web一样,维护比较简单,它其实就是一个站点
移动APP与web APP的区别,能详解下吗?
Web App即是一种框架型APP开发模式(HTML5 APP 框架开发模式),该开发具有跨平台的优势,该模式通常由“HTML5云网站+APP应用客户端”两部份构成,APP应用客户端只需安装应用的框架部份,而应用的数据则是每次打开APP的时候,去云端取数据呈现给手机用户。
原生APP又称Native App,该开发针对IOS、Android、Windows等不同的手机操作系统要采用不同的语言和框架进行开发,该模式通常是由“云服务器数据+APP应用客户端”两部份构成,APP应用所有的UI元素、数据内容、逻辑框架均安装在手机终端上。
开发方面的区别
移动Web App
1、因为运行在移动设备的浏览器上,所以只需要一个开发项目
2、这种应用可以使用HTML5,CSS3以及JavaScript以及服务器端语言来完成(PHP,Ruby on Rails,Python)
3、这里可没有标准的SDK,基本任意选择别忘了有一些跨平台的开发工具,比如PhoneGap, Sencha Touch 2以及Appcelerator Titanium等等。
原生App
1、每一种移动操作系统都需要独立的开发项目
2、每种平台都需要独立的开发语言。Java(Android), Objective-C(iOS)以及Visual C++(Windows phone)等等
3、需要使用各自的软件开发包,开发工具以及各自的控件
能力方面的区别
移动Web App,只能使用有限的移动硬件设备功能。原生App,能够与移动硬件设备的底层功能,比如个人信息,摄像头以及重力加速器等等
获取方法的区别
移动Web App
1、从移动设备上的浏览器访问
2、不需要安装额外的软件
3、软件更新只需要服务器就够了
4、因为现在没有什么商品或卖场提供这种App,所以如何搜索这些移动Web App相当不简单
原生App
1、直接下载到设备
2、以独立的应用程序运行(并不需要浏览器)
3、用户必须手动去下载并安装这些原生App
4、有一些商店与卖场来帮助用户寻找你的App,目前app市场不计其数。
版本控制的区别
移动Web App,所有的用户都是用同样的版本。原生App,用户可以自由地选择是否更新软件版本,所以会出现不同用户同时使用不同版本的情况
原生App的优势:
1、比移动Web App运行快
2、一些商店与卖场会帮助用户寻找原生App
3、官方卖场的应用审核流程会保证让用户得到高质量以及安全的App
4、官方会发布很多开发工具或者人工支持来帮助你的开发
移动Web App
1、跨平台开发,用户不需要去卖场来下载安装App
2、任何时候都可以发布App,因为根本不需要官方卖场的审核
原生APP的特点:
1、每次获取最新的APP功能,需要升级APP应用;
2、原生型APP应用的安装包相对较大,包含UI元素、数据内容、逻辑框架;
3、手机用户无法上网也可访问APP应用中以前下载的数据。
4、原生型的APP可以调用手机终端的硬件设备(语音、摄像头、短信、GPS、蓝牙、重力感应等)
5、APP应用更新新功能,涉及到每次要向各个应用商店进行提交审核。
App测试方面
不管是移动web App还是原生App,都是需要在移动终端上运行的,那么对移动终端的兼容性配适的需求就是一样的。基本上线前,都需要进行app兼容性测试,app功能测试等,确保产品质量和用户体验。
移动Web无所不在,移动Web是目前唯一的支持各种设备访问的平台,与桌面Web一样,移动Web支持各种标准的协议。移动Web也是唯一一个可供开发者发布移动应用的平台,它将各种移动交互与桌面任务有效地连接了起来;而开发Native App可以充分利用设备的特性,而这一点往往是Web浏览器做不到的,所以对一个产品本身而言,Native App是最佳的选择。
原文地址:https://www.cnblogs.com/qwert1/p/9389809.html