主流跨平台开发技术
- 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端因为平台审核的存在,目前不太现实,其他大厂已有方案,但等待开源,不现实;自研,也是个大难点