Compose Multiplatform 1.12.0 发布

Compose Multiplatform 1.12.0 发布

💡 原文英文,约700词,阅读约需3分钟。
📝

内容提要

Compose Multiplatform 1.12.0发布,新增AI助手MCP服务器,支持热重载、截图、UI检查等功能;网页端实现自动字体回退,无需捆绑字体;桌面端推出窗口和对话框v2 API,提供更精细的位置、尺寸控制及异步状态管理。

🔎

延伸解读

AI助手与开发工具的集成趋势

Compose Multiplatform 1.12.0 引入的 MCP 服务器,使 AI 编码助手能够直接与运行中的应用交互,执行重载、截图、UI 检查等操作。这反映了开发工具与 AI 助手深度集成的趋势,旨在减少开发者手动验证的负担。然而,该功能仍处于实验阶段,其稳定性和安全性有待观察。

网页端字体处理的优化

自动字体回退功能解决了多语言网页渲染时字体缺失的问题。通过按需下载 Noto 字体子集,开发者无需预先捆绑所有语言字体,从而减小应用体积。但这也意味着运行时可能产生额外的网络请求,开发者需权衡加载速度与资源占用。

桌面窗口 API 的演进

v2 版窗口和对话框 API 提供了更精细的窗口控制,如指定屏幕、自定义定位和尺寸逻辑、设置最小最大尺寸等。同时,它明确了请求状态与实际状态的异步差异,有助于开发者处理窗口状态变化。但该 API 仍为实验性,使用时需注意 API 可能变动。

Q&A

Compose Multiplatform 1.12.0 有哪些主要新特性?

主要新特性包括:为 AI 助手提供的 MCP 服务器(用于 Compose Hot Reload)、Web 端的自动字体回退、以及桌面端窗口和对话框的 v2 API。

Compose Hot Reload 中的 MCP 服务器有什么作用?

MCP 服务器允许 AI 编码代理连接到正在运行的应用,执行触发重载、截图、检查语义树、模拟点击和文本输入、读取应用日志等操作,从而验证编辑结果、检查 UI 并捕获运行时异常。

Compose Multiplatform 1.12.0 的 Web 端如何实现字体回退?

当渲染遇到应用字体不支持的字符时,会自动下载对应的 Noto 字体子集,并重新组合受影响的文本,从而正确显示日语、阿拉伯语、天城文和表情符号,无需捆绑字体。

桌面端窗口和对话框 v2 API 提供了哪些新能力?

v2 API 提供了更精细的窗口和对话框控制,包括选择窗口出现的屏幕、自定义定位和大小逻辑(可基于内容固有大小)、设置最小和最大窗口尺寸、以及相对于父窗口定位对话框。

v2 API 如何处理窗口状态的异步性?

v2 API 明确区分了请求的状态和窗口当前实际的状态,使异步状态变化更加清晰。

如何使用 v2 API 将窗口居中并设置固定大小?

可以使用 WindowPositionProvider.CenteredOnScreen 和 WindowSizeProvider.Fixed 来设置,例如:WindowBoundsProvider(positionProvider = WindowPositionProvider.CenteredOnScreen, sizeProvider = WindowSizeProvider.Fixed(DpSize(400.dp, 200.dp)))。

v2 API 中 WindowSizeProvider.Unconstrained 的作用是什么?

它允许窗口初始大小根据内容自适应,同时当用户放大窗口时,内容可以使用 fillMaxSize() 扩展以填充窗口。

🏷️

标签

➡️

继续阅读