Flutter 调研

1,126 阅读1分钟

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重点关注

  • 核心和基础
  • 易用性
  • 生态系统
  • 移动端之外的支持
  • 动态更新
  • 工具链

参考链接:

深入了解Flutter界面开发

Flutter 2019 产品路线图