native数据类型 react_Flutter,Native,React-Native,谁才是性能王中王?

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

什么是构建移动应用程序最流行的解决方案?单一平台,跨平台使用ReactNative ,或是Flutter?

虽然单一开发被定位为AAA技术解决方案,但它也有一些缺点,这些缺点为跨平台应用程序的进入创造了市场空间。

单一开发需要开发团队付出更多的努力来完成项目,但它可以幕后完全控制复杂的技术工作。而选择使用跨平台,由于它有通用代码库,则可以显著加快开发过程,使项目支持更加容易,并减少开发费用。

但与跨平台开发相比,单一开发的另一个优势是性能。

技术领域,可能会有“跨平台应用程序速度慢”的刻板印象。实践出真知,笔者决定测试一下这个说法是否真实,以及跨平台应用程序比单一应用程序慢到什么程度。

性能有很多种,包括:

· 与手机应用程序接口(API)交互(访问照片、文件系统、获取GPS位置等)。

· 业务逻辑(数学计算和内存操作的速度。该性能对具有复杂业务逻辑的应用程序来说最为重要)。

· 渲染速度(动画平滑度、用户界面改变时的每秒帧数或一些实时出现的用户界面效果)。

本文中,笔者分享了性能测试的结果,这些结果显示了在单一和跨平台方法中实现的数字Pi的数学计算。

IOS系统的中央处理器(CPU)密集型测试(高斯-勒让德算法)

· Objective-C是iOS开发的最佳编程语言。Swift比Objective-C慢1.7倍。

· 意料之外:Flutter比Swift快15%。

· React Native比Objective-C慢20倍

IOS操作系统CPU密集型测试(博尔温算法)

· 目标C是iOS应用程序开发的最佳选择。Swift比Objective-C慢1.9倍。

· Flutter比Swift慢5倍。

· React Native版本比Swift版本慢15倍以上。

安卓系统CPU密集型测试(高斯-勒让德算法)

· Java和Kotlin性能指标相似,是Android开发的最佳选择。

· Flutter比单一平台方法约慢20%。

· React Native约比单一反应速度慢15倍。

安卓系统CPU密集型测试(博尔温算法)

· Java和Kotlin性能指标相似,是Android开发的最佳选择。

· 单一平台方式比Flutter快2倍。

· React native约比单一平台方式反应速度慢6倍。

需要注意的是:

1.所有测试都是在实体设备上完成的(运行在IOS 13.2.3平台上的苹果6s 和安卓9.0平台上的小米Redmi Note 5)。

2.所有测试都经多次运行,并计算了平均结果。

3.笔者测试了发布版本的性能。某些情况下,调试版本可能比发布版本慢得多。

4.使用高斯-勒让德和博尔温算法计算数字Pi。Pi被计算了100次,精度为1000万位数。

5.与博尔温算法相比,高斯-勒让德算法是一种内存密集型算法,但博尔温算法是CPU密集型算法。

6.源代码:https://github.com/nazarcybulskij/Mobile_Bechmarks_

那么这场性能battle谁胜谁负呢?

总体来说,并非所有跨平台应用都很慢。Flutter应用程序的性能比Swift应用程序更高。假如你想开发速度极快的iOS应用程序,Objective C和Flutter将是明智之选。而对于高计算负载的应用程序来说,Flutter对于安卓和iOS来说都是不错的选择。

最终结论就是!刻板印象害人不浅,以及最适合的才是最好的。

留言点赞关注

我们一起分享AI学习与发展的干货

如转载,请后台留言,遵守转载规范

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值