Flutter 组件构建助手
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,将 @kunlungrowth/flutter-widgets 安装到你的 AI 助手中。
技能介绍
解决哪些 Flutter 开发痛点
在 Flutter 开发中,随着业务复杂化,开发者常面临几个棘手问题:新项目不知该选 Provider 还是 Riverpod;长列表滑动卡顿、Widget 频繁重建导致掉帧;build 方法膨胀到上千行难以维护;或是实现 Hero、Staggered 等复杂动画时踩坑。这些不仅影响性能,还会拖垮代码的可维护性。
技能的工作方式
该技能以资深 Flutter 开发者的视角介入,围绕 Everything is a Widget 的核心哲学展开工作。
- Widget 树设计:坚持组合优于继承,保持
build方法纯净无副作用,并尽可能使用const构造函数来减少重建开销。 - 状态管理决策:根据项目规模和团队习惯,提供从
setState、Provider、Riverpod到Bloc的清晰选型路径,并输出对应的核心代码。 - 列表与渲染优化:针对长列表,指导使用
ListView.builder进行懒加载,通过itemExtent固定高度测量、添加RepaintBoundary隔离重绘,并配合cached_network_image优化图片加载。 - 动画与生命周期:针对复杂动画,规范
AnimationController在initState创建和dispose销毁的生命周期,涵盖Hero、Staggered、Lottie及CustomPainter的最佳实践。
最终输出包含完整的 .dart 代码、状态管理方案理由以及详细的性能优化建议(如预期的 fps 提升)。
适用边界与注意点
该技能专注于 Flutter UI 架构与性能优化。对于仅包含简单静态页面的项目,由于 Flutter 天然的声明式特性,无需过度设计,该技能可能显得冗余。此外,如果是重度 3D 游戏开发,建议直接使用 Unity 或 Flame 等专用引擎,而非在 Flutter 中强行实现。
使用场景
- 新项目启动阶段,需要在 Provider、Riverpod 和 Bloc 之间对比,为应用选定合适的全局状态管理架构。
- 优化电商 App 的商品瀑布流列表,解决滑动卡顿问题,通过懒加载和隔离重绘提升渲染帧率。
- 重构历史遗留的 Flutter 代码,将臃肿的巨型 build 方法拆解为多个独立、高复用性的子组件。
- 开发社交应用的动态流,需要实现图片的 Hero 共享元素过渡以及多视图交错出现的 Staggered 动画。
适合人员
- 中级 Flutter 开发者:已掌握基础 UI 拼装,希望深入理解底层渲染机制,提升复杂业务的架构设计能力。
- 移动端技术负责人:负责团队技术规范制定,需要为中大型 Flutter 项目确立状态管理选型标准与性能优化红线。
- 大型应用维护工程师:正在接手代码臃肿、列表频繁卡顿的历史项目,急需获取具体的组件拆分与渲染优化实操指南。