
一、回顾与引入前二十三课我们一路走来从Compose的基础概念到生产级项目从性能优化到安全隐私从自适应布局到可访问性从国际化到KMP深入实践再到AI集成。这是一个完整的旅程。但任何一个技术系列如果不做一次纵向的梳理和横向的展望就缺少了最重要的部分——坐标系。你需要知道自己站在哪里从哪里来要到哪里去。这一课我们做三件事回顾Compose五年的演进梳理2026年的现状展望未来的方向。二、Compose的五年从1.0到1.122.1 起点2019年的内部实验Compose的故事始于Android团队内部的两个并行项目。一个团队在研究如何把界面工具包拆分成一个库另一个团队在研究一个新颖的想法——通过在Kotlin中嵌入XML来构建声明式布局。这两个项目合并后产生了我们今天所知的Compose一个完全声明式的UI工具包利用了编译器插件、运行时和Kotlin的强大功能。2.2 关键时间线2019年5月首个预览版本在Google I/O上发布。2020年8月alpha版本正式发布。2021年2月进入beta阶段。2021年7月28日Jetpack Compose 1.0正式发布。从这一天起Android有了自己的声明式UI框架。2026年7月28日Compose 1.0发布五周年。此时排名前1,000的Android应用中超过68%在生产环境中使用Compose。2026年4月Compose 1.11稳定版发布带来了共享元素调试工具和触控板事件支持。2026年8月Compose 1.12稳定版发布引入网格渐变、广色域支持、Grid具名区域等能力。2.3 从“移动端UI”到“多设备UI”五年前Compose只是一个手机UI框架。今天它已经扩展到Compose for TV电视端UIWear OS手表端UIGlance for Widgets桌面小组件使用Compose风格的API构建远程Surface布局Jetpack Compose Glimmer带屏眼镜的UICompose不再只是“Android的UI工具包”而是Android生态的UI基础设施。2.4 最重要的变化性能追平View从Compose 1.9.0开始滚动性能以卡顿为指标已经与View持平。根据官方文档Google使用开源的Pokedex应用进行Hero benchmarks对比Views和Compose实现结果表明Compose 1.9及更高版本在滚动时的卡顿表现与View相当。这不是一个小成就。Compose刚发布时性能是最大的质疑点。经过五年的持续优化Compose不仅在性能上追平了View还在多个维度上超越了它。三、2026年的现状路线图上的关键项目根据Android官方路线图2026年4月更新Compose当前的重点方向包括以下内容。3.1 核心库Material 3 Expressive组件稳定化Material 3 Expressive是Material Design 3的扩展包括对主题设置、组件、动效、排版等方面的研究驱动的更新旨在帮助开发者打造用户喜爱且富有吸引力的产品同时支持动态配色等Material You个性化功能。自适应组件Compose Material 3 Adaptive库已更新至1.3.0稳定版帮助开发者创建根据窗口配置如窗口大小类或设备姿态自动适配的自适应UI。Lazy布局中的拖拽支持在LazyColumn、LazyRow中直接支持拖拽排序不需要手动实现复杂的手势逻辑。3.2 FoundationFlexBox布局实验性提供类似CSS Flexbox的灵活布局能力。网格布局实验性更强大的网格系统超越LazyVerticalGrid的能力。AnchoredDraggable稳定化让锚点拖拽API走向稳定这是实现底部弹窗、滑动面板等交互的基础。3.3 图形Mesh Gradients网格渐变Compose 1.12引入了MeshGradientPainter支持创建多点、有机的色彩渐变不再局限于线性渐变和径向渐变。广色域Wide Color Gamut, WCG支持Compose 1.12在图形、绘制和着色器全管线中启用了对Display P3色域和HDR渲染的完整支持非sRGB色彩空间中的颜色可以保留到平台渲染阶段不再被色域钳制。矢量缓存改进提升矢量图形的渲染性能。3.4 文本多样式文本编辑在一个文本框中支持多种样式粗体、斜体、颜色等的混合编辑。可变字体支持支持通过下载字体使用可变字体。智能文本选择和Linkify自动识别URL、邮箱、电话号码等并使其可点击。自动文字大小适配文字根据容器大小自动调整避免溢出。3.5 动画共享元素过渡Compose 1.11引入了共享元素和Modifier.animatedBounds的可视化调试工具可以准确了解目标边界、动画轨迹以及匹配项数量帮助开发者发现过渡未按预期运行的原因。LazyList项动画列表项的进入、退出、移动动画。高级布局动画更复杂的布局变化动画。3.6 编译器与运行时SlotTable重写这是最重量级的改进。新的SlotTable实现采用更少的内存复制操作在重排长列表等操作中重组速度是之前的2倍以上大多数其他操作的重组速度也快了约10%。强跳过模式强跳过模式允许带有不稳定参数的可组合函数被跳过是解决稳定性问题最简单有效的方式。如果你的项目还在用旧版Compose升级到支持强跳过的版本并启用它是最值得做的性能优化之一。多线程调度器支持让Compose能够更充分地利用多核CPU。四、2026年8月发布Compose 1.12的关键更新2026年8月的Compose 1.12版本带来了一些值得关注的变化。4.1 视觉能力的扩展Mesh Gradients通过MeshGradientPainter创建多点有机渐变开发者可以定义多个顶点及其坐标和颜色实现更丰富的视觉效果。广色域WCG与HDR支持现代显示器提供扩展的色彩保真度和更高的动态范围。Compose 1.12全面支持Display P3色域和HDR渲染颜色不会被钳制。在不支持的色彩空间或Android版本上颜色会安全回退到sRGB。4.2 结构布局的增强Grid中的具名区域类似于CSS Grid的grid-template-areas让网格布局的定义更加直观。4.3 与Android系统的深度集成Credential Manager无缝集成Compose与Android的凭据管理工具深度整合让登录、注册等流程的实现更简单。4.4 测试与性能测试API v2成为默认Compose 1.11将v2测试API设为默认v1 API已弃用。主要变化是默认测试调度程序从UnconfinedTestDispatcher转向StandardTestDispatcher协程在测试中会排队直到虚拟时钟推进后才执行这更好地模拟了生产环境有效消除竞态条件使测试套件更加稳健。compileSdk更新至API 37要求最低AGP 9.1.2。Modifier.onFirstVisible()已弃用迁移到Modifier.onVisibilityChanged()提供更精确的可见性阈值追踪。五、设计系统的演进Material 3 ExpressiveMaterial 3是Compose的默认设计系统。2026年Material 3 Expressive正在从实验走向稳定。Expressive的核心思想是让UI有情感、有表达力。它不再追求“极简到极致”而是允许更丰富的颜色、更鲜明的层次、更有个性的动效。对于Compose开发者来说这意味着更多现成的Expressive组件可以直接使用更灵活的定制能力让品牌个性得以表达更好的自适应表现在不同设备上都有得体的呈现六、AI时代的Compose从“手写UI”到“智能UI”6.1 AI辅助开发正在改变工作流Android Studio的Gemini已经能够根据设计图生成Compose代码、优化UI、自动生成Preview、修复Preview错误。在Android Studio Otter 3中Gemini直接集成到了Compose预览面板中可以从设计图生成Compose代码并通过自然语言描述如“把按钮颜色改成蓝色”来迭代UI。6.2 MCP服务器AI Agent的“眼睛和手”从Compose Multiplatform 1.12.0开始Compose Hot Reload附带了一个实验性的MCP模型上下文协议服务器它把AI编码助手连接到正在运行的应用。通过MCP服务器AI Agent可以触发重新加载修改代码后立即看到效果截取屏幕截图看到应用当前的样子检查语义树理解UI的结构和状态模拟点击和文本输入与UI交互读取应用日志捕获运行时异常这意味着AI Agent可以验证自己编辑的结果——确认重新加载成功了、检查渲染的UI、捕获运行时异常、然后迭代全程不需要你描述屏幕上有什么。6.3 声明式UI与AI的天然契合Compose的声明式模型和AI的能力有天然的契合点。一个值得关注的趋势是AI通过声明式JSON描述UI意图Compose Renderer将这些JSON消息自动渲染为原生Compose组件。这意味着未来UI的生成方式可能发生根本性变化不再是人类手写每一个Column和Text而是AI根据意图生成声明式的UI描述Compose负责渲染。6.4 新Jetpack库优先甚至仅支持Compose一个明确的信号Google已宣布Android UI开发为“Compose优先”。所有API、库、工具和指南都将以Compose形式提供。View组件android.widget包中的组件处于维护模式不会获得新功能。所有新的Android Studio UI工具都将仅针对Jetpack Compose构建。这说明Compose不再是一个“可选项”而是Android UI开发的默认入口。七、Compose Multiplatform的未来7.1 iOS从稳定到成熟2025年5月Compose Multiplatform for iOS达到稳定、生产就绪的里程碑。2026年iOS端的表现持续提升Compose Multiplatform 1.12.0为iOS的lazy布局带来了改进的滚动性能列表项的去激活在绘制阶段之外执行使绘制阶段能更快完成实现更流畅的滚动。7.2 Web进入Beta由Wasm驱动2026年2月Compose Multiplatform 1.9.0发布Web端进入Beta由Wasm驱动。Compose Multiplatform for Web现在支持自动字体回退当渲染时遇到应用已加载字体不覆盖的字符会自动下载匹配的Noto字体子集并按需重新组合文本日语、阿拉伯语、天城文和emoji都能正确渲染无需开发者自行打包字体。7.3 桌面稳定Hot Reload默认启用桌面端已经稳定。Compose Hot Reload在桌面端默认启用改代码即时看到效果。Compose Multiplatform 1.12.0还引入了实验性的Window和Dialog API v2提供了更精细的窗口定位和尺寸控制能力。7.4 新项目结构与AGP 9.0对齐2026年5月JetBrains发布了新的默认项目结构共享KMP库模块 各平台独立应用模块。这是与AGP 9.0对齐的必要变化。7.5 CMP的核心理念CMP的核心理念可以用一句话概括共享优先平台例外。共享层定义契约平台层提供实现。不追求“消灭平台差异”而是“把差异放在合适的位置”。八、Compose的未来几个值得关注的趋势8.1 从“Android UI框架”到“Kotlin UI框架”Compose正在从“Android的UI工具包”演变为“Kotlin生态的通用UI框架”。CMP让Compose可以在Android、iOS、桌面、Web上运行而KMP让业务逻辑和UI可以跨平台共享。8.2 从“手写UI”到“AI辅助UI”AI不会取代Compose开发者但会改变工作方式。开发者将从“写每一行UI代码”转变为“描述意图、审核AI生成的代码、处理边界情况”。MCP服务器让AI Agent能够“看到”和“验证”自己的输出这是质的变化。8.3 从“单一设备”到“自适应一切”自适应布局不再是一个“加分项”而是“基本要求”。手机、平板、折叠屏、桌面、电视、手表、眼镜——Compose的目标是让同一套代码在这些设备上都有得体的表现。8.4 性能持续优化SlotTable重写、强跳过模式、多线程调度器——Compose的性能还在持续提升。滚动性能已经追平View但还有很多可以优化的空间。8.5 “Compose-first”成为标准Google明确表示新工具只面向Compose构建文档和教程以Compose为主View进入维护模式。这意味着Compose已经不是“要不要学”的问题而是“什么时候开始学”的问题。九、小结这一课我们做了完整的回顾与展望。关键点五年演进从2019年的内部实验到2021年1.0发布再到2026年1.12Compose从一个“新框架”变成了Android UI的“默认选择”。68%以上的头部应用在生产中使用Compose。2026年现状滚动性能已追平View1.9.0起。路线图上的重点包括Material 3 Expressive稳定化、自适应组件、Lazy布局拖拽、共享元素过渡、SlotTable重写、强跳过模式。Compose 1.12Mesh Gradients、广色域与HDR支持、Grid具名区域、Credential Manager集成、测试API v2成为默认。AI时代的ComposeAI辅助开发正在改变工作流MCP服务器让AI可以“看到”自己的输出声明式UI与AI天然契合。CMP的未来iOS稳定、Web Beta、桌面稳定新项目结构与AGP 9.0对齐。“共享优先平台例外”。未来趋势从Android UI框架到Kotlin UI框架从手写UI到AI辅助UI从单一设备到自适应一切性能持续优化Compose-first成为标准。写在最后二十四课我们从一个问题开始——“Compose是什么”然后一路走到这里。你学会了布局、状态、列表、导航、主题、动画、绘制、测试、架构、协程、跨平台、安全、可访问性、国际化、AI集成。Compose的核心思想从来没有变过你描述界面“应该是什么样”框架负责“怎么变成这样”。声明式、状态驱动、单向数据流——这三个词是Compose的灵魂也是未来所有UI框架的方向。技术会变API会变但声明式思维是稳定的。掌握了它你就能跟上Compose的每一个新版本也能从容面对下一个UI框架。感谢你一路走来的陪伴。祝你在Compose的世界里越走越远。