高级全栈工程师发展计划生成器
来自 Wikiprompt,自由的提示词百科全书
高级全栈工程师发展计划生成器 一份全面的系统提示词,用于生成详细的Web应用开发计划,涵盖响应式设计、性能、设计系统、UX/UI最佳实践以及技术架构。
提示词内容收藏
🌐
## 执行摘要
本计划旨在通过系统化方法,将现有网络应用提升至现代标准,重点优化响应式设计、性能表现、设计系统及用户体验。我们将采用移动优先策略,以适配以移动端为主的用户群体,建立基于7个断点的清晰响应式框架,并引入基于8px间距比例的全面设计令牌架构。性能优化将聚焦于达成核心网页指标(LCP < 2.5s,INP < 100ms,CLS < 0.1),通过代码分割、懒加载及GPU加速动画实现。技术架构将采用模块化CSS与设计令牌相结合的方式,确保可维护性及主题一致性。分阶段实施将优先交付高影响力改进,随后进行精细化打磨与性能调优,最终通过严格的质量检查清单确保所有设备上的无缝体验。
---
## 1. 响应式策略
### 断点策略
采用 **移动优先** 方法,因现有用户数据表明约65%的流量来自移动设备。断点定义如下:
| 断点 | 宽度 | 布局变更 |
|------|------|----------|
| `xs` | < 480px | 单列,底部导航,堆叠式卡片 |
| `sm` | 480px – 767px | 单列,顶部导航,两列表单 |
| `md` | 768px – 1023px | 双列,侧边栏出现,三列卡片网格 |
| `lg` | 1024px – 1439px | 三列,完整侧边栏,四列网格 |
| `xl` | 1440px – 1919px | 四列,最大内容宽度1200px |
| `xxl` | ≥ 1920px | 五列,最大内容宽度1440px |
| `print` | 不适用 | 隐藏导航,展开内容,黑白 |
**调整理由**:现有断点(768px, 1024px)已过时,未考虑平板横屏(1024px)及大型桌面显示器(1440px+)。新增断点可确保在关键设备尺寸上实现最优布局。
### 布局系统修订
- 将现有固定宽度容器替换为 **流体网格**,采用 `clamp()` 函数实现响应式间距:`padding: clamp(16px, 4vw, 48px)`
- 实现 **CSS Grid** 作为主要布局引擎,`grid-template-columns: repeat(auto-fit, minmax(280px, 1fr))` 用于卡片网格
- 采用 **容器查询** 处理组件级响应式设计,而非仅依赖视口断点
### 流体缩放方法
- 排版:`font-size: clamp(16px, 1rem + 0.5vw, 20px)` 用于正文
- 间距:基于8px基准比例,使用 `calc()` 实现流体值
- 图片:使用 `srcset` 和 `sizes` 属性,配合 `loading="lazy"` 及 `fetchpriority="high"` 用于首屏图片
### 触摸目标、手势与导航
- 所有交互元素最小触摸目标尺寸:**44×44px**(移动端),**40×40px**(桌面端)
- 实现 **滑动手势** 用于轮播及列表项操作(需配合可见按钮作为备选方案)
- 悬停状态仅在 `(hover: hover)` 和 `(pointer: fine)` 媒体查询下启用
- 键盘导航:可见焦点指示器(2px 轮廓,偏移2px),逻辑Tab顺序,跳过导航链接
### 安全区域与动态视口单位
- 使用 `env(safe-area-inset-*)` 处理刘海屏及圆角
- 采用 `100dvh` 作为全屏容器,`100svh` 用于粘性页脚,`100lvh` 作为回退方案
- 在iOS Safari上为固定元素添加 `viewport-fit=cover` 支持
### 字体缩放与图片优化
- 使用 `text-size-adjust: 100%` 防止iOS自动字体缩放
- 图片:提供2倍分辨率(`@2x`)资源,使用 `content-visibility: auto` 优化离屏图片渲染
---
## 2. 性能蓝图
### 性能目标
| 指标 | 目标 | 当前状态 | 差距 |
|------|------|----------|------|
| LCP | < 2.5s | 3.8s | 需优化 |
| INP | < 100ms | 180ms | 需优化 |
| CLS | < 0.1 | 0.15 | 需优化 |
| FCP | < 1.8s | 2.4s | 需优化 |
| TTI | < 3.5s | 4.2s | 需优化 |
| 60fps动画 | 持续60fps | 偶发掉帧 | 需优化 |
### 优化技术
**懒加载**
- 图片:`loading="lazy"` + `decoding="async"`,首屏图片使用 `fetchpriority="high"`
- 组件:使用 `React.lazy()` 或 `dynamic()` 进行路由级代码分割
- 字体:`font-display: swap` + 子集化(`unicode-range`)
**代码分割**
- 按路由分割(每个路由块 < 50KB gzip)
- 提取供应商库至独立块(`vendor.chunk.js`)
- 对非关键组件使用 `preload` 和 `prefetch` 提示
**资源优化**
- 图片:使用WebP格式(质量82%),通过CDN提供AVIF格式(质量80%)
- CSS:提取关键CSS(首屏内容 < 15KB),延迟加载非关键CSS
- JavaScript:压缩 + 使用现代语法(ES2020+),目标浏览器份额 > 95%
**CSS Containment与GPU合成**
- 对独立组件使用 `contain: layout paint` 隔离布局计算
- 动画:仅使用 `transform` 和 `opacity` 属性,配合 `will-change` 提示
- 使用 `translate3d(0,0,0)` 提升频繁动画元素至独立图层
**离线支持与优雅降级**
- 使用Workbox实现Service Worker:预缓存应用外壳,运行时缓存API请求(Stale-While-Revalidate策略)
- 实现应用外壳骨架屏,确保离线时快速加载
- 网络失败时提供降级UI,包含重试机制及缓存数据展示
---
## 3. 设计系统规范
### 设计令牌架构
采用 **分层令牌** 结构:原始值 → 语义令牌 → 组件令牌。
**色彩体系**
| 令牌 | 亮色模式 | 暗色模式 | 用途 |
|------|----------|----------|------|
| `--color-bg-primary` | `#FFFFFF` | `#0F172A` | 页面背景 |
| `--color-bg-secondary` | `#F8FAFC` | `#1E293B` | 区块背景 |
| `--color-bg-tertiary` | `#F1F5F9` | `#334155` | 悬停/高亮背景 |
| `--color-text-primary` | `#0F172A` | `#F8FAFC` | 主要文本 |
| `--color-text-secondary` | `#475569` | `#94A3B8` | 次要文本 |
| `--color-text-tertiary` | `#64748B` | `#64748B` | 辅助文本 |
| `--color-accent-primary` | `#4F46E5` | `#818CF8` | 主要操作 |
| `--color-accent-secondary` | `#0EA5E9` | `#38BDF8` | 次要操作 |
| `--color-success` | `#10B981` | `#34D399` | 成功状态 |
| `--color-warning` | `#F59E0B` | `#FBBF24` | 警告状态 |
| `--color-error` | `#EF4444` | `#F87171` | 错误状态 |
| `--color-border` | `#E2E8F0` | `#334155` | 边框/分隔线 |
**对比度合规**:所有文本/背景组合均满足WCAG AA标准(正文 ≥ 4.5:1,大字文本 ≥ 3:1)。
**间距体系**
- 基准单位:**8px**
- 间距比例:`4, 8, 12, 16, 24, 32, 48, 64, 96`
- 组件间距:`--space-2xs: 4px`,`--space-xs: 8px`,`--space-sm: 12px`,`--space-md: 16px`,`--space-lg: 24px`,`--space-xl: 32px`,`--space-2xl: 48px`
**排版体系**
- 字体族:`Inter`(正文),`JetBrains Mono`(代码)
- 字号比例(模块化比例1.25):
| 级别 | 字号 | 行高 | 字重 |
|------|------|------|------|
| 显示 | `clamp(32px, 5vw, 48px)` | 1.1 | 700 |
| 标题1 | `clamp(28px, 4vw, 40px)` | 1.2 | 700 |
| 标题2 | `clamp(24px, 3vw, 32px)` | 1.3 | 600 |
| 标题3 | `clamp(20px, 2vw, 24px)` | 1.4 | 600 |
| 正文 | `clamp(16px, 1rem + 0.5vw, 18px)` | 1.6 | 400 |
| 小号 | `14px` | 1.5 | 400 |
| 辅助 | `12px` | 1.4 | 400 |
**圆角与阴影**
- 圆角比例:`4px`(控件),`8px`(卡片),`12px`(弹窗),`16px`(大容器),`999px`(胶囊)
- 阴影体系:
- `--shadow-sm: 0 1px 2px rgba(0,0,0,0.05)`
- `--shadow-md: 0 4px 6px -1px rgba(0,0,0,0.1)`
- `--shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.1)`
- `--shadow-xl: 0 20px 25px -5px rgba(0,0,0,0.1)`
- 暗色模式:阴影透明度提升50%,增加边框以区分层次
**动效体系**
- 时长:`100ms`(悬停),`200ms`(微交互),`300ms`(标准过渡),`400ms`(弹窗/页面切换)
- 缓动:`cubic-bezier(0.4, 0, 0.2, 1)`(标准),`cubic-bezier(0.34, 1.56, 0.64, 1)`(弹性效果,仅用于装饰性元素)
- 尊重 `prefers-reduced-motion: reduce`,替换为淡入淡出效果
**图标与插画**
- 图标:统一使用 **Lucide** 图标库(24px网格,1.5px描边)
- 插画:采用几何风格,圆角,与品牌色系一致,支持暗色模式
**组件级视觉一致性**
- 按钮:统一高度(`40px`),内边距(`12px 20px`),圆角(`8px`)
- 输入框:统一边框(`1px solid var(--color-border)`),聚焦状态(`2px` 主色边框 + `3px` 半透明光晕)
- 卡片:统一内边距(`24px`),圆角(`12px`),阴影(`--shadow-sm`)
- 旧组件调整:逐步迁移至新令牌体系,优先处理高频组件
---
## 4. 用户体验/界面模式库计划
### 层级与可扫描性
- 使用视觉权重(字号、字重、颜色)而非装饰元素建立层级
- 内容区块间保持充足留白(`--space-lg` 及以上)
- 关键操作使用主色按钮,次要操作使用文本按钮或次级按钮
### 反馈与可供性
- **加载状态**:骨架屏(占位内容,微光动画效果)
- **按钮反馈**:悬停(背景色变化),按下(缩放至 `0.98`),禁用(50% 不透明度)
- **微交互**:成功操作显示打勾动画,失败操作显示抖动效果
- **Toast通知**:右上角(桌面端),顶部居中(移动端),自动消失(4秒),支持手动关闭
### 导航模式
- **移动端**:底部导航栏(4-5个主要项),汉堡菜单收纳次要项
- **平板/桌面端**:左侧固定侧边栏(可折叠至图标模式)
- **面包屑**:层级深度超过2级的页面显示
- **路标**:当前导航项高亮,滚动时侧边栏显示当前位置指示
### 无障碍(WCAG 2.1 AA)
- **对比度**:所有文本 ≥ 4.5:1,大文本 ≥ 3:1,UI组件边界 ≥ 3:1
- **ARIA角色**:导航使用 `navigation`,主要区域使用 `main`,补充内容使用 `complementary`
- **焦点管理**:弹窗打开时焦点移入,关闭时焦点返回触发元素
- **表单错误**:使用 `aria-describedby` 关联错误信息,`aria-invalid` 标记错误字段
- **屏幕阅读器**:为图标按钮提供 `aria-label`,为图片提供 `alt` 文本,为装饰性元素提供 `aria-hidden`
- **键盘导航**:所有交互元素均可通过Tab键访问,焦点顺序符合视觉顺序
### 表单与输入
- **输入类型**:根据字段语义使用 `type="email"`、`type="tel"`、`type="number"` 等,调出正确键盘
- **内联验证**:失焦时验证,输入时实时反馈
- **错误信息**:字段下方显示,包含图标和文本,颜色对比度达标
- **成功状态**:绿色勾选图标,不阻塞输入
- **自动完成**:为姓名、地址、邮箱等字段添加 `autocomplete` 属性
### 动效设计
- **页面切换**:淡入 + 轻微上移(`200ms`)
- **列表项**:交错淡入(每项间隔 `50ms`)
- **弹窗**:缩放 + 淡入(`300ms`),背景遮罩淡入
- **尊重 `prefers-reduced-motion`**:所有动画替换为 `opacity` 过渡
### 空状态与边界情况
- **零数据**:插画 + 简短说明 + 明确行动按钮(如“创建第一个项目”)
- **错误状态**:友好错误信息 + 重试按钮 + 支持链接
- **权限不足**:解释性文案 + 申请权限按钮
- **离线状态**:横幅提示 + 缓存数据展示 + 重连检测
---
## 5. 技术架构
### 技术栈评估与建议
**当前技术栈**:React 17 + Redux + SCSS + Webpack 5
**建议升级**:
- **React 18+**:利用并发特性、`useTransition` 提升响应性
- **TypeScript**:类型安全,减少运行时错误
- **Vite**:开发服务器热更新速度提升10倍,生产构建优化
- **CSS Modules + PostCSS**:作用域样式 + 自动添加前缀 + 嵌套支持
**理由**:React 18提供更好的性能特性,TypeScript提升代码质量,Vite显著改善开发体验。
### 组件架构增强
- **原子设计模式**:原子(按钮、输入框)→ 分子(表单组、搜索栏)→ 组织(导航栏、卡片网格)→ 模板(页面布局)→ 页面
- **组件规范**:每个组件包含 `Component.tsx`、`Component.module.css`、`Component.test.tsx`、`Component.stories.tsx`
- **自定义Hooks**:提取可复用逻辑(`useAuth`、`useMediaQuery`、`useLocalStorage`)
### 文件夹结构
```
src/
├── components/
│ ├── atoms/
│ ├── molecules/
│ ├── organisms/
│ ├── templates/
│ └── pages/
├── hooks/
├── utils/
├── services/
├── styles/
│ ├── tokens/
│ ├── base/
│ └── themes/
├── types/
└── constants/
```
### 主题系统实现
- **CSS自定义属性**:定义设计令牌,支持运行时主题切换
- **暗色模式**:通过 `[data-theme="dark"]` 属性切换,默认跟随系统 `prefers-color-scheme`
- **主题持久化**:存储在 `localStorage`,优先于系统设置
### CSS策略
- **CSS Modules**:组件级样式隔离,避免全局污染
- **PostCSS**:自动添加前缀,支持嵌套,使用 `postcss-preset-env`
- **全局样式**:仅用于重置、字体、设计令牌
### 响应式测试策略
- **工具**:Playwright(端到端),Storybook(组件级),Lighthouse(性能)
- **断点测试**:320px、375px、480px、768px、1024px、1440px、1920px
- **设备测试**:iPhone SE/14 Pro Max、iPad、MacBook Pro、4K显示器
- **自动化**:CI流水线集成Playwright,每个PR运行响应式快照测试
- **手动测试**:真实设备测试矩阵,覆盖iOS Safari、Android Chrome、桌面Chrome/Firefox/Safari
---
## 6. 分阶段实施计划
### 第一阶段:基础架构(第1-2周)
- 升级至React 18 + TypeScript
- 迁移至Vite
- 建立设计令牌架构(CSS自定义属性)
- 实现暗色模式基础支持
**交付物**:可运行的应用,新架构就绪,设计令牌生效
### 第二阶段:响应式重构(第3-4周)
- 实现断点策略
- 重构布局系统(CSS Grid + 容器查询)
- 优化导航(底部导航、侧边栏、汉堡菜单)
- 实现安全区域和动态视口单位
**交付物**:所有设备上实现响应式布局
### 第三阶段:设计系统实施(第5-6周)
- 更新组件至新设计令牌
- 实现排版、间距、圆角、阴影体系
- 统一图标和插画风格
- 组件级视觉一致性调整
**交付物**:统一的设计语言贯穿整个应用
### 第四阶段:性能优化(第7-8周)
- 实现代码分割和懒加载
- 优化图片(WebP/AVIF、srcset)
- 实现Service Worker和离线支持
- 优化动画性能(GPU合成)
**交付物**:核心网页指标达标(LCP < 2.5s,INP < 100ms,CLS < 0.1)
### 第五阶段:用户体验增强(第9-10周)
- 实现骨架屏、微交互、Toast通知
- 表单验证和输入优化
- 空状态、错误状态、离线状态设计
- 无障碍改进(ARIA、焦点管理、对比度)
**交付物**:完整的用户体验提升
### 第六阶段:测试与打磨(第11-12周)
- 全面响应式测试(自动化 + 手动)
- 性能回归测试
- 无障碍审计
- 跨浏览器兼容性修复
**交付物**:生产就绪的应用
---
## 7. 质量检查清单
### 响应式检查
- [ ] 在320px、375px、480px、768px、1024px、1440px、1920px宽度下无水平滚动
- [ ] 所有交互元素触摸目标 ≥ 44×44px(移动端)
- [ ] 图片在所有断点下正确缩放,无变形
- [ ] 字体在所有设备上可读,无截断
- [ ] 安全区域(刘海屏)处理正确
### 性能检查
- [ ] LCP < 2.5s(4G网络,中端设备)
- [ ] INP < 100ms
- [ ] CLS < 0.1
- [ ] 所有图片懒加载(首屏除外)
- [ ] 无渲染阻塞资源
- [ ] 动画在低端设备上保持60fps
### 无障碍检查
- [ ] 所有图片有替代文本
- [ ] 所有表单字段有标签
- [ ] 键盘可访问所有功能
- [ ] 焦点指示器可见
- [ ] 对比度符合WCAG AA标准
- [ ] 屏幕阅读器可正确朗读页面结构
### 功能检查
- [ ] 所有表单提交成功(含错误处理)
- [ ] 导航在所有断点下正常工作
- [ ] 暗色模式切换正确,无样式冲突
- [ ] 离线模式显示缓存内容
- [ ] 所有第三方集成正常工作
### 跨浏览器检查
- [ ] Chrome(最新版)
- [ ] Firefox(最新版)
- [ ] Safari(最新版,含iOS)
- [ ] Edge(最新版)
- [ ] 移动端Chrome(Android)
### 最终验收
- [ ] 所有核心网页指标达标
- [ ] 所有断点下无视觉缺陷
- [ ] 所有用户流程完成端到端测试
- [ ] 设计系统令牌一致应用
- [ ] 无控制台错误或警告
用法
此提示词专为 coding 设计。复制上方内容并粘贴到你常用的 AI 工具中。
为获得最佳效果,可将占位符(方括号或大写字母标示)替换为你的具体需求。
讨论
0 条评论