「」Flutter,Native,React-Native,谁才是性能王中王?


全文共1283字 , 预计学习时长5分钟

「」Flutter,Native,React-Native,谁才是性能王中王?
本文插图

图源:unsplash
什么是构建移动应用程序最流行的解决方案?单一平台 , 跨平台使用ReactNative, 或是Flutter?
虽然单一开发被定位为AAA技术解决方案 , 但它也有一些缺点 , 这些缺点为跨平台应用程序的进入创造了市场空间 。
单一开发需要开发团队付出更多的努力来完成项目 , 但它可以幕后完全控制复杂的技术工作 。 而选择使用跨平台 , 由于它有通用代码库 , 则可以显著加快开发过程 , 使项目支持更加容易 , 并减少开发费用 。
但与跨平台开发相比 , 单一开发的另一个优势是性能 。
技术领域 , 可能会有“跨平台应用程序速度慢”的刻板印象 。 实践出真知 , 笔者决定测试一下这个说法是否真实 , 以及跨平台应用程序比单一应用程序慢到什么程度 。

「」Flutter,Native,React-Native,谁才是性能王中王?
本文插图

图源:unsplash
性能有很多种 , 包括:
· 与手机应用程序接口(API)交互(访问照片、文件系统、获取GPS位置等) 。
· 业务逻辑(数学计算和内存操作的速度 。 该性能对具有复杂业务逻辑的应用程序来说最为重要) 。
· 渲染速度(动画平滑度、用户界面改变时的每秒帧数或一些实时出现的用户界面效果) 。
本文中 , 笔者分享了性能测试的结果 , 这些结果显示了在单一和跨平台方法中实现的数字Pi的数学计算 。
IOS系统的中央处理器(CPU)密集型测试(高斯-勒让德算法)

「」Flutter,Native,React-Native,谁才是性能王中王?
本文插图

· Objective-C是iOS开发的最佳编程语言 。 Swift比Objective-C慢1.7倍 。
· 意料之外:Flutter比Swift快15% 。
· React Native比Objective-C慢20倍
IOS操作系统CPU密集型测试(博尔温算法)

「」Flutter,Native,React-Native,谁才是性能王中王?
本文插图

· 目标C是iOS应用程序开发的最佳选择 。 Swift比Objective-C慢1.9倍 。
· Flutter比Swift慢5倍 。
· React Native版本比Swift版本慢15倍以上 。
安卓系统CPU密集型测试(高斯-勒让德算法)

「」Flutter,Native,React-Native,谁才是性能王中王?
本文插图

· Java和Kotlin性能指标相似 , 是Android开发的最佳选择 。
· Flutter比单一平台方法约慢20% 。
· React Native约比单一反应速度慢15倍 。
安卓系统CPU密集型测试(博尔温算法)

「」Flutter,Native,React-Native,谁才是性能王中王?
本文插图

· Java和Kotlin性能指标相似 , 是Android开发的最佳选择 。
· 单一平台方式比Flutter快2倍 。
· React native约比单一平台方式反应速度慢6倍 。

「」Flutter,Native,React-Native,谁才是性能王中王?
本文插图

图源:unsplash
需要注意的是:
1.所有测试都是在实体设备上完成的(运行在IOS 13.2.3平台上的苹果6s 和安卓9.0平台上的小米Redmi Note 5) 。
2.所有测试都经多次运行 , 并计算了平均结果 。
3.笔者测试了发布版本的性能 。 某些情况下 , 调试版本可能比发布版本慢得多 。
4.使用高斯-勒让德和博尔温算法计算数字Pi 。 Pi被计算了100次 , 精度为1000万位数 。
5.与博尔温算法相比 , 高斯-勒让德算法是一种内存密集型算法 , 但博尔温算法是CPU密集型算法 。


推荐阅读