关于flutter:Flutter-VS-React-Native跨端方案大-PK

23次阅读

共计 2369 个字符,预计需要花费 6 分钟才能阅读完成。

2021 年 12 月 30 日,融云主办的业内首个程序员综艺“猿桌派”第二期开播。节目聚焦经久不衰的技术选型问题,是跨端还是原生?是 Flutter 还是 React Native?

以下为精彩回顾:

从老本和市场笼罩的角度来看,跨端计划的劣势是微小的,写一次即可全平台运行。

那么,跨端计划如何选?Flutter 还是 React Native?

Flutter VS React Native:生态比照

通过 Flutter 和 React Native 在 GitHub 上的根底数据比照单方生态。

Flutter 的根底数据:Watch 3.6K,Fork 19.9K,Starred 134K。

Fork 代表潜在的开发者,有近两万人关注这门语言。Star 数自不必说,证实它的受欢迎水平。抉择第三方框架时,看 Star 数也会帮忙开发者升高筛选老本。

还有一个重要指标,Issues 数量。目前一共是 5K+,已敞开 5 万 +。这些数据,都阐明团队在保护 Flutter 的社区上十分用心,及时解决用户在应用过程中遇到的问题。

React Native 的根底数据:Watch 3.7K,Fork 21.6K,Starred 100K。其实从工夫周期上看,React Native 的数据是有劣势的。在这个前提下,单方 Watch、Fork 分数相差无几,Star 数落后。联合工夫周期思考,Flutter 胜出。

Issues 数量 1.9K,比拟起来,Flutter 这个数值更大。首先,这可能是因为用的人多,而且波及端线多,问题必定更多;其次,Issues 不代表代码或框架有问题,也有可能是开发者在应用的时候单纯对一些设计不太了解。

所以,社区凋敝度:Flutter > React Native

Flutter VS React Native:性能 PK

从几个维度,比拟 Flutter 和 React Native 对同一个我的项目的解决效率。

性能 PK 之 List view benchmarking

List view benchmarking,列表测试。

FPS,Native 60,RN 58,Flutter 60,根本打平,绝对简单的视图里,刷新率差不多。

CPU,在同样放弃 60 FPS 的状况下,Native 的 CPU 使用率 2.4%。

React Native 的 CPU 使用率 11.7%,是 Native 的 6 倍,阐明它冗余的工作很多。

Flutter 的 CPU 使用率是 5.4 %,差不多是 Native 的 2 倍。

内存,Native 是 58,React Native 是 139,Flutter 是 114。因为 Flutter 相当于是另外一套渲染引擎。

电量,Flutter 更优良一些。电量跟 CPU 占用成正比,React Native 还是比拟耗电的。

总之,从 List view 这一项的比拟来看,Flutter 吊打 React Native。

性能 PK 之 Heavy animations test

用 Lottie 来测 Heavy animations test,看同屏有很多 AE 动画的状况下,哪方的体现更杰出。

十分意外,同频有很多 Lottie 动画状况下的 FPS,Native 是 30,是最好的;React Native 29;Flutter 9。

React Native 可能通过桥用 Native 实现,只承当了转接的工作,所以跟 Native 差距并不大。

CPU 使用率 Native 是 18.9;React Native 是 15.6;Flutter 最低 12.8。电量方面也简直是打平。

从动画这一项来说,React Native 的体现是比 Flutter 胜出的,可能是因为 Flutter 没有针对 Lottie 这种动画场景做优化导致的。

性能 PK 之 Even heavier animations test

看单方在更简单的动画成果上的体现。

FPS,Native 是 58,Flutter 19,React Native 最差,只有 7。

须要留神的是,这些测试数据,是针对于去年的版本来进行的。2020 年 10 月,Flutter 发了 1.7 版本,2021 年 2.0 版本,最近发了 2.8 版本。

但咱们能够看出,Flutter 2020 年的版本,曾经体现出极具后劲的一面,在优化不那么充沛的状况下,性能上曾经大于等于 React Native。

加上 Flutter 在社区建设方面的体现,它被国内多个大厂采纳,倒退得十分迅速。

从技术计划选型到技术倒退门路

对跨平台计划的 PK 实质上是一种技术计划的抉择,延申到技术倒退门路的抉择也十分值得探讨。如果你要把握一门新的技术,或者去深挖一门技术。你会如何抉择呢?嘉宾们在节目中也给出了本人的教训分享。

一方面,在对前端的积攒根底上,能够抉择偏后端一点,深刻理解后端系统的架构。

另一方面,Flutter 这样的跨端方向是很好的抉择。首先针对各端去开发一套同样的界面,同样的性能,老本是很高的。通过跨端来做,门槛大大降低。

更重要的是,Flutter 是开源的,让咱们有机会对 UI 零碎的构建、内存治理、编译等进行深挖。即便咱们当前不必 Flutter 了,也能够通过它去理解一套语言是怎么构建的,程序是怎么加载的,整个树是怎么构建的,渲染引擎是怎么做的。这些都是宝藏。万变不离其宗,把握底层原理就无所畏惧。

顺着这个思路,Rust 是一个十分好的方向。目前特地多应用 C++ 的厂商,包含微软也公布了一个布告,可能会把百分之六七十底层的 C++ 库用 Rust 从新写一遍。

对于技术选型,还有一点十分重要。你的技术选型肯定要和以后做的业务无关,因为学习一个语言时,你得先有一个指标或者一个待解决的问题,而后尝试用一个新的语言和技术去解决,更有成就感也更无效。

那么,对于这个问题,你怎么看?
————————————————
版权申明:本文为 CSDN 博主「融云」的原创文章,遵循 CC 4.0 BY-SA 版权协定,转载请附上原文出处链接及本申明。
原文链接:https://blog.csdn.net/weixin_…

正文完
 0