美文网首页Flutter圈子Flutter中文社区Dart
Flutter vs Native与React-Native:

Flutter vs Native与React-Native:

作者: 老孟程序员 | 来源:发表于2020-07-02 07:23 被阅读0次

    老孟导读:这是老孟翻译的付费文章,文章所有权归原作者所有。

    欢迎加入老孟Flutter交流群,每周翻译2-3篇付费文章,精彩不容错过。

    原文地址:https://medium.com/swlh/flutter-vs-native-vs-react-native-examining-performance-31338f081980

    今天,一些最流行的构建移动应用程序的解决方案是原生开发或者使用React Native或Flutter跨平台方法。虽然原生开发被定位为AAA技术解决方案,但它具有一些缺点,为跨平台应用程序的进入创造了市场空间。总的来说,本机开发需要开发团队付出更多的努力来完成项目,但它可以完全控制棘手的问题。另一方面,如果选择跨平台,则由于具有通用的代码库,因此可以大大加快开发过程,简化项目支持并减少开发费用。

    与跨平台开发相比,原生的另一优势是性能。在技术领域,您会遇到“跨平台应用程序运行缓慢”的成见。我们决定测试它是否正确,以及跨平台应用程序比本地应用程序慢的程度。

    有不同类型的性能,其中一些是:

    1. 与电话API交互(访问照片,文件系统,获取GPS位置等)。

    2. 渲染速度(动画平滑度,更改UI时的每秒帧数或及时发生的某些UI效果)。

    3. 业务逻辑(数学计算和内存操作的速度。这种性能对于具有复杂业务逻辑的应用最为重要)。

    在本文中,我们分享了性能测试的结果,这些结果显示了在原生和跨平台方法中实现的数字PI的数学计算。

    适用于iOS的CPU密集型测试(Gauss–Legendre算法)

    iOS:

    1. Objective-C是用于iOS开发的最佳编程语言。 Swift比Objective C慢1.7倍
    2. 惊喜:Flutter比Swift快一点(15%)。
    3. React Native比Objective C慢20倍

    适用于iOS的CPU密集型测试(Borwein算法)

    iOS:

    1. Objective-C是iOS应用开发的最佳选择。 Swift比Objective-C慢1.9倍。
    2. Flutter比Swift慢5倍。
    3. React Native版本比Swift版本慢15倍以上。

    适用于Android的CPU密集型测试(Gauss–Legendre算法)

    • Java和Kotlin具有相似的性能指标,并且是Android开发的最佳选择。
    • Flutter比原生慢大约20%。
    • React Native比原生慢15倍。

    适用于Android的CPU密集型测试(Borwein算法)

    • Java和Kotlin具有相似的性能指标,并且是Android开发的最佳选择。
    • 原生速度是Flutter的2倍。
    • React native比原生慢6倍。

    技术细节:

    1. 所有测试都在真实的物理设备上完成(iPhone 6s IOS 13.2.3和在Android 9.0下运行的Xiaomi Redmi Note 5);
    2. 我们评估了发布版本的性能。在某些情况下,调试版本可能比发行版本要慢得多。
    3. 所有测试都运行了几次,并计算出平均结果。
    4. 使用了计算Ga值的Gauss–Legendre和Borwein算法。 Pi编号已被计算100次,精度为1000万位数。
    5. 与Borwein相比,Gauss–Legendre是一种内存密集型算法,但Borwein的CPU密集型。
    6. 源代码:https://github.com/nazarcybulskij/Mobile_Bechmarks

    重要要点

    1. 总之,并非所有跨平台应用程序都运行缓慢。不仅如此,Flutter应用程序的性能要比Swift应用程序高。
    2. 如果您要开发超快速的iOS应用程序,那么Objective C和Flutter将是明智的选择。
    3. 对于具有高负载计算的应用程序,Flutter是Android和iOS应用程序开发的不错选择。

    如果您在选择开发移动工具时遇到麻烦,请随时通知inVerita,我们随时乐意为您提供帮助。

    交流

    老孟Flutter博客地址(330个控件用法):http://laomengit.com

    欢迎加入Flutter交流群(微信:laomengit)、关注公众号【老孟Flutter】:

    相关文章

      网友评论

        本文标题: Flutter vs Native与React-Native:

        本文链接:https://www.haomeiwen.com/subject/wcqlqktx.html