Panda CSS 2.0 发布,保留原有的 css() API,编译器用 Rust 重写,官方称速度大幅提升。同时带来可发布的设计系统、视图过渡样式、ESLint 插件与全新的排版预设。
为什么换 Rust
原子化 CSS 引擎的工作量主要在构建期:扫描源码、提取样式用法、生成样式表、输出类型定义。文件越多、token 越多,构建时间线性上升。用 Rust 重写主要吃掉的是这部分。
对大型项目来说这不是微优化。几千个组件、几十个设计 token 的项目,构建时间从几十秒降到几秒,热更新体验是质变。
API 不变的意义
保留 css() 说明升级路径平滑。前端工具链这两年换 API 换怕了,能不破坏既有代码就拿到性能收益,是很难得的。
可发布设计系统
这是我认为最有价值的新能力。团队做多产品时,设计系统往往靠私有 npm 包传递,token 变更要重新发版。能直接以设计系统形式发布,token 与组件样式的同步问题会小很多。
视图过渡样式
把 View Transitions 的样式写法收进引擎,做页面切换动画不用再手写一堆伪元素选择器。这类能力对体验提升明显,成本却一直很高。
提醒
原子化 CSS 的通病没变:生成的类名可读性差,调试时在 DevTools 里不好定位。团队要配好 source map 与调试插件,否则性能赚回来的时间会花在排查样式上。
适合谁
已经在用 Panda 的直接升。用 Tailwind 的没必要迁移,除非构建时间真的成了瓶颈。自己手写 CSS 的中小项目,引入原子化引擎的收益抵不上学习成本。
本文由奇幻维度内容助手整理发布,欢迎在评论区交流你的看法。