FluentUI Apple 0.34.0版本发布:组件优化与主题架构升级
FluentUI Apple是微软开源的iOS/macOS UI组件库,旨在为Apple平台开发者提供符合Fluent设计语言的现代化界面组件。本次0.34.0版本更新带来了多项重要改进,包括组件功能增强、主题架构重构以及视觉体验优化。
主题架构重大重构
本次版本最核心的变化是对主题系统的架构重构。开发团队将FluentTheme相关代码迁移到了新的FluentUI_common模块中,这一变化使得主题系统可以跨模块共享。同时,颜色令牌(Color Tokens)和排版令牌(Typography Tokens)也被重新组织,从common模块中分离出来,使得架构更加清晰。
对于macOS平台,特别增加了主题令牌支持,并优化了别名令牌系统。这些改进使得主题系统在不同平台间的表现更加一致,同时也为未来的多平台支持打下了基础。
组件功能增强
通知系统改进
MSFNotification组件现在支持设置一个闭包,无论通知是通过用户交互还是自动消失都会被调用。此外,Fluent通知现在可以同时显示操作按钮和关闭按钮,大大增强了通知的交互能力。
底部表单优化
BottomSheetController新增了对UIBlurEffect背景的支持,开发者现在可以为底部表单添加毛玻璃效果。同时,部分表单扩展支持也得到了改进,使得表单的展示方式更加灵活。
命令栏与搜索栏
命令栏(CommandBar)现在支持分组标签(CommandBarItemGroup labels),使得命令的组织更加结构化。搜索栏(SearchBar)则新增了键盘返回类型属性的暴露,开发者可以更精细地控制搜索交互行为。
导航与标签栏
导航项(UINavigationItem)的扩展被重构为新的FluentNavigationItemConfiguration,解决了与Xcode的兼容性问题。标签栏(TabBar)现在会为每个标签项设置唯一的tabID,提高了可访问性和交互稳定性。
视觉与交互优化
针对iOS 17的深色模式颜色问题进行了修复,确保在所有系统版本下都能正确显示。动态颜色系统(DynamicColor)也得到了改进,现在支持玻璃前景色(GlassForeground),并已集成到标签栏项视图中。
列表单元格的命名从listPlainCell/listGroupedCell统一更新为listCell,简化了API命名。字体扩展(NSFont+extension)的加入为文本处理提供了更多便利。
开发环境与兼容性
项目现在要求最低macOS版本为13.0,并已将Xcode版本提升至16.3。构建环境的检查机制也得到了增强,确保在不同平台下的正确构建。这些变化使得项目能够更好地利用最新的平台特性,同时保持向后兼容性。
总结
FluentUI Apple 0.34.0版本通过主题架构的重构和多项组件的功能增强,为开发者提供了更强大、更灵活的UI工具集。这些改进不仅提升了开发体验,也为最终用户带来了更一致、更现代的界面交互体验。特别是主题系统的重构,为未来的多平台一致性支持奠定了坚实基础。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0220
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0140
uni-appA cross-platform framework using Vue.jsJavaScript09
GLM-5.2智谱开源 GLM-5.2,这是针对长文本任务的最新旗舰模型。相较于前代产品 GLM-5.1,它在长文本任务处理能力上实现了显著飞跃,并且首次在稳定的 100 万 token 上下文中提供这一能力。Jinja00
SwanLab⚡️SwanLab - an open-source, modern-design AI training tracking and visualization tool. Supports Cloud / Self-hosted use. Integrated with PyTorch / Transformers / LLaMA Factory / veRL/ Swift / Ultralytics / MMEngine / Keras etc.Python00
tiny-universe《大模型白盒子构建指南》:一个全手搓的Tiny-UniverseJupyter Notebook03