先判断谁拥有状态、资产和渲染表面,再决定动画技术。
| 技术 | 系统位置 | 最佳任务 | 所有权 | 工程负担 |
|---|---|---|---|---|
| CSS + SVG | 原生视觉基线 | 少量状态、装饰、图标与路径 | 代码 / DOM | 低 |
| Motion | React 交互运行时 | 组件状态、手势、布局与进入退出 | 代码 / DOM | 低至中 |
| GSAP | 时间轴编排器 | 复杂序列、滚动叙事、命令式舞台 | 代码 / DOM | 中 |
| D3 | 数据与几何工具箱 | 比例尺、聚合、路径、布局输入 | 代码 / SVG 或 Canvas | 按渲染层决定 |
| Lottie | 线性矢量资产运行时 | 品牌短片、图标、空状态、反馈 | 设计资产 / JSON | 中 |
| Rive | 交互矢量状态机 | 角色、控件、多状态品牌交互 | 设计资产 / .riv | 中至高 |
| Canvas | 即时绘制表面 | 粒子、轨迹、高密度实时图元 | 代码 / 位图表面 | 中至高 |
| Three.js | 空间 / WebGL 渲染层 | 3D 场景、相机叙事、模型、材质与空间命中 | 代码 / GPU 场景图 | 高 |
| Remotion / HyperFrames | 视频输出工程 | 批量视频、模板化内容与离线渲染 | 独立视频工程 | 与网页运行时分离 |
01
先定所有权
React 拥有业务状态;运行时只拥有视觉执行。
02
先分图层
同一作品可以组合技术,但每层只有一个明确负责人。
03
测量后升级
没有真实瓶颈时,不因“更专业”而换成更重的运行时。