Ionic vs React Native: 移动开发哪家强 ?

选择合适的平台是开发人员在创建移动应用程序时面临的主要问题之一。据统计,iOS 和 Android 两大巨头已经有超过了十年的竞争。为了从软件开发的预算效益和时间效益的角度来寻求两个平台之间的妥协,引入了混合和跨平台的框架。

讨论这个主题时,首先想到的两个框架是Ionic和React Native,他们提供了一个解决问题的先进方案,还提供了易于获取的技术支持。

简要介绍框架

在开始分析和比较这两个框架的关键特性之前,让我们分别看一下每个框架。

Ionic:Ionic Framework 早在 2015 年就由 Drifty Co. 软件供应商定制协议为Apache Cordova。该框架的主要目标是开发混合软件,其接口和性能将尽可能接近本地解决方案。Ionic基于CSS,HTML5,Sass和Angular 1.x。到2016年,Drifty Co.发布了基于Angular 2.x的第二版Ionic-Ionic 2。

Ionic Framework 对于初学者是很友好的,它具有先进的CLI(有助于启动各种有用的功能)。该框架还有大量的便宜插件(价格不超过20 cu),开发人员无需使用第三方解决方案。如果你无法准确找到你需要的东西,可以看看 Cordova 插件 - 它们可以与基于该框架的软件完美地结合在一起。

React Native:在移动开发领域引起了轰动,React Native 是来自 Facebook 开发人员发布的完整的 JS 框架。RN 为开发人员提供了创建本地应用程序非常相似的跨平台软件的能力,它基于 ReactJS 库。

Ionic vs. React Native:开发者必须考虑的各个方面

如果您对开发工具的最终选择归结为这两种,那么您一定要了解 Ionic 和 React Native 的不同。

● 开发应用程序的类型。

Ionic 和 React Native 之间的第一个也是最重要的一个区别是它们创建的应用程序的类型。

Ionic 框架用于开发混合软件。使用 React Native,可以为每个选定的平台本地组件创建不同的选项。

● 可建模解决方案。

Ionic 是一个适合“一次编写,随处运行”的框架。这意味着,对正确书写和结构化的要求更高。另外,Ionic 允许用户可以在任何平台上开发同样的软件。但是,开发人员注意到这个框架创建的用户界面有些“粗糙”。

关于 React Native,可以创建一个尽可能接近本机的设计,虽然这个过程比 Ionic 要耗时,因为特定的元素必须为特定平台设置。

● 性能。

至于性能方面,混合应用程序可以说比跨平台应用程序慢,因为它们的速度取决于 WebView。

RN 具有跨平台方法更快的应用速度特性外,它还具有 React Fiber 算法,该算法去年实现了视觉渲染加速的目标(但是本质上来说,有 RF 的应用程序不会加速其操作;只有用户眼睛看到的组件的性能会加速)。这里的结论很简单。在 React Native vs. Ionic 的性能中, React Native 框架获胜。

● 个人风格。

Ionic 2 使用普通的 SASS 预处理器。在大多数情况下,在任何平台上创建一个通用样式是很有必要的。但是要注意的是“在大多数情况下”。但是在时间有限的情况下,浪费时间来重新定义每个平台的每个组件是不切实际的。

React Native 框架用 JavaScript 对象的格式表示的 CSS 详细语法,最终适应每个平台的需求。用 RN 编码,设计者只定义绝对值,没有机会定义比率。所以,如果你想集中在功能上,而不是实现的方式上,RN 是可取的。

● 合作适应性。

Ionic基于MVC-framework和Angular。因此可以在不同视图上区分相同的数据。所以可以让项目中成员的工作流程保持独立。相反,RN 可能会以某种方式限制合作,这与 Ionic 的观点是背离的。

● 语法细微差别。

要使用 Ionic,需要了解JavaScript或者将其他的语言翻译成JS。要使用React Native框架,需要了解ReactJS,JSX以及Redux和EcmaScript 2015的知识。

● 应用包装程序。

