分享免费的编程资源和教程

网站首页 > 技术教程 正文

NativeApp WebApp HybridApp技术特性

goqiw 2025-03-03 18:35:54 技术教程 26 ℃ 0 评论

1.Native APP

优点:

  • 能够与移动硬件设备的底层功能,比如个人信息,摄像头以及重力加速器等等。

  • 可访问手机所有功能(GPS、摄像头)。

  • 速度更快、性能高、整体用户体验不错。

  • 可线下使用(因为是在跟Web相对地平台上使用的)。

  • 支持大量图形和动画

  • 容易发现(在App Store里面和应用商店里面)和重新发现(应用图标会一直在主页上),对于苹果而言,应用下载能创造盈利(当然App Store抽取20-30% 的营收)

  • 比移动Web App运行快

  • 一些商店与卖场会帮助用户寻找原生App

  • 官方卖场的应用审核流程会保证让用户得到高质量以及安全的App

  • 官方会发布很多开发工具或者人工支持来帮助你的开发

  • 页面存放于本地

缺点:

  • 开发成本高,尤其是当需要多种移动设备来测试时

  • 因为是不同的开发语言,所以开发,维护成本也高

  • 因为用户使用的App版本不同,所以你维护起来很困难

  • 支持设备非常有限(一般是哪个系统就在哪个平台专属设备上用)

  • 官方卖场审核流程复杂且慢,会严重影响你的发布进程

  • 上线时间不确定(App Store审核过程不一)

  • 内容限制(App Store限制)

  • 获得新版本时需重新下载应用更新(提示用户下载跟新,用户体验差)

2.Web APP

优点:

  • 跨平台开发、用户不需要去卖场来下载安装App,开发速度快

  • 任何时候都可以发布App,因为根本不需要官方卖场的审核

  • 纯H5 APP快速开发、低成本、多平台,与很多APP开发方式不同的是-图文混合的排版(正是这些复杂多变的CSS样式消耗了性能,但是它带来了排版的多样性,能够细致到每一个字宽行高和风格的像素级处理,才是H5的优异之处)

  • 支持设备广泛

  • 较低的开发成本

  • 可即时上线

  • 无内容限制

  • 用户可以直接使用最新版本(自动更新,不需用户手动更新)

  • 跨平台开发

  • 用户不需要去卖场来下载安装App

  • 如果你已经有了一个Web App,你可以使用 responsive web design来辅助改进

  • 页面存放于web服务器(受限于UIwebview)(减少了内存,但是会增加服务器的压力)

缺点:

  • 只能使用有限的移动硬件设备功能,无法使用很多移动硬件设备的独特功能

  • 要同时支持多种移动设备的浏览器让开发维护的成本也不低(也要适配不同的浏览器),如果用户使用更多的新型浏览器,那问题就更不好处理了

  • 对于用户来说,这种App很难被用户发现

  • 这里的数据获取都是在资源页面上异步完成的,因为只有这样才能让这些资源页面完成预加载或者渲染。(异步的话都涉及到耗时的问题)

  • 表现差(对联网的要求比较大)

  • 用户体验没那么炫

  • 图片和动画支持性不高

  • 没法在App Store中下载、无法通过应用下载获得盈利机会

  • 对手机特点有限制(摄像头、GPS等)

  • 无法体会包括会话管理、安全离线存储以及访问原生设备功能(摄像头、日历和地理位置等)

  • 页面跳转更加费力,不稳定感更强

  • 更小的页面空间(由于浏览器的导航本身占用一部分屏幕空间),更大的信息记忆负担

  • 导航不明显,原有底部导航消失,有效的导航遇到挑战

  • 交互动态效果收到限制,影响一些页面场景、逻辑的理解。比如登录注册流程的弹出、完成及异常退出,做好文字提示。

3.Hybrid APP

(1)第一种方案:Web架构为重

优点:

  • 全Web开发,一定程度上有利于Web前端技术人员快速地构建页面样式

  • 有利于在不同的平台上面展示同一个交互层

  • 便于调试,开发的时候可以通过浏览器的

  • 方式进行调试,工具丰富。

  • 兼容多平台

  • 顺利访问手机的多种功能

  • App Store中可下载(Wen应用套用原生应用的外壳)

  • 可线下使用

  • 页面存放于本地和服务器两种方式,部署应用程序(受限于UIwebview)

缺点:

  • 不确定上线时间

  • 虽然说你可以专注在界面以及交互开发上了,但是这页会成为一个缺点,比如说要仿造一个iOS的默认设置界面,就需要大量的html以及css代码了,而且效果不一定和iPhone上面的界面一样好

  • 用户体验不如本地应用

  • 性能稍慢(需要连接网络)

  • 技术还不是很成熟(比如Facebook现在的应用属于混合应用它可以在许多App Store畅通无阻,但是掺杂了大量Web特性,所以它运行速度比较慢,而现在为了提高性能FB又决定采用原生应用)

(2)第二种方案:编译转换方式

优点:

  • 利用自己熟悉的语言进行应用开发。

缺点:

  • 严重依赖于其工具厂商提供的工具包,调试的时候就要有全套的工具。

(3)第三种方案:Native架构为重(主流)

优点:

  • 最稳定的Hybrid App开发方式了,交互层的效率上由Native的东西解决了,而且架构上基本就是在App内写网页,连App Store都是采用了该种方案;

缺点:

  • 团队至少需要两个工程师,一个是Web的,一个是iOS或者Android的。当然如果开发人员会两种技术也可独立承担;还是运行效率,要权衡好多少界面采用Web来渲染,毕竟WebView的效率会相对降低,以前Facebook就是因为Web的渲染效率低下,把整个应用改为原生的解决方案。当然这里面可以通过优化来解决,但是优化也是有限度的。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表