在Flutter和React Native之间进行选择的工具

In 2020, no matter what kind of application you want to create, you’ll be able to find your perfect mobile app development platform. I wrote in a previous article about the Dilemma between Native and Progressive Web Apps and how to find your best fit when you start a new mobile project. But, we also have the option to use compiled apps.

在2020年,无论您想创建哪种应用程序,都将能够找到理想的移动应用程序开发平台。 我在上一篇文章中写道,有关本机和渐进式Web应用程序之间的难题,以及在启动新的移动项目时如何找到最合适的解决方案。 但是,我们也可以选择使用编译的应用程序。

That’s why, in this article, we’ll compare and share tools to choose between the two top cross-platform mobile development frameworks, Flutter and React Native, which allow us to create apps that are compiled to native code.

因此,在本文中,我们将比较和共享工具,以在两个顶级的跨平台移动开发框架Flutter和React Native之间进行选择,这些框架使我们能够创建编译为本机代码的应用程序。

什么是颤振? (What Is Flutter?)

Flutter is an open-source software development kit built by Google. It is used to develop apps for multiple platforms like Android, iOS, Linux, Fuchia, and the web from a single codebase.

Flutter是Google制作的开源软件开发套件。 它用于从单个代码库为Android,iOS,Linux,Fuchia和Web等多个平台开发应用程序。

Flutter uses Dart, a new object-oriented language developed by Google, compiled to an ARM, C/C++ Library which communicates with the native code. Its initial release was in 2017.

Flutter使用Dart,这是Google开发的一种新的面向对象语言,已编译为与本机代码通信的ARM C / C ++库。 它的最初版本于2017年。

Pros of building an app with Flutter :

使用Flutter构建应用的优点:

  • Language: Dart is close to Java, C, C++ and is easy to learn if you already know those object-oriented languages.

    语言:Dart与Java,C,C ++接近,如果您已经知道那些面向对象的语言,它很容易学习。
  • UI: Flutter doesn’t depend on the native graphic component so your app will look the same with Android and iOS. There are also many widgets available with Flutter framework.

    用户界面:Flutter不依赖于本机图形组件,因此您的应用在Android和iOS上将看起来相同。 Flutter框架还提供许多小部件。
  • Performance: React Native Javascript is interpreting and uses a javascript bridge while Flutter apps are compiled into a native app using a C++ engine.

    性能:当Flutter应用程序使用C ++引擎编译为本机应用程序时,React本机Javascript会解释并使用JavaScript桥。

On the other hand, the principal drawback is the community :

另一方面,主要缺点是社区:

  • Community: Dart language is still “new” and Flutter initial alpha release was back in May 2017 so it’s much younger than React Native framework. However, we can add that Flutter’s documentation is very good.

    社区:Dart语言仍然是“新”语言,Flutter的初始Alpha版本是在2017年5月,所以它比React Native框架要年轻得多。 但是,我们可以添加Flutter的文档非常好。

用Flutter构建的应用程序: (Apps built with Flutter :)

  • Xianyu Alibaba

    仙宇阿里巴巴
  • Google Ads

    Google Ads

什么是React Native? (What Is React Native?)

React Native is a JavaScript framework created by Facebook and released to the public in 2015. The principles behind React Native are similar to React but React Native runs in a background process and communicates by serialization and bridge with the native platforms.

React Native是由Facebook创建并于2015年向公众发布JavaScript框架。ReactNative的原理类似于React,但React Native在后台进程中运行,并通过序列化进行通信并与本地平台进行桥接。

React Native can be used to built apps for multiple platforms like Android, iOS, web but also UWP (Universal Windows Platform), a computing platform built by Microsoft.

React Native可以用于为多个平台(例如Android,iOS,Web)以及UWP(通用Windows平台)(由Microsoft构建的计算平台)构建应用程序。

使用React Native构建的应用程序: (Apps built with React Native :)

  • Facebook

    脸书
  • Pinterest

    Pinterest
  • Instagram

    Instagram
  • Uber Eats

    优步吃
  • Skype

    Skype的

Pros of building your app with React Native:

使用React Native构建应用程序的优点:

  • Programming language: For web developers, it will be easy to build a mobile app using React Native as you’ll be able to use your javascript knowledge.

    编程语言:对于Web开发人员而言,使用React Native可以轻松构建移动应用程序,因为您可以使用自己JavaScript知识。
  • Community: Javascript has been used for a long time and there is a huge community.

    社区:Java语言已经使用了很长时间,并且有一个庞大的社区。

On the other hand, there are some limits :

另一方面,有一些限制:

  • UI: With React Native, you have to reach out to different libraries. So it will be often faster with Flutter using Flutter’s UI widgets.

    用户界面:使用React Native,您必须接触到不同的库。 因此,使用Flutter的UI小部件使用Flutter通常会更快。
  • Supporting new versions: Flutter has good backward compatibility compared to React Native that often breaks with updates.

    支持新版本:Flutter与React Native相比具有良好的向后兼容性,而React Native通常会随着更新而中断。

So now let’s sum up the similarities and differences between Flutter and React Native :

现在,让我们总结一下Flutter和React Native之间的异同:

相似之处: (Similarities :)

React Native and Flutter are quite similar in many aspects as they are :

React Native和Flutter在很多方面都非常相似,因为它们是:

  • Cross-platform mobile app Frameworks.

    跨平台的移动应用程序框架。
  • Maintened by Huge Tech Companies: Google and Facebook.

    由大型科技公司维护:Google和Facebook。
  • OpenSource.

    开源。
  • Best options apart from going pure native.

    除了采用纯本地语言之外,最好的选择。

差异: (Differences :)

  • Performance: Flutter Perform better than React Native as React Native Javascript is interpreting.

    性能:Flutter比React Native表现更好,因为React Native Javascript正在解释。
  • Programming language: Flutter uses Dart while React Native uses JavaScript.

    编程语言:Flutter使用Dart,而React Native使用JavaScript。
  • Final “look” of your app on different platforms: With Flutter, your app will look the same between Android and iOS as Flutter doesn’t depend on the native graphic component.

    应用程序在不同平台上的最终“外观”:使用Flutter,您的应用程序在Android和iOS之间的外观将相同,因为Flutter不依赖于本机图形组件。
  • Community: React Native is older, so there is a bigger community than for Flutter.

    社区:React Native较老,因此社区比Flutter更大。

Always keep in mind that you have multiple options for developing an app. However, it’s interesting to understand the similarities and differences between those options to adapt your situation with what is available for you.

请始终记住,开发应用程序有多种选择。 但是,了解这些选项之间的异同是很有趣的,以使您的情况适合您的情况。

翻译自: https://medium.com/dev-genius/tools-to-choose-between-flutter-and-react-native-e14f612c6fd8

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值