JetBrains发布了Compose Multiplatform 1.12.0版本,这是用于跨平台共享Kotlin UI代码的声明式框架更新。此次新版本的亮点包括:为Compose Hot Reload中的AI智能体提供模型上下文协议(MCP)服务器、为Web应用提供自动字体回退功能,以及针对桌面应用推出新版本的窗口与对话框API。
Compose Multiplatform 1.12.0于8月26日发布。在新版本中,Compose Hot Reload现已包含一个实验性的MCP服务器,可将AI编程智能体连接到正在运行的Compose应用程序。JetBrains表示,借助MCP服务器,智能体可以触发重新加载、截取屏幕截图、检查语义树、模拟点击和文本输入,并读取应用程序日志,从而使其能够验证自身编辑的结果。
用于Web的Compose Multiplatform现在能够处理应用字体未覆盖的字符。JetBrains表示,当渲染过程中遇到无法解析的字符时,用于Web的Compose Multiplatform会下载匹配的Noto字体子集,并重新组合受影响的文本。因此,日文、阿拉伯文、天城文和表情符号都能正确渲染,开发者无需为它们捆绑字体。
Compose Multiplatform 1.12.0还在androidx.compose.ui.window.v2包中引入了WindowState和DialogState API的实验性第二版。JetBrains表示,新API提供了对窗口和对话框定位与大小调整方式的更精细控制,允许开发者选择窗口出现的屏幕、提供自定义的定位与调整大小逻辑、设置窗口的最小和最大尺寸,并相对于父窗口定位对话框。
JetBrains提供了两个使用API v2的示例。首先,开发者可以使用WindowPositionProvider和WindowSizeProvider将窗口居中并赋予其固定大小。
其次,开发者可以使用WindowSizeProvider.Unconstrained,让窗口初始时根据内容调整大小,同时在用户放大窗口时允许该内容通过fillMaxSize()进行扩展。
Compose Multiplatform 1.12.0的完整发布说明可在相关页面查看。
Q&A
Q1:Compose Multiplatform 1.12.0有哪些新功能?
A:新版本主要亮点包括Compose Hot Reload中面向AI智能体的MCP服务器、Web应用的自动字体回退功能,以及桌面应用全新的窗口与对话框API第二版。
Q2:MCP服务器能帮助AI智能体做什么?
A:借助MCP服务器,AI编程智能体可以连接到运行中的Compose应用,触发重新加载、截取屏幕截图、检查语义树、模拟点击和文本输入,并读取应用日志,从而验证自身代码修改的效果。
Q3:Web应用的自动字体回退功能解决了什么问题?
A:该功能可以自动处理应用字体未覆盖的字符,遇到无法解析的字符时会下载匹配的Noto字体子集,让日文、阿拉伯文、天城文和表情符号无需开发者手动捆绑字体即可正确渲染。