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。