Flutter Forward 作为一场 Flutter 的突破性发布会,事实上 Flutter 3.7 在大会前现已发布 ,所以本次大会更多是介绍未来的或许,核心集中于 come on soon 的支撑,所以值得重视的内容许多,特别是一些 Feature 让人十分心动。

开始之前
按照惯例,在展望未来之前需求先总结过去,首先,到目前为止现已超越 700,000 个已发布运用运用了 Flutter,例如腾讯知名的 PUBG 再次登上了大会 PPT。
![]() |
![]() |
---|
别的,如 Google Classroom 团队也同享了他们运用 Flutter 开发的阅历和收成,包括了代码复用率和开发效率等。
![]() |
![]() |
---|
“运用 Flutter,我们将相同功用的代码大小减少了 66%……这意味着每个渠道的过错更少,未来的技术债款也更少。”(Kenechi Ufondu,Google 课堂软件工程师)
别的从 Flutter 目前的用户数据状况看,当时阶段 Flutter 仍是很受欢迎的。

而关于 Flutter 3.7 部分这儿就不再赘述,感兴趣能够看前面现已发布的 Flutter 3.7 的更新说明 。

本次 Flutter 还安利了两个低代码的友商渠道:FlutterFlow 和 WidgetBook 。
不得不说它们的成熟度都挺高的,例如 FlutterFlow 的在线调试运转和翻译支撑就适当惊艳。
![]() |
![]() |
---|---|
![]() |
![]() |
别的 WidgetBook 作为开源项目,它支撑 Flutter 开发者针对自己的控件进行分类归纳,一起能够在运用 Widgetbook Cloud 的状况下,将 Widget 与 Figma 同步并和团队同享,为设计和开发人员供给更灵敏的协作工具。

FlutterFlow 并不是彻底免费哦。
Dart 3 alpha
本次大会的别的一个要点便是 Dart 3 alpha ,其实在此之前官方就有提早预热过,在《Flutter 的下一步, Dart 3 严重改变即将在 2023 到来》 里我们就提早预览过对应更新,其间大家最重视的莫过于 Records 和 Patterns 。

Records 支撑高效简洁地创立匿名复合值,不需求再声明一个类来保存,而在 Records 组合数据的当地,Patterns 能够将复合数据分解为其组成部分。

例如要将
geoLocation
上面的返回值(由一对整数组成的记载)解构为两个单独的int
变量lat
和long
,就能够运用这样的 Patterns 声明。
Patterns 是彻底类型安全的支撑,并且会在开发过程中进行过错检查。

你还能够对值的类型进行 Patterns 匹配,通过 switch
能够运用匹配类型的 Patterns ,以及每种类型的字段。

当然,Dart 3 还有一个要点便是 100% 空安全的要求,也便是不再支撑非空安全的代码,这关于旧项目来说是很大的挑战,信任仍是有适当一大部分人的 Flutter 项目一向维持在低版别。

Dart 3 还进行了很大程度的优化, 例如 Dart 3 进行了整理一些不必要的 API ,一起对编译做了很大的优化,例如下图是变异后的代码对比。
![]() |
![]() |
---|
别的 Dart 3 将支撑更多的渠道架构,例如 RISC-V ,一起还在掩盖 Windows 上的 ARM64 支撑,而 Web 上 Dart 3 也将能够脱离 Flutter 直接支撑 WebAssembly (Wasm) 。

最终在新工具的支撑下,Dart 能够依据 C/ObjC/Swift/Java/Kotlin 代码的头文件/接口文件,主动创立具有 Dart 接口的绑定,以及那些跨语言调用所需的主动绑定,也便是 FFIgen + JNIgen。
详细可见:github.com/flutter/sam…
![]() |
![]() |
---|
Web
本次还有一个惊喜便是 add-to-web 要来了, 一个叫做 element embedding 的支撑即将到来。

element embedding 允许将 Flutter 增加到任何 Web <div>
中 ,当以这种方式嵌入时,Flutter 就变成了一个 Web 组件与 Web DOM 彻底集成,甚至能够运用 CSS 来设置父 Flutter 目标的样式。

例如将 Flutter 嵌入到基于 HTML 的网页中,然后运用 CSS 旋转效果,并且在旋转时 Flutter 内容仍能够交互。

一起 Dart 3 还对 Pub 上的 js 包进行了一些严重更改,然后完成 JavaScript 和 Dart 之间能够直接调用,如里运用 @JSExport
属性注释 Dart 代码中的任何函数,然后从 JS 代码中调用它。

除此之外 Flutter Web 也有一系列的优化计划,其间针对体积大小的优化是最重要的目标之一。

从官方供给的数据下看,未来 Flutter Web 的加载速度将会不断提高。

最终,现在 Flutter 支撑在 Web 上的运用 Pixel shaders ,然后完成各种炫酷的视觉效果。


Flutter 新闻工具包
本次还有一个有意思可是对国内比较鸡肋的介绍: Flutter News Toolkit,一个用来加速新闻运用开发的免费 Flutter 运用模板。
这是 Flutter 团队和 GNI 合作的项目,官方宣称与 iOS 和 Android 上的传统双端开发比较,在该范畴运用 FNT 能够节约高达 80% 的时刻。
![]() |
![]() |
---|
运用 Wonderous 习惯大屏幕
Wonderous 早在上一年 9 月份官方就推荐过一次 ,这一次主要是介绍了 Wonderous 的下一个版别,增加了对可折叠设备、平板电脑和平板电脑横向的支撑。

此次迭代一起测试了 Flutter 对不同设备格式的适配能力, 详细可见:github.com/gskinnerTea…

Impeller
跟着 3.7 的发布,Impeller 现在现已能够在 iOS 上进行预览。
Impeller 针对 Flutter 进行了优化,供给了更大的灵敏性和对图形管道的操控支撑。

例如运用预编译着色器,减少运转时由着色器编译引起的丢帧,使用 Metal 和 Vulkan 中的原始支撑等等。

除了让 UI 更流通,Impeller 还能够在某些极点状况下显着提高功能,比方大会介绍的一个例子:
左边是默许渲染器,右边是 Impeller,能够看到翻滚是左边由于功能问题导致帧速率为 7-10 fps,而右侧 Impeller 能够稳定在 60 fps 。

3D
本次最终一个亮点便是 Flutter 未来将正式支撑 3D 渲染,一起也代表着 Flutter 在游戏范畴的更进一步。
其实从上一年的 I/O 也好,还有本次 Flutter Forward 提早预热的相关内容,能够看到 Flutter 进军游戏范畴一向没有停歇。

在本次演示中,除了支撑 3D 渲染之外,还支撑对 3D 文件资源进行 hotload 、增加动画支撑。
![]() |
![]() |
---|
能够看到,在演示中多个 3D 模型一起渲染动画的状况下,画面依然能够流通运转,这肯定是本次 Flutter Forward 最让人等待的特性。

最终官方还演示了在低端 iPhone 上的 3d 游戏场景(有指纹解锁的老 iPhone ),能够看到画面仍是适当流通。

最终
看完之后你是不是蠢蠢欲动?可是这儿面绝大多的都还只是开发中,或许会在未来或许还会有其他变动,而本次 Flutter Forward 展示它们的意图,信任也是官方想让大家更直观地了解 Flutter 未来的方向。
最终总结一下,本次 Flutter Forward 主要的核心内容有:
- Impeller
- 3D 支撑
- add-to-web 支撑
- Dart 3
让我们等待未来 Flutter 的更新能让这些 Feature 都能用上吧,在没有坑的状况下~