APP开发 原生/H5/混合/React Native哪个强
时 间:2018-05-16     浏览:9774

APP的开发模式可分为四种:原生应用Native App、网页应用 Web App、混合开发 Hybrid App、React Native。

使用相应移动平台特有的开发工具和语言进行开发。

当今最流行的两大移动端平台Android和i0S各有自己的一套独立的开发模式。

基于Android平台的Java语言开发

基于iOS平台的Obective-C语言/Swift语言开发

优点

1. 执行速度快,界面流畅,动态效果出色

2. 性能稳定,对网络的依赖性小

3. 用户体验趋于完美,用户留存率高

4. 可以非常方便地调用操作系统提供的各种功能及终端硬件设备,如读取本地通讯录、推送通知提醒、调用摄像头等

缺点

1、Android和iOS上的应用需要单独开发、维护,开发成本很高。周期长,价格高。

2、升级更新繁琐,每个系统要单独更新,程序猿完成工作后,开发者要重新上传,然后审核,用户才能更新。IOS的审核至少需要一周,所以对于产品运营,无疑会加大时间投入。

3、分发成本高。

应用

原生开发适用于无需经常更新程序框架的APP。

除此之外,游戏类的APP由于要大量加载显卡及动画效果,也通常采用原生模式进行开发。

Web App是移动网页开发模式,借鉴了传统Web开发方式,利用 HTML , CSS , JavaScript 等技术模仿Native App的界面结构,开发适合于移动端显示的 网页 ,并通过手机上的 浏览器 解释执行。

这里要特别提一下HTML5,即H5。严格意义上来说它是第五代HTML标准,并不是一项技术。而我们平时习惯从广义上讨论H5,将它打包成一个解决方案,即看起来很酷炫的移动onepage网站的解决方案,包括HTML5新增的audio标签,canvas,拖拽特性,本地存储,websocket通信,同时也包括了CSS等。

1. 可跨平台,跨设备,开发成本小。周期短,价格低。

3. 安装包小巧,只包含框架文件,而大量的UI元素、数据内容存放在云端。

2. 完全自控,可在网页上直接调试、修改,可实现实时数据交互,升级更新。用户不用重新安装,无须官方审核及应用商店。

1. 受限于网络环境,没有网络的Web App几乎没有任何功能。页面跳转需要发送网络请求,再通过浏览器解释执行,交互时间长。若遇到网络不稳定情况,用户使用中会有断断续续不流畅的感受。

2. 受限于渲染性能。对复杂图形、动态效果、自定义字体等支持性不强。

3. 无法很好地调用操作系统提供的硬件设备(如摄像头)。

4. 用户体验很差

适用于商城类APP、资讯、企业集团等需经常更新内容的APP应用。

小结

Hybrid App是混合开发模式,这种模式将 Native App与Web App进行混合开发 ,一部分 基本界面 用手机系统的 原生 语言开发。另一部分 功能界面 用 Web 技术开发移动端网页,利用原生语言中的WebView进行显示网页,这部分功能能在不升级APP的情况下动态更新,且在iOS或Android的App上同时运行。

混合开发根据侧重点分为三种方案:Web架构为重、编译转换、Native架构为重。

这里有种极端情况是只包了原生的壳,里面其实是H5网页,大家要有所了解。

Hybrid App结合了Native App和Web App两种开发模式,把这两种开发模式的优点和缺点折中互补。总体费用在原生开发和HTML5开发模式之间。开发周期也在两者之间。简而言之,中庸之选,在Native APP和Web APP两者之间。

React Native起源于Facehook的内部项目。它不提供“write once, run anywhere”的解决方案,并不能真正意义上解决同一份代码,不同平台运行。而是创新的提出了“Learn once, write anywhere”,即学习一次,可以在N个平台使用。

React Native App是采用 React Native框架 开发的跨平台移动应用。这个框架的原理是 基于网页开发技术并利用JavaScript语言与两大平台上的原生语言Java和objective-C进行交互,互相调用,从而达到使用JavaScript来写原生应用的目的 。

1. 跨平台,代码可复用于两个平台,组件化思想可以帮助开发者增加效率。

2. 动态更新。程序的JavaScript代码放在服务器上,用户在本地备份执行,在程序升级更新时客户端自动从服务器下载代码到本地解释执行,实现了 热更新 。JavaScript代码占用的空间很小,相当于一份文档,如今的网络速度下载这份代码用户几乎察觉不到。

3. React Native App的性能只比Native App差一点,比Web App和Hybrid App强很多,用户体验较好。

4. 有个好爹哈哈

1、扩展性不如Web,更远远不如Native。

2、发展时间短,不够成熟,不够稳定,不够完善,生态系统还在搭建中。


上一篇:浅谈App原生开发、混合开发及HTM        下一篇:没有了
版权所有:安庆徽信网络科技有限公司
copyrignt 2015-2020 www.aqhuixin.com   皖ICP备14010304号-1
皖公网安备 34081102000177号