跳至主要內容

APP开发-概念篇

星火燎原@vxhly大约 4 分钟appAppWebAppNativeAppHybridApp

前言

表面上看, 手机 App 都是同样的东西, 就是手机上的应用程序, 点击图标就能运行, 但是它们的底层技术不一样。接下本篇将介绍一下常见的 APP 开发技术以及其的优缺点。

文章著作权声明

分类

按照 APP 的开发技术, APP 大概可以分为以下三类

App 分类

  • 原生应用(native application, 简称 Native App)
  • Web 应用(web application, 简称 Web App)
  • 混合应用(hybrid application, 简称 Hybrid App)

优缺点对比

特性Native APPWeb APPHybrid APP
开发语言原生语言(Objective-C、Java、. Net)网页语言(HTML5+CSS+JS)原生语言+网页语言
跨平台性
设备访问能力
开发成本
用户体验较好
安装体验高(通过应用商店安装)中(通过移动浏览器)高(通过应用商店安装)
升级灵活度低(总通过应用商店升级)中(总通过应用商店升级)
向后兼容
维护更新复杂简单简单
高级图形

Native App

定义

Native App 是一种基于智能手机本地操作系统如 iOS、Android、WP 并使用原生程式编写运行的第三方应用程序, 也叫本地 App。原生 App 使用与手机操作系统相同的语言。iOS 的原生 App 使用 Objective-C 语言或 Swift 语言, 安卓使用 Java 语言或 Kotlin 语言。由于跟底层系统的语言和技术模型一致, 所以原生 App 的性能和用户体验都很好。

优缺点

优点

  1. 较好的性能和体验
  2. 可以使用系统的所有硬件和软件 API, 比如 GPS、摄像头、麦克风、加速计、通知推送等等, 能充分发挥系统的潜力

缺点

  1. 开发成本高, 每个手机平台都要建立一个独立的开发团队, 一般都有 iOS 和安卓两个开发团队。如果出现第三个平台(以前的 Windows Phone, 也许将来的华为鸿蒙 OS), 就要组建第三个团队, 成本就更高。
  2. 原生 App 使用底层操作系统的语言, 都是很重的编译型语言, 开发和调试成本相对较高, 时间周期长
  3. 原生 App 必须下载安装才能使用, 只要升级版本, 就必须重新下载安装。用户往往不愿意更新版本, 厂商被迫不得不长期支持很久以前的旧版本。

Web App

定义

WebApp 是指基于 Web 的系统和应用, 其作用是向广大的最终用户发布一组复杂的内容和功能。WebApp 提供一种简单的方式来开始为 App Engine 开发应用程序。Web App 就是运行于网络和标准浏览器上, 基于网页技术开发实现特定功能的应用。

优缺点

优点

  1. 不需要下载安装, 打开浏览器就能使用, 而且总是使用最新版本
  2. 对于开发者来说, Web App 写起来比较快, 调试容易, 不需要应用商店的批准就能发布。

缺点

  1. 浏览器提供的 API(即 Web API)很有限(目前只有相机、GPS、电池等少数几个), 大部分系统硬件都不能通过网页访问, 也无法直接读取硬盘文件, 所以 Web App 无法充分利用平台的硬件。
  2. 网页通过浏览器渲染, 性能不如原生 App, 不适合做性能要求较高的页面。

阻碍推广缘由

为了推广 Web App, 谷歌公司的 Chrome 浏览器团队做了很多努力。他们认为, Web App 足以满足大多数 App 的需求, 但是三大缺陷阻碍它的推广。

  1. 不能从手机的首屏直接进入。
  2. 缺乏手机状态栏和锁屏时的通知推送能力。
  3. 不支持脱机访问(即断网也能使用)。

Hybrid APP

定义

Hybrid App, 基于第三方跨平台移动应用引擎框架进行开发。使用 HTML5 和 JS 作为开发, 调用引擎封装的底层功能如照相机、传感器、通讯录等。其具有 Native App 良好用户交互体验的优势, 同时, 具有 Web App 跨平台开发的优势。

打赏
给作者赏一杯咖啡吧
您的支持将是我继续更新下去的动力
微信微信
支付宝支付宝