Native App、Web App 仍是Hybrid App?(转)

1、什么是Native App?html

Native App即原生应用,即咱们通常所称的客户端,是针对不一样手机系统单独开发的本地应用,如需使用须要先下载到手机并安装,下载Native App的最多见方法是访问应用程序商店,如苹果的App Store、安卓市场、Google Play等。在技术实现上通常采用针对操做系统的特定语言进行编写,如:使用Objective-c开发IOS应用,使用Java+Android开发android应用。android

Native App的优势:web

  • 能够在应用商店轻易地找到而且能在手机主屏幕上生成相应的图标
  • 能够利用系统API及平台特性,访问手机的提供的功能(GPS,相机等)
  • 可访问本地资源,支持离线工做,节省用户的流量成本
  • 可针对不一样平台提供不一样的体验,针对平台特性去作用户体验优化
  • 与系统高度切合,可得到更快的运行速度和性能,并支持丰富的图形和动画。

Native App的缺点:浏览器

  • 开发成本高,须要针对不一样平台须要不一样的技术背景进行开发
  • 维护成本高,用户必须手动下载更新,历史版本又不能不维护
  • 未知的上线时间,须要经过应用商店的审核

Native App最大的优点就是可使用操做系统开发商提供的API。这些API能够分为两大类:低级API和高级API。服务器

  • 低级API:应用程序能直接与触摸屏或键盘进行联系、渲染图形、链接至网络、处理从麦克风收到的音频、经过扬声器或麦克风播放声音,或者接收来自摄像头的图像或视频。应用程序能访问全球定位系统(GPS)、接收方位信息,固然还能够读写固态硬盘上的文件,或者访问现有和未来会有的其余任何硬件元件。
  • 高级API:提供对我的移动体验来讲很重要的较高级服务,这类服务包括浏览Web,管理日历、联系人资料和相册等,固然还包括打电话或收发文本消息的功能。

操做系统提供的另外一组重要的API是GUI工具包。每一种移动操做系统都随带各自的一组用户界面组件,好比按钮、输入区、滑块、菜单、菜单栏、对话框及其余。可使用这些组件的应用程序继承了该特定移动操做系统的外观和感受,一般会带来很是流畅的用户体验。网络

2、什么是Web App?app

Web App又叫Web应用,简单的说就是一个触屏版的网站。Web应用彻底用HTML、JavaScript和CSS等Web技术开发,经过移动设备的浏览器来访问,缺点是这些基于浏览器的应用没法调用系统API来实现一些高级功能,也不适合高性能要求的场合。工具

Web App的优势:性能

  • 开发成本低,使用现有的Web开发技术便可
  • 适用范围广,覆盖全部智能手机,跨平台和终端
  • 方便、快捷地部署,无需用户安装
  • 用户总能访问到最新版本,迭代更新容易
  • 可被搜索引擎收录并带来流量

Web App的缺点:优化

  • 浏览体验短时间内还没法超越原生应用
  • 不支持离线模式(HTML5将会解决这个问题)
  • 消息推送不够及时
  • 调用本地文件系统的能力弱
  • 较差的和较慢的性能体验(大部分须要连接互联网)
  • 支持图形和动画效果较差
  • 不适用于应用商店及没有靠下载应用盈利机会
  • 限制用户使用功能(好比,相机、GPS等)

移动Web App是一种颇有但愿的趋势。为了牢牢抓住这个趋势,帮助开发者构建客户端用户界面,已开发出愈来愈多的JavaScript工具包,好比Sencha Touch和jQuery Mobile,它们建立的用户界面在外观和感受上与Native App大同小异。二者都彻底在移动设备的浏览器里面执行,充分利用了现代移动浏览器所提供的最新JavaScript、CSS和HTML5特性。

3、什么是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。

Hybrid App的优势:

  • 支持多平台访问
  • 手机功能均可访问
  • 适用于应用商店
  • 部分支持离线功能

Hybrid App的缺点:

  • 未知的部署时间
  • 用户体验不如本地应用
  • 性能速度较慢(需连接网络)
  • 该技术还没有发展成熟,依然是一门新技术

Hybrid开发方法结合了Native开发和Web技术。借助这种方法,开发者就能使用跨平台Web技术,开发应用程序的大部分代码,又能够在须要时直接访问Native API。App的Native代码部分使用操做系统的API来建立嵌入式HTML渲染引擎,该引擎在浏览器和设备的API之间充当了桥梁。这座桥梁让Hybrid App得以充分利用现代设备所提供的所有特性。App的Web部分多是驻留在服务器上的网页,也多是一组HTML、JavaScript、CSS和媒体文件,封装到App代码中,存储在设备本地。放置在服务器上的HTML代码让开发者没必要经历提交和批准过程,把Web代码封装到App里面能够提升性能和可访问性。

若是企业使用Hybrid开发方法,就能集二者之所长。一方面,Native让开发者能够充分利用现代移动设备所提供的所有不一样的特性和功能。另外一方面,使用Web语言编写的全部代码均可以在不一样的移动平台之间共享,使得开发和平常维护过程变得集中式、更简短、更经济高效。

4、Native App、Web App和Hybrid App的比较

Native开发方法在性能和设备访问方面很出色,但成本和更新方面有缺点。Web方法更新起来简单得多,成本较低,也更容易,可是目前功能有限,也没法得到使用Native API调用所能得到的那种出色的用户体验。Hybrid开发方法提供了折中方案:在许多状况下,它集二者之所长,若是开发者面向多种操做系统更是如此。

app-dev

从上面的表格中能够看出,没有哪种开发方法老是提供全部的优势。每一种开发方法有天生的局限性,没有哪种方法可以知足现代移动企业的全部要求、应对复杂状况。选择一种合适的方法取决于企业的具体要求,可能取决于诸多因素,好比预算、时间表、内部资源、目标市场、所需的应用程序功能、IT基础设施及其余许多方面。可是有一点很清楚:现在的大多数公司显然在两个方面之间做取舍:一是用户体验和应用程序功能,另外一是开发成本和产品上市时间。问题就变成了选择一种合适的开发方法,能兼顾企业的要求和其在预算和产品上市时间方面的限制。

转载:标点符 » Native App、Web App 仍是Hybrid App?

相关文章
相关标签/搜索