2025
这个路线图是有抱负的。它主要代表了我们这些在谷歌工作的人收集的内容。到目前为止,非Google贡献者的数量超过了谷歌雇佣的贡献者,所以这并不是一个详尽的列表,列出了我们希望今年Flutter能够出现的所有令人兴奋的新事物!在软件业务中,总是很难准确地预测工程工作——对于开源项目更是如此。所以请注意,我们在这里所涵盖的是一个意向声明,而不是一个保证。
可访问性:
2024年,我们完成了移动平台(iOS和Android)可访问性的几个关键用例的验证。在2025年,我们计划进一步关注web平台的可访问性支持。
性能表现:
我们继续关注Impeller的质量和性能。我们计划通过移除iOS上的Skia后端来完成向Impeller的iOS迁移。在Android上,我们关注的是现代Android设备,特别是那些支持Android api级别29或更高版本的设备,我们希望将Impeller作为默认值。我们在2024年看到了旧设备上的问题,现在,我们希望在这些设备上继续支持Skia。
移动(Android和iOS)平台:
我们将继续更新iOS,支持即将发布的iOS 19和Xcode 17版本,并完成对Swift PackageManager (SwiftPM)的支持。我们预计SwiftPM将在2025年晚些时候成为默认选项。其次,我们将继续完善Cupertino的支持——那些符合苹果人机界面准则的小部件。在Android上,我们将研究即将发布的Android 16支持的一些主要功能。我们还希望将Gradlebuild逻辑从Groovy转移到Kotlin,并增加构建工具的单元测试覆盖率。在iOS和Android上,互操作性对于与平台原生代码进行交互至关重要。我们希望继续我们的实验工作,以支持直接从Dart调用到Objective C和Swift代码(iOS),以及Java和Kotlin (Android)。这还包括调用只能在主操作系统/平台线程上调用的api。
Web平台:
在2024年,我们在性能和质量上取得了巨大的进步(如应用大小的减小,更好地使用多线程和改进的应用加载时间)。在2025年,我们计划对Flutter web的核心进行进一步改进。这包括可访问性、文本输入、国际文本呈现、大小、性能和平台集成。我们还希望通过编译Wasm/WebAssembly来继续提高Web性能。支持JS和Wasm编译的新的Dart JS互操作机制已经完成。接下来,我们计划在2025年移除遗留的HTML和JS库(参见重大变更公告)。最后,我们在支持网络热重载方面取得了不错的进展,并希望在2025年推出。
桌面平台:
谷歌的Flutter团队将在2025年专注于移动和web支持,而Canonical的Flutter团队将继续投资于桌面平台,如Windows、macOS和Linux。在2024年,我们登陆了桌面的多视图渲染。2025年,Canonical计划进一步改进对可访问性、键盘、文本输入和焦点的多窗口支持。Canonical还计划在窗口api方面取得进展。
核心框架
我们正在调查一些变化,目标是减少Flutter小部件代码中不必要的冗长。
工具套件和人工智能
我们將继续集成人工智能解决方案,为核心编提任务提供人工智能帮助。
我们将继续投资于我们的工具套件,其中包括Flutter DevTools,VS code,Android Studio/IntelliJ和IDX。此外,我们将继续努力,始终改善编辑刷新周期和整体开发人员体验。
Dart编程语言
在2024年,我们得出结论,在Dart中支持宏是不可行的。基于此,在2025年,我们预计将改进build_runner中当前对代码生成的支持,井研究改进Dart对序列化和反序列化支持的替代方法。
我们还希望发布一个或多个目前正在通过Dart语言设计漏斗的语言特性。
Dart编译器和工具
我们计划重构Dart分析器和前端编译器,分享更多它们的实现,这样可以加速未来的语言特性开发、性能和稳定性。
我们还计划研究对交叉编译Dart AOT可执行文件的支持(例如,在macOS开发机器上编译成Linux AOT可执行文件)。
正式版本
我们计划在2025年期间发布4个稳定版本和12个测试版,与2024年类似。为了提高这些版本的可预测性和规律性,并减少稳定版本中的回归,我们将在进一步的測试覆盖上进行投资。
我们还将进行投资,以提高我们的能力,加快任何需要的热修复/补丁版本的发布。
非目标
我们仍然不打算投资于对代码推送或热更新的内置支持。对于代码推送,我们在Shorebird.dev的朋友可能会提供感兴趣的产品。对于UI推送(也称为服务器驱动UI),我们推荐使用rfw包。
我们也不打算增加任何额外支持的平台。
原文链接:https://github.com/flutter/flutter/blob/master/docs/roadmap/Roadmap.mdhttps://github.com/flutter/flutter/blob/master/docs/roadmap/Roadmap.md