反应本机或Flutter

时间:2019-12-22 22:39:36

标签: react-native flutter frameworks

您好,我想查看一个新框架来开发应用程序。现在我想知道要选择哪个,例如React Native或Flutter。您能给我一些关于选择什么以及它们的优缺点的建议或经验吗?

谢谢!

1 个答案:

答案 0 :(得分:4)

摘要:

React使用JS,Flutter使用Dart

Flutter的学习曲线非常陡峭,因为如果您还不了解Dart,那么您还将不得不学习它以及一个新的框架(以及响应式编程)。

对于React Native,如果您使用过React或我确定使用的是JS,就很容易上手。

建筑

Flutter往往依赖于Google开发人员认可的BLoC pattern

React Native依靠FluxRedux

生态系统

Flutter于2017年5月问世,因此它的生态系统要比两年前才出现的React Native少。

编译

Flutter编译为设备本机代码,您可以在创建Flutter项目时对其进行更改。所有这些都是在一个线程上完成的!对于密集型作品,您可能需要使用Dart Isolate来旋转内存上的新位置来进行密集型作品,而Flutter则在UI和其他内容上起作用。 Dart专为异步工作负载而设计。 Dart有Streams和Futures(基本上是JS中的Promises)。您可以使用实质上将Redux引入Dart的包,以允许使用Observable(更好的Promises)。

React Native不会编译为本地设备代码,而是编译为等效的设备。 JS在单独的线程上运行,并通过网桥与UI组件通信。对于异步工作负载,您可以像在JS中那样使用Promises。

文档

就文档而言,React Native比Flutter更易于使用。虽然,Flutter确实具有所谓的食谱,并且易于跟代码示例一起使用。总体而言,这取决于您。

跨平台

Flutter允许您为应用程序制作比React Native更多的设备。 React Native仅适用于Android和iOS(尽管您可以使用react-native-web来制作Web应用,感谢@VilleKoo),而Flutter希望从支持桌面,Web应用以及上述iOS和Android。单一的代码库,令人印象深刻。请记住,网络支持处于beta测试阶段,台式机应用程序目前尚不稳定。

进一步阅读:

https://nevercode.io/blog/flutter-vs-react-native-a-developers-perspective/

https://hackr.io/blog/react-native-vs-flutter

https://hackernoon.com/react-native-vs-flutter-which-is-preferred-for-you-bba108f808