写点什么

Flutter 3.27 发布,Impeller 成为默认渲染引擎,改进 iOS 和 Material 小部件

作者:Sergio De InfoQ

  • 2025-01-16
    北京
  • 本文字数:1025 字

    阅读完需:约 3 分钟

Flutter 3.27发布,Impeller 成为默认渲染引擎,改进 iOS 和 Material 小部件

谷歌跨平台 UI 套件 Flutter 最新版本为 Flutter 3.27,该版本带来了许多变化,包括改进的 Cupertino 小部件,更好地遵循苹果的 UI 指南,CarouselView、列表行和列、ModalRoutes 过渡等新特性。此外,新版本将 Impeller 渲染引擎设为默认引擎,性能得到显著提升,增强了对工具和并发的支持。


Cupertino 是一组严格遵循苹果人机界面指南的小部件。Flutter 3.27 更新了其中的一些,以提高其保真度,包括 CupertinoCheckbox、CupertinoRadio 和 CupertinoSlidingSegmentedControl。它还扩展了 CupertinoCheckbox 和 CupertinoSwitch,使它们更具可配置性,并使 CupertinoButton 与 iOS 15 引入的最新可定制性选项保持一致。其他改进涉及 CupertinoActionSheet、CupertinoContextMenu、CupertinoDatePicker 和 CupertinoMagnifier。


在 Android 原生 Material UI 方面,Flutter 3.27 对 CarouselView 进行了扩展,提供了 CarouselView.weighted,开发者可以使用 flexWeights 参数定义更动态的布局,指定在 CarouselView 中占用的相对权重。此外,SegmentedButton 可以垂直对齐,一些小部件也经过修复,以更好地遵循 Material 3 设计规范。


Flutter 3.27 还改进了 ModalRoutes、文本选择以及行和列的间距。ModalRoutes 通过占据整个导航器区域来阻止与先前路由的交互,现在可以将从路由的退出过渡与新路由的进入过渡同步,使它们能够很好地协同工作。文本选择现在支持 Shift + Click 手势,将选择范围扩展到 Linux、macOS 和 Windows 上的点击位置。行和列可以通过间距参数来调整它们之间的偏移,使布局更加灵活。


经过一年多的预览,新的 Impeller 渲染引擎已成为现代 Android 设备上的默认引擎,取代了旧的 Skia。Skia 仍可在遇到兼容性问题时作为备选方案使用。Impeller 尝试在编译时完成 Skia 在运行时执行的多项任务,例如构建着色器和反射以及提前创建管道状态对象,同时改进缓存机制,使性能更加可预测。它还通过标记纹理和缓冲区,并允许在不影响渲染性能的情况下将动画捕获到磁盘来改进对调试的支持。在必要时,Impeller 可以将单帧工作负载分配到多个线程以提高性能。


未来我们将继续改进 Impeller 在 Android 上的性能和保真度。此外,我们打算让 Impeller 的 OpenGL 后端达到生产就绪状态,并完全弃用 Skia。


其他值得一提的改进包括 iOS 上的渲染性能提升、对 Swift Package Manager 的支持,以及 Android 的全屏和自由形态支持。


原文链接:

https://www.infoq.com/news/2024/12/flutter-3-27-released/

2025-01-16 11:307720

评论

发布
暂无评论

架构文档

陈皮

架构 极客大学架构师训练营

架构师训练营第一周学习总结

王鑫龙

极客大学架构师训练营

Java 25周年:波澜壮阔的25年

北风

「Java 25周年」

近邻算法介绍

黄大路

数据挖掘 数据分析

《OKR工作法》读书笔记

大饼土博

读书笔记 管理 OKR

repo 导出本地 git tag 给他人

zqb-all

git

【架构师训练营-作业-1】食堂就餐卡系统设计

小动物

系统设计 极客大学架构师训练营 作业

利其器

宋胖子

IDEA

教你动手写UDP协议栈

Rice嵌入式开发技术分享

TCP udp 协议栈

如何用一台 MacBook 创造高额年化收益 | ETH2.0 Staking 教程

陈东泽 EuryChen

区块链 Ethereum

[ARTS打卡] week 02

Mau

ARTS 打卡计划

2020年6月7日 接口、lambda表达式与内部类

瑞克与莫迪

程序员的晚餐 | 6 月 5 日 爆炒鱿鱼

清远

美食

UML练习1 食堂就餐卡系统设计「架构师训练营」

Young

初识 Docker 与安装 | Docker 系列

AlwaysBeta

Docker

体验碎片-06/06

黄大路

产品经理

在 Windows WSL 2 中使用 Docker Desktop

FeiLong

Docker WSL2

架构方法:运用合适的工具表达设计

Skye

极客大学架构师训练营

优秀架构师具备的能力

李小匪

极客大学架构师训练营

MySQL 笔记(一)基础架构

奈何花开

Java MySQL

ARTS 第 1 周

乌拉里

ARTS 打卡计划

【ARTS打卡】Week02

Rex

述职报告的一些建议

黄大路

职场

「架构师训练营」第1周作业 - 食堂就餐卡系统设计

guoguo 👻

极客大学架构师训练营

架构师课程第一周作业

杉松壁

食堂就餐卡系统设计-uml练习

森林

程序员摆地摊?你别痴心妄想了,还不如当「在地青年」呢

非著名程序员

程序员 提升认知 职业规划 认知提升

食堂就餐卡系统设计

上山砍柴

极客大学架构师训练营

程序员的晚餐 | 6 月 4 日 最好吃的土豆

清远

架构设计文档之食堂就餐卡系统设计

itrickzhang

架构设计 架构文档 架构样例 架构分析 架构总结

软件架构第一章总结

itrickzhang

Flutter 3.27发布,Impeller 成为默认渲染引擎,改进 iOS 和 Material 小部件_Android/iOS_InfoQ精选文章