Ionic VS RN开发App

前端开发

APP开发


浏览:790 次

1、 离子

1.概念:

Ionic是一个基于Web技术HTML5、CSS3和JavaScript开发智能设备App的框架。它具有良好的跨平台性能,被称为混合App框架。该框架的目的是从web的角度开发移动App。基于PhoneGap(Cordova)的编译平台,App可以编译成各种平台。

2.Ionic能做什么?

它可以快速开发移动App、移动网页、混合App网页等

3.现状

Ionic4已经发布了基于Angular的官方版本,其对React和Vue的支持仍处于alpha状态(内部测试)。Ionic需要基于Angular开发。尽管一些组件或插件目前支持react和vue,但它的未来目标是支持大多数主流web框架,允许开发人员用他们喜欢的语言或框架开发移动App。

4.优点和缺点

有利条件

(1) Ionic基于Angular语法,易于学习

(2) Ionic是一个轻量级框架

(3) 快速开发和易于代码维护

(4) Ionic提供了许多UI组件,帮助开发人员开发功能强大的App

(5) Ionic提供了强大的命令行工具

(6) IOS和Android基本上可以共享代码,只需一次代码,并在任何地方运行

(7) 可以实现在线更新和及时的版本更新迭代

(8) 有比较完整的官方文件

缺点

(1) 兼容性不够好(android是低版本和低设备,它更注重手机兼容性而不是浏览器兼容性)

(2) 性能不够好,渲染速度慢

(3) 插件库管理不好,导致插件库维护成本高,部分功能的插件库可能缺失,需要自行打包

(4) 有些功能很难补充原来的功能,web技术无法解决所有问题

2、 ReactNative(简称RN)

1.概念:RN是一个基于JavaScript和React的跨平台开发框架,由Facebook开源。React通过虚拟DOM的操作来控制真实DOM,从而获得页面的本地更新,提高GPU的渲染性能。它提倡一次性学习,随时随地写作,所以学习反应,你可以在网页、android和ios平台上编写App。

2.RN可以做什么?

开发跨平台的app、android和ios平台,统一一套代码维护,实现相同的逻辑。在UI方面,除了一些APi或组件存在平台差异外,它们基本上可以实现相同的页面和交互。

3.现状

目前,RN的最新版本是0.62,而1.0的完整版本尚未产生。此外,相对缺乏学习文档,但有大量活跃的RN、相对活跃的社区和许多开源的第三方RN库。

4.优点和缺点

有利条件

(1) 它比原生开发更灵活高效,体验比h5更好,性能接近原生开发

(2) 远程代码调试和热加载

(3) 易于热更新,代码可以在线更新

(4) 跨平台,实现一套运行Android和ios移动设备的代码

(5) React Native无法实现,但可以通过原始代实现,这可以相互补充

缺点

(1) 较高的学习成本

(2) 即使是跨平台的,不同平台的Api功能和显示也可能不一致,某些组件的显示效果也可能在平台上有所不同

(3) 调试必须依赖于网络。如果没有网络,则无法加载js代码

(4) Android上的一些兼容性问题

总结和分析:

1.Ionic是基于Angular开发的。js,就像RN基于react-Like js一样,每个都有自己的优势。开发框架和技术选择需要根据项目要求确定。当然,我更喜欢RN开发App,至少在性能和功能方面如此。

2.Angular和React具有不同的渲染机制。Angular的脏检查使任何更改都有固定的更新成本,也就是说,任何微小的更改都会导致界面的重新绘制。而React通过虚拟DOM操作真实DOM,并通过计算状态变化的差异来呈现界面,只更新更改的内容。

当然,Angular也在不断优化,其渲染效率逐渐高于react。

3.在开发方面:Ionic只需要了解JavaScript、h5、css等,不需要对本地开发语言了解太多。它更适合web前端开发人员。RN不仅需要一些js基础知识,还需要一些Android和io的基础知识