Flutter vs React Native 到底哪个好

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mengks1987/article/details/84587289

1、前言

个人认为跨平台的开发技术是大势所趋,因为这可以节省人力、物力。说白了就是“省钱”。跨平台一直都在探索中,最早的webview,到后来的react native、weex,在到现在的flutter、kotlin native。我使用react native并在实际项目中使用大概有1年的时间,但后来放弃了,原因有很多,不仅仅是react native 存在诸多问题,还有一个很大的问题的团队会的不多。我们既然选择的coding,我们就应该知道这是一个活到老学到老的,新技术的诞生我们不一定要用到实际项目中,但我们可以画一些时间研究研究,看看它能解决什么问题,是否能提高我们的开发效率,就像android studio 仅仅1年就干死了eclipse,多学一些东西总是没有坏处的,回到主题,Flutter vs React Native 到底哪个好?我们从下面几个方法对比下:

2、对比

1、环境搭建

React Native:环境搭建比较复杂,我印象中当时至少搞了1天。
flutter:很容易,下载sdk,然后在android studio中安装flutter和Dart 2个插件即可,IOS环境未测试,但应该也一样。

2、开发ide

React Native:我当时使用的是android studio开发,没有代码提示(据说现在有了),开发效率不高。
flutter:开发环境比较完善。

3、混合开发

React Native:可以混合开发,而且可以1个activity对应一个React Native文件。
flutter:可以混合开发,但android中只能存在一个activity继承FlutterActivity。

4、性能

React Native:通过js桥接原生控件
flutter:有一套自己的渲染机制,理论上性能要比React Native,但肉眼所看的性能体验基本没区别,但React Native list 性能比较差。

5、第三方库

React Native:目前看社区还是比较活跃的,而且facebook很重视。
flutter:google亲儿子,刚刚起步,但发展应该不错。
所有的跨平台都有一个问题就是第三方库的支持,比如登录、分享、推送等都需要第三方去适配,但第三方很少去适配,所以混合开发会是主流

6、热重载

React Native 和flutter都有热重载技术,这比原生节省了很多开发时间,尤其是项目比较大的时候你会发现修改一个小地方然后编译运行,然后可以去休息了。。。

7、维护、升级

React Native:升级是一个很危险的事情。
flutter:还没具体升级。

8、学习成本

包括Kotlin在内我都觉得学习成本不是很高,一周基本都可以入门,高级api随用随查就好。

9、发展前景

个人感觉Flutter会好一些,主要是因为亲儿子。

10、跨平台

React Native:虽然打着跨平台,但很难做到一套代码全部适用。
Flutter:仅仅是demo阶段,不好说。。。

最后说说这些跨平台的使用,个人觉得目前这些技术都还不成熟,这些技术可以作为一个辅助,比如一些设置、关于等页面完全可以使用,最后强烈推荐 Kotlin,绝对可以提升30%以上的开发效率。

猜你喜欢

转载自blog.csdn.net/mengks1987/article/details/84587289