之前一直在做JAVA的项目。近期要开发移动端。对App的开发刚開始的时候是没有不论什么概念的。有接触也就是玩手机用过的N多App,这算是真正意义山的第一次和App握手相识!
App,你知道多少?
眼下主流的应用程序有三大类:
一、 什么是Native App?
Native App即原生应用。即我们一般所称的client,是针对不同手机系统单独开发的本地应用,如需使用须要先下载到手机并安装,下载Native App的最常见方法是訪问应用程序商店,如苹果的App Store、安卓市场、Google Play等。
在技术实现上一般採用针对操作系统的特定语言进行编写,如:使用Objective-c开发IOS应用,使用Java+Android开发android应用。
长处
- 执行效率高
- 可调用各种设备资源
缺点
- 人力成本高
- 公布速度慢(AppStore确认的时间非常长)
- 更新版本号的问题(用户就是不更新。)
- 实现图文混排等功能拥有各种坑!
二、 什么是Web App?
Web App又叫Web应用。简单的说就是一个触屏版的站点。Web应用全然用HTML、JavaScript和CSS等Web技术开发,通过移动设备的浏览器来訪问,缺点是这些基于浏览器的应用无法调用系统API来实现一些高级功能。也不适合高性能要求的场合。WebApp的核心思路:
常见Web App框架对照:
长处
- 开发成本低,使用现有的Web开发技术就可以
- 适用范围广。覆盖全部智能手机,跨平台和终端
- 方便、快捷地部署,无需用户安装
- 用户总能訪问到最新版本号。迭代更新easy
- 可被搜索引擎收录并带来流量
缺点
- 浏览体验短期内还无法超越原生应用
- 不支持离线模式(HTML5将会解决问题)
- 消息推送不够及时
- 调用本地文件系统的能力弱
- 较差的和较慢的性能体验(大部分须要链接互联网)
- 支持图形和动画效果较差
- 不适用于应用商店及没有靠下载应用盈利机会
- 限制用户使用功能(比方。相机、GPS等)
Web APP 的开发基于Html5语言。
而Html5语言本身又有着不可避免的局限性。
正是这些局限性的存在,使得Web App在体验中要逊于Native App。详细的首先因素及设计要点大家能够去參考《聊聊Web App、Hybrid App与Native App的设计差异》
三、 什么是Hybrid App?
Hybrid App又叫混合应用,是一种介于Native App、Web App之间的App,它尽管看上去是一个Native App,但仅仅是一个UI WebView,里面訪问的是一个Web App。Hybrid App实质是伪造一个浏览器的apk/ipa原生程序,并执行了一个Web APP。Hybrid App兼具“Native App良好用户交互体验的优势”和“Web App跨平台开发的优势”。它能够使web开发人员能够差点儿零成本的转型成移动应用开发人员,而且同样的代码仅仅需针对不同平台进行编译就能实现在多平台的分发。而相较于Web App,开发人员能够通过包装好的接口。调用大部分经常使用的系统API。
长处
- 综合了开发效率和执行效率
- 发版本号更方便
缺点
- 执行效率中等(切换等交互效果)
- 须要写一点原生代码(至少2个平台)
四、 Web App、Hybrid App、Native App比較
条件应用程序 | Web App | Hybrid App | Native App |
---|---|---|---|
开发成本 | 低 | 中 | 高 |
维护更新 | 简单 | 简单 | 复杂 |
体验 | 差 | 优 | 优 |
Store或market认可 | 不认可 | 认可 | 认可 |
安装 | 不须要 | 须要 | 须要 |
跨平台 | 优 | 优 | 差 |
开发语言 | 网页语言HTML5+JS | 网页或原生语言 | 原生语言ObjectC、java、net等 |
跨平台性 | 高 | 高 | 低 |
设备能力 | 低 | 高 | 高 |
向后兼容 | 好 | 好 | 差 |
从上面的表格中能够看出,没有哪一种开发方法总是提供全部的长处。
每一种开发方法有天生的局限性,没有哪一种方法能够满足现代移动企业的全部要求、应对复杂情况。选择一种合适的方法取决于企业的详细要求,可能取决于诸多因素,比方预算、时间表、内部资源、目标市场、所需的应用程序功能、IT基础设施及其它很多方面。可是有一点非常清楚:现在的大多数公司显然在两个方面之间作取舍:一是用户体验和应用程序功能,还有一是开发成本和产品上市时间。问题就变成了选择一种合适的开发方法,能兼顾企业的要求和其在预算和产品上市时间方面的限制。
參考文章:
码字非常辛苦,转载请注明出处:令仔非常忙—-《Hybird App(一)—-第一次接触》