Flutter与React Native针对移动开发的比较

译文
移动开发 Android
就在几年之前,我们还会看到各种移动应用程序需要在Android Studio里使用Java来进行开发。然而,在Google推出了Kotlin之后,人们不再过于关注针对框架的开发了。本文将从多个方面综合比较Flutter和React Native两种移动应用开发框架的优劣势。

【51CTO.com快译】就在几年之前,我们还会看到各种移动应用程序需要在Android Studio里使用Java来进行开发。然而,在Google推出了Kotlin之后,人们不再过于关注针对框架的开发了。

[[275194]]

现如今,业界的开发人员普遍开始使用Flutter和React Native之类新的框架,来开发各种移动应用程序了。这些新生的框架不但能够使得应用程序的编写过程更为容易,而且能够给用户带来更多的跨平台功能,并且能够支持横跨不同域的开发。

基本比较

简单而言,如果您需要在应用程序中包含某些动态功能的话,那么请使用React Native框架。它能够支持比Flutter更多的第三方库。鉴于Flutter是一个相对较新的框架,其社区仍然在不断地发展和完善之中,因此您可能很难找到高质量的在线使用教程。

而作为对比,React Native如今已经稳固了其市场占比,因此它拥有着比Flutter更为庞大的社区,您可以从中获得基于不同行业的各种在线帮助。此外,随着那些经验丰富的JavaScript开发人员在React Native社区中越来越活跃,他们更愿意、也更频繁地将自己所掌握的先进知识和技能分享出来。

就程序代码的可重用性而言,Flutter允许用户针对新的开发任务,直接修改现有的代码。然而,React Native的代码可重用性则相对较为复杂。鉴于其现有的平台样式,该框架需要用户付出更多的工作量。

框架开发人员

由Google推出的Flutter,自2017年面世以来,其实用的功能、以及易于开发移动应用的特性,备受业界的欢迎。而React Native则是由Facebook于2015年开始研发,2017年推出的产品。因此,如果您想通过诸如HTML、JavaScript和CSS等Web技术,创建运行在某个容器中的混合应用程序,以供用户手机上的兼容性网页来访问的话,那么这两个平台都是您的好选择。下面,我们将针对混合应用程序的开发,进行两种框架的优势比较。

哪个更稳定?

众所周知,我们在为大型项目研发应用程序时,应用本身的稳定性是尤为重要的。与此同时,应用程序应该能够随着用户数的增加,持续保持其稳定性。那么,就项目规模而言,大多数开发人员会针对大型项目推荐使用React Native来开发应用,他们普遍认为由Flutter开发的应用程序不太适合于大型项目。

在我看来,虽然React Native与Flutter在所支持的用户数量方面不相上下,但是React Native的稳定性的确见长。这主要是因为,其庞大的社区能够保障该框架的可持续改进,即使它的某些功能特性在某个特点应用上碰到问题时,该社区也能很快找到弥补、甚至是替换方案。

语言

如前所述,这两个框架都能够支持混合式的应用程序开发。因此,您完全可以使用相同的编程语言,来创建Android和iOS版本的应用程序。具体说来,在跨平台开发方面,React Native使用的是JavaScript,而Flutter则用到了Dart。由于支持JavaScript,而恰好业内许多开发人员都具有此类经验,因此大家普遍认为使用React Native框架开发起来,会更加得心应手。相比之下,Dart较为新颖,许多开发人员对它不甚了了。

界面上的比较

许多熟悉这两个框架的人都一直认为:由于用到了各种原生的组件,因此React Native提供了一个更新颖、更优秀的用户界面。而Flutter则需要依赖各种不同的部件集合(widget sets)。尽管Flutter的部件集合为用户提供了自定义用户界面的多重选择,但是有时候这种自定义方式反而会影响用户在使用中的直观体验。

测试

在测试方面,由于Flutter为用户界面提供了不同的内置测试单元,因此它的优势较为明显。相反,由于React使用的是JavaScript,因此它并没有许多可用的官方测试工具。虽然您可以使用Jest测试工具,来进行快照式的测试,但是如果您想通过测试用户界面,来发现具体问题的话,React并没有提供合适的官方测试工具。当然,您可以从Detox等非官方测试工具处获得帮助,以测试那些由React Native构建的应用程序,不过此类测试的成功性并无保证。

相关的指南支持

下面,我们来比较一下两者的在线文档与指南。由于Flutter提供了完备的在线和离线式文档,开发人员可以轻松地使用相关文档来开发应用程序,因此Flutter略胜一筹。而且,由于Flutter文档提供了简化复杂任务的快捷方式,因此Flutter开发人员更容易在较短时间内,创建出自己的移动应用。

不可否认,React Native也提供了相应的文档,但其文档的条理结构程度远不及Flutter。

结论

综上所述,我们得出了这样的结论:如今,由于得到了来自世界各地开发人员、以及相关行业的支持,React Native无疑在移动应用开发领域得到了、而且还将被继续广泛地被运用在不同的移动开发项目中。不过正所谓:“江山代有人才出”,Flutter的社区规模也在持续增长,业界不少开发人员满怀信心地认为,Flutter必将成为移动应用开发的未来。

原文标题:Comparison Between Flutter vs. React Native for Mobile App Development,作者:vibha Pareek

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

责任编辑:未丽燕 来源: 51CTO.com
相关推荐

2023-02-09 07:15:52

开发FlutterReact

2023-03-07 16:12:32

2021-04-17 18:19:23

FlutterReact Nativ开发

2024-02-20 01:53:01

ReactFlutter开发

2021-07-26 08:00:00

开发工具Flutter

2021-06-08 13:29:56

FlutterReact Nativ开发

2016-08-12 13:55:06

2017-09-11 14:35:34

编辑器开发环境React

2016-07-29 13:47:05

RethinkDBWeb

2016-06-06 17:26:22

平台开发

2016-08-12 08:49:46

React NativFacebookNative

2011-05-11 09:47:14

mobl移动web开发

2016-08-15 13:34:37

React NativiOSjs入口

2016-01-13 09:37:00

IDC混合开发react nativ

2015-02-05 09:42:00

移动开发虚拟讨论

2013-10-09 09:10:28

移动应用开发NativeHybrid

2017-08-18 08:45:44

移动动态化蜂鸟架构

2024-05-15 11:42:33

FlutterWeb 库应用程序

2020-07-27 09:53:22

FlutterReact NativUI库

2014-07-28 09:15:02

开发框架
点赞
收藏

51CTO技术栈公众号