Flutter创造精彩

LCL. 2023-06-05 12:48:00

前言


众所周知每年的I/O大会是谷歌发布新产品的主要舞台,5 月 11 日I/O 2023如期而至,AI毫无疑问会成为本次大会的重要看点。但此次的对Flutter的升级、改进却深深植根于了我的心里。

Flutter作为Google的核心战略,每年在 I/O 大会上该领域都是必不可少的,不负众望今年谷歌也为我们带来了Flutter 3.10 ,Flutter 是谷歌为多种平台打造的应用程序构建框架,支持 Android、iOS、Web、Windows、macOS 和 Linux 等。此次 Flutter 3.10 的正式发布,也标志着今年早些时候谷歌在 Flutter Forward 大会上做出的承诺并非虚言。Flutter 3.10包括了许多改进,包括Web、移动端、图形、安全等方面。

 

 Flutter的根基Dart 

Flutter 由 Dart 编程语言提供强有力的支持,这是一种用于多平台开发的高生产力、可移植的语言。Dart语言作为Flutter的基础,本次大会上,也发布了全新的Dart版本,这是编程语言的重大更新。

主要在以下三项中做出了重要改进:

  • 100% 可靠的 null 安全性,它避免了 null 的运行时错误,提供更小的编译输出,并提高了性能。目前,Dart开发包管理器上的 1,000 个包中有 99%支持空安全。
  • 新语言功能支持具有记录、解构和模式匹配的结构化数据,以及用于现代编程的抽象数据类型。
  • 类修饰符,一种“高级用户”功能,使包所有者能够更好地表达 API 的功能

 

Flutter的五个核心特性

Google在大会上,再次对 Flutter 的总体目标提供了五个核心特性:

  • 美观:提供对屏幕上每个像素的控制;
  • 速度:由硬件加速图形提供支持;
  • 生产力:工作负载由热重载和开发工具支持;
  • 可移植性:为多个平台利用单一共享代码库;
  • 普遍可用性:通过免费和开源来实现。

这也是Flutter被广泛使用并支持的一大主要原因。

Flutter 3.10

当然此次更新也和这五个核心特性息息相关,我挑取了一些核心内容和大家做一些分享:

可移植性

在以前的版本中,Flutter已经在 iOS 和 Android 平台之外增加了Web 端和Windows平台的支持,现在,Flutter 3.10增加了对 macOS 和 Linux 应用的稳定支持。不仅仅是渲染像素支持这么简单、还包括对新的输入和交互模型的支持、编译和构建的支持、无障碍和国际化支持,以及特定平台的整合。使得我们能够灵活地充分利用底层操作系统,根据选择尽可能多地共享用户界面和逻辑。

在 macOS 上,Flutter 3.10也投入资源支持 Intel 处理器和 Apple 芯片,并提供 通用二进制 (Universal Binary) 文件)的支持,使应用能够打包成在两种架构上都能原生运行的可执行文件。在 Linux 上,Canonical 和 Google 已经合作为开发者们带来了高度集成的最佳开发工具。

 

生产力

Flutter 此次版本以为我们带来了期待已久的 Material Design 3 ,现在我们现在可以尽情使用这套自适应性强、跨平台的设计系统,包括其动态颜色方案和经过更新的视觉组件。

Material Design 3 具有扩展的颜色系统,可利用动态颜色等功能。如果大家使用 Material Theme Builder 重新配置 palettes 的话,可以简单地放入 Android XML 或 Compose 的主题代码。

Material You 中的主题扩展了其前身的颜色空间,添加了第三颜色和从主要颜色、次要颜色、第三颜色和错误颜色派生的许多插值颜色,这些新的色彩空间支持动态色彩表达,使用 Material Theme Builder 简化了动态颜色的可视化并迁移到新颜色系统,可在 Web 和 Figma 上使用。当通过作图工具生成时,这些中间颜色值只需提供一种颜色即可创建。

 

速度

本次更新提升了加载资源图片的性能,减少了图片数据的拷贝和 Dart 垃圾回收 (GC) 的压力。先前在加载资源图片时,ImageProvider 需要复制多次压缩的数据。首先,打开图片时数据会被拷贝至原生的堆内存并向 Dart 暴露出结构数组。然后,数据会在结构数组转换至内置存储的 ui.ImmutableBuffer 时被再次拷贝。

随着 新增的 ui.ImmutableBuffer.fromAsset 的引入。这个加载过程同时也会更加快速,因为它会绕过之前方法通道所需的额外调度的开销。在官方的基准测试中,图片的加载速度提升为原先的 2 倍左右。

 

写在最后

通过这次Google I/O 2023也更让我确定,我喜欢 Flutter 的一点是,它不仅仅是 Google 的产品——它是一个「属于所有人」的产品。它的每次更新的重点都是在为我们开发者考虑,我们都可以参与其中,并与它的成功息息相关。通过此次大会也更让我期待下个一个Flutter版本的到来。

...全文
261 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

1,399

社区成员

发帖
与我相关
我的任务
社区描述
加入“谷歌开发者”社区,一起“共码未来。
android 企业社区
社区管理员
  • 谷歌开发者
  • 开发者大赛发布
  • 活动通知
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