如果你的项目由许多独立的组件组成,那么打包和调试对于开发者来说是一个非常头痛的问题。RN 不会是这种情况。这个框架支持 Hot Reload ,它允许在保存状态的同时重新打包和更新已启动的应用程序。Ionic 在这方面有点落后。它只能提供 Live Reload 选项,而且在一些情况下还不能使用。

● 学习曲线。

如果你之前没有学习任何的框架,Ionic 更容易让新手掌握,该框架与CSS创建的解决方案相同,还有庞大的社区支持。实际案例的结构化文档丰富了 Ionic。它还具有大量的现成组件,不需要重新编程。

RN 则比较适合有经验的开发人员。它不以任何方式限制用户,给用户足够的自由。另一方面,RN的文档编制不够详尽,初学者会感到困惑。

● 应用程序的大小:

如何客观地评价在这两个框架下创建的应用程序的性能?可以简单地在命令提示符界面中生成空白的应用程序:

ionic start myApp blank –V2 //command for Ionic 2

react-native init AwesomeProject //command for React Native

估计一下两个框架创建的应用程序的大小:

Ionic 2

Ionic 2

React Native

React Native

Android

iOS

Android

iOS

4.0 Mb

17.9 Mb

16.35 Mb

4.6 Мб

Ionic 和 RN 都支持 Android 和 iOS 平台的软件开发。如果还需要在 Windows 通用平台具有兼容性,那么需要在 React Native 中安装支持插件(Ionic 默认支持该平台)。正如你所看到的,最合适的选择是Android开发中使用Ionic 2 和 iOS系统中使用React Native。

选择哪个框架?我们很难做出决定,因为两者都有各自的优点。选择哪一个框架,都是根据项目决定的。

∞∞∞∞∞

原文发布于微信公众号 - IT派(it_pai)

原文发表时间:2018-03-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编程微刊

进阶攻略|前端最全的框架总结

前端的技术日渐更新,最近得空,花了一上午的时间,将前端常见的UI框架总结了一下,在开发的过程之中,有了这些,不断能够提高自己的工作效率,还可以在工作之余了解更多...

42910
来自专栏小文博客

腾讯云学生机自动抢代金券脚本——自动抢代金券

7006
来自专栏编程微刊

进阶攻略|前端最全的框架总结

2173
来自专栏做全栈攻城狮

Winform零基础入门教程-开发美女音乐播放器软件 程序员

这是小白学习软件开发系列课程,旨在帮助对电脑编程感兴趣的朋友学习并熟悉电脑编程软件开发C#技术。其中基础部分已经讲解完毕,可以查看:电脑编程入门(10)-C#面...

2265
来自专栏SEO

搜索新规则下,移动端如何优化?

2986
来自专栏BestSDK

七个用户体验设计小秘诀,打造最舒服的互动流程

好的用户体验是将成功的应用程序与不成功的区分开。根据用户体验设计的好坏,用户每天都有得到和损失。设计移动应用程序时要注意最重要是确保它既直观又实用。显而易见,如...

3916
来自专栏性能与架构

为什么前端工程师越来越值钱?

前端工程师行情 下面是猎聘和拉勾上北京的前端工程师招聘信息截图 ? ? 行情是不是很不错 为什么值钱? 因为现在的前端开发工程师需要的技能越来越多了 ? 我所接...

38013
来自专栏玉树芝兰

如何用Markdown轻松排版知乎专栏文章?

免费、便捷、高效的知乎专栏Markdown排版技巧。希望本文可以让你的写作过程也变得更愉悦。

2562
来自专栏phodal

一次超帅的代码生成设计

需求 昨天,我看到这个Badge的时候,我就在想我也会创建一个自己的Badge。 ? 然后,我就可以这样到处粘贴: ? 看样子,我做的效果还是没有上面的好看...

3059
来自专栏极客编程

前端开发路线图——从小白到前端工程师

编者按:很多人都想学编程。但是苦于没有具体的步骤和指导。比如想找份前端开发的工作,却不知道应该先学习什么再学习什么,也不知道该选择什么样的工具。因为经常被人问到...

1851

扫码关注云+社区

领取腾讯云代金券