Flutter 调研
1.背景介绍
Flutter 是一套高效的跨平台免费开源 SDK,可以帮助开发者用一套代码同时在 Android 和 iOS 上构建媲美原生体验的精良应用。
Flutter 1.0 的 stable 版已发布Flutter 1.2.1 • channel stable, Tools • Dart 2.1.2。
2.与RN差异性:
Flutter
- 使用自身的高性能渲染引擎(Skia)自绘
- debug 下支持 JIT,release 下是 AOT,编译成原生代码,可以通过 platformChannel 直接与原生通信
- 有自己的布局方式,跟 FlexBox 有相似之处
- 体积,编译后iOS双架构15M+,Android单架构约7M
React Native
- rn代码最终转为原生控件,通过平台自身渲染
- 通过 JSCore 桥接与原生通信
- 布局方式采用 yoga
- iOS 使用原生的 JavascriptCore 包较小,Android 内置 JSCore 包较大
3.可以实现的功能:
- Flutter 可以构建功能齐全的应用,包括使用摄像头、地理位置、网络、存储、第三方SDK。
- 支持绘图。
4.对Android和iOS两个平台支持的差异:
- Android 支持页面嵌套原生视图(AndroidView),
iOS 不支持iOS 通过 FlutterPlatformViews 协议实现
5.对动态化的支持:
目前不支持通过服务端下发代码实现动态更新。
6.Flutter组件对二次开发能力的支持
目前 Flutter 支持页面级别,所有元素都是 widget,支持通过后台下发的数据加载不同的楼层。 对于单个 widget,支持通过初始化的接口展示不同的形态。
7.Flutter 2019重点关注
- 核心和基础
- 易用性
- 生态系统
- 移动端之外的支持
- 动态更新
- 工具链
参考链接: