mobile-design

mobile-design

热门

(移动优先 · 触控优先 · 尊重平台)

4.4万Star
6471Fork
更新于 2026/7/22
SKILL.md
readonly只读
name
mobile-design
description

(移动优先 · 触控优先 · 尊重平台)

移动设计系统

(移动优先 · 触控优先 · 尊重平台)

理念: 触控优先。省电优先。尊重平台。支持离线。
核心法则: 移动端不是缩小版的桌面端。
操作规则: 先考虑约束,再考虑美观。

此技能旨在防止桌面思维、AI默认值和危险假设,用于设计或构建移动应用。


1. 移动可行性及风险指数(MFRI)

在设计或实现任何移动功能或界面之前,评估可行性。

MFRI 维度(1–5)

维度 问题
平台清晰度 目标平台(iOS / Android / 两者)是否明确?
交互复杂度 手势、流程或导航有多复杂?
性能风险 是否涉及列表、动画、大量状态或媒体?
离线依赖 无网络时功能是否中断或降级?
无障碍风险 是否影响运动、视觉或认知无障碍?

评分公式

MFRI = (平台清晰度 + 无障碍准备度)
       − (交互复杂度 + 性能风险 + 离线依赖)

范围: -10 → +10

解读

MFRI 含义 所需操作
6–10 安全 正常进行
3–5 中等 增加性能和UX验证
0–2 有风险 简化交互或架构
< 0 危险 实现前重新设计

2. 开始任何工作前的强制思考

⛔ 停止:先问再假设(必需)

如果以下任何一项未明确说明,你必须在继续之前提问:

方面 问题 原因
平台 iOS、Android 还是两者? 影响导航、手势、排版
框架 React Native、Flutter 还是原生? 决定性能和模式
导航 标签、堆栈、抽屉? 核心UX架构
离线 是否必须离线工作? 数据和同步策略
设备 仅手机还是也包括平板? 布局和密度规则
受众 消费者、企业、无障碍需求? 触控和可读性

🚫 永远不要默认使用你最喜欢的栈或模式。


3. 强制参考阅读(强制执行)

通用(始终先读)

文件 目的 状态
mobile-design-thinking.md 反记忆、强制上下文 🔴 必须首先阅读
touch-psychology.md 菲茨定律、拇指区域、手势 🔴 必须阅读
mobile-performance.md 60fps、内存、电池 🔴 必须阅读
mobile-backend.md 离线同步、推送、API 🔴 必须阅读
mobile-testing.md 设备和端到端测试 🔴 必须阅读
mobile-debugging.md 原生与JS调试 🔴 必须阅读

平台特定(条件性)

平台 文件
iOS platform-ios.md
Android platform-android.md
跨平台 以上两者

❌ 如果你没有阅读平台文件,则不允许设计UI。


4. AI移动端反模式(硬性禁止)

🚫 性能罪(不可协商)

❌ 禁止 原因 ✅ 始终使用
长列表使用ScrollView 内存爆炸 FlatList / FlashList / ListView.builder
内联renderItem 重新渲染所有行 useCallback + memo
索引作为key 重排序错误 稳定ID
JS线程动画 卡顿 原生驱动 / GPU
生产环境console.log JS线程阻塞 移除日志
无记忆化 电池和性能损耗 React.memo / const组件

🚫 触控与UX罪

❌ 禁止 原因 ✅ 始终使用
触控区域 <44–48px 点击失败 最小触控目标
仅手势操作 排除用户 按钮后备
无加载状态 感觉像坏了 明确反馈
无错误恢复 死胡同 重试 + 消息
忽略平台规范 肌肉记忆混乱 iOS ≠ Android

🚫 安全罪

❌ 禁止 原因 ✅ 始终使用
令牌存储在AsyncStorage 易被窃取 SecureStore / Keychain
硬编码密钥 可逆向工程 环境变量 + 安全存储
无SSL证书锁定 MITM风险 证书锁定
记录敏感数据 PII泄露 绝不记录密钥

5. 平台统一与分化矩阵

统一                          分化
──────────────────────────     ─────────────────────────
业务逻辑                      导航行为
数据模型                      手势
API契约                        图标
验证                          排版
错误语义                      选择器 / 对话框

平台默认值

元素 iOS Android
字体 SF Pro Roboto
最小触控 44pt 48dp
返回 边缘滑动 系统返回
面板 底部面板 对话框 / 面板
图标 SF Symbols Material Icons

6. 移动端UX心理学(非可选)

菲茨定律(触控现实)

  • 手指 ≠ 光标
  • 精度低
  • 可达性比精确性更重要

规则:

  • 主要CTA位于拇指区域
  • 破坏性操作远离
  • 无悬停假设

7. 性能原则

React Native(必需模式)

const Row = React.memo(({ item }) => (
  <View><Text>{item.title}</Text></View>
));

const renderItem = useCallback(
  ({ item }) => <Row item={item} />,
  []
);

<FlatList
  data={items}
  renderItem={renderItem}
  keyExtractor={(i) => i.id}
  getItemLayout={(_, i) => ({
    length: ITEM_HEIGHT,
    offset: ITEM_HEIGHT * i,
    index: i,
  })}
/>

Flutter(必需模式)

class Item extends StatelessWidget {
  const Item({super.key});

  @override
  Widget build(BuildContext context) {
    return const Text('Static');
  }
}
  • 尽可能使用 const
  • 仅针对性重建

8. 强制移动端检查点

在编写任何代码之前,你必须完成以下内容:

🧠 移动端检查点

平台:     ___________
框架:    ___________
已读文件:   ___________

我将应用的3条原则:
1.
2.
3.

我将避免的反模式:
1.
2.

❌ 无法完成 → 返回并阅读。


9. 框架决策树(标准)

需要OTA + 有Web团队 → React Native + Expo
高性能UI → Flutter
仅iOS → SwiftUI
仅Android → Compose

无正当理由不得争论。


10. 发布就绪检查清单

发布前

  • [ ] 触控目标 ≥ 44–48px
  • [ ] 离线处理
  • [ ] 使用安全存储
  • [ ] 列表已优化
  • [ ] 日志已移除
  • [ ] 在低端设备上测试
  • [ ] 无障碍标签存在
  • [ ] MFRI ≥ 3

11. 相关技能

  • frontend-design – 视觉系统与组件
  • frontend-dev-guidelines – RN/TS架构
  • backend-dev-guidelines – 移动安全API
  • error-tracking – 崩溃与性能遥测

最终法则:
移动用户容易分心、被打断且缺乏耐心——通常单手操作,网络差,电量低。
为这种现实设计,否则你的应用会悄然失败。


使用时机

此技能适用于执行概述中描述的工作流或操作。

限制

  • 仅当任务明确符合上述范围时使用此技能。
  • 不要将输出视为环境特定验证、测试或专家评审的替代品。
  • 如果缺少所需的输入、权限、安全边界或成功标准,请停止并请求澄清。