为什么使用 Flutter?

主流跨平台开发技术

  • Hybird 模式
    诞生于移动开发早期,本质上,属于H5 技术,混合了调 Native API 的能力,基于平台WebView 渲染UI,目前已式微。
  • React Native
    诞生于移动开发中期,由 Facebook 发起并维护,使用 JS 编写UI及业务代码,
    UI渲染强耦合于各端平台Native控件(本质上,UI代码是平台Native 控件的描述声明),目前正流行。
  • Flutter
    诞生于 2018 年,由 Google 发起并维护,使用 Dart 编写UI及业务代码,自带Skia引擎渲染UI ,具有游戏级别的渲染能力,跨平台新秀。

    框架对比

    性能

    能力对比

    渲染对比

    Flutter优缺点

    优点
    高效率编写UI代码
  • 声明式UI:更少的代码量,做同样的事
  • •=热重载:即时调试代码,更新UI视图
  • 自带UI渲染引擎,不受制于OEM Widget,可创建高度定制化的UI
    Flutter 相较 RN 在UI绘制上,不再受制于 OEM Widget,不但绘制效率更高,也具有更高的定制化可能性;同时省去了随系统版本升级而UI需要升级的兼容烦恼。
  • 完善的工具链支持
  • 丰富完善的文档资源
  • 成熟配套的开发工具
  • 活跃的社区以及插件支持
    Flutter 目前存在的缺点
  • API远不如 iOS 平台的SwiftUI,来的直接优雅,这对于初学上手,有时会有所困惑;
  • 项目的资源管理,远不如原生平台,比较弱者,目前依赖第三方社区进行优化;
  • 热更新:可以说是每次在应用跨平台技术都想要的便利,但目前来说,Flutter支撑有限,Android 端已经有现成的方案,iOS端因为平台审核的存在,目前不太现实,其他大厂已有方案,但等待开源,不现实;自研,也是个大难点