写点什么

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:307265

评论

发布
暂无评论

科普:Java 后端开发常用的 10 种第三方服务

沉默王二

Java 后端 第三方服务

USDT支付通道搭建,USDT承兑商跑分系统

熟悉又陌生的 k8s 字段:finalizers

郭旭东

Kubernetes

oeasy教您玩转linux010210管理应用aptitude

o

滴滴AR实景导航背后的技术

滴滴技术

人工智能 滴滴技术 实景导航 地图与公交事业群分享月

Pulsar Flink Connector 2.5.0 正式发布

Apache Pulsar

flink 开源 flink 消费 kafak Apache Pulsar

为了面个好公司!拼了!3.5W字的Java面试题整理(答案+学习路线)上!

Java架构师迁哥

探路人与解题者:腾讯数字生态大会上AI语音助手+X的无限可能

脑极体

这13道面试题,哪怕背你也要背过来。别说我没提醒你

小Q

Java 源码 架构 面试 多线程

区块链支付通道系统搭建,USDT跑分承兑商系统

大数据任务调度 - 有向无环图(DAG)之拓扑排序

代立冬

大数据 数据结构 DAG 拓扑排序 Apache DolphinScheduler

数字货币交易所开发方案,交易所源码

13530558032

年薪150万的阿里大佬工资全部上交!家务全包!却被老婆嘲讽嫌弃!网友:你老婆外面有人!

程序员生活志

互联网 职场 大厂 薪资

我四面字节跳动,拿下1-2级offer,太感谢这份“神仙级面试真经pdf”

编程 面试 计算机网络 架构师

大厂面试爱问的「调度算法」,20 张图一举拿下

小林coding

算法 操作系统 内存 进程

字节跳动半夜给员工发钱,全员沸腾了

程序员生活志

字节跳动 职场 薪资

超酷! Atlas给黑白视频“上色”

华为云开发者联盟

视频 Atlas

区块链数字钱包开发,数字钱包app

13530558032

拥抱K8S系列-06-K8S如何解决docker部署的问题

张无忌

Docker Kubernetes 运维 service

USDT承兑支付系统,区块链跨境支付源码

13530558032

话题讨论 | 程序员们来说一说,你们从编程开始到现在共使用过多少种语言?

InfoQ写作社区官方

写作平台 话题讨论 语言

云小课 |选定合适的证书,做“有证”的合规域名

华为云开发者联盟

证书 课程练习 ssl

[翻译]Go Code Review Comments

卓丁

合约跟单模式系统开发,交易所合约跟单源码

13530558032

GaussDB(DWS)应用实战:对被视图引用的表进行DDL操作

华为云开发者联盟

数据库 dll postgre

编程的修养

紫枫

读书笔记

从零开始搭建完整的电影全栈系统(四)——restfulApi用户的认证授权及用户注册

刘强西

RESTful API yii

多线程与高并发之锁

彭阿三

多线程 多线程与高并发

LiteOS间歇计算技术:IOT终端真正感受“电量自由”

华为云开发者联盟

物联网 LiteOS

如何利用Chrome DevTools优化网页性能

熊斌

学习

大项目写代码写到晕头转向?敏捷多项目框架解君愁

Philips

敏捷开发 程序设计 软件架构

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