mcpField
M
mobile-development

mobile-development

github.com/samhvw8开发1543 次安装1 天前更新
代码仓库

关于 mobile-development

面向 iOS、Android 和跨平台应用开发者的移动开发技能,涵盖框架选择、架构、性能、安全、测试与发布建议。

主要功能

  1. 01框架选择指南
  2. 02iOS 与 Android 平台实践
  3. 03架构与离线同步建议
  4. 04性能与安全实践
  5. 05测试和部署清单

适用场景

  1. 01选择原生或跨平台技术
  2. 02规划离线优先的数据同步
  3. 03检查应用性能与安全
  4. 04准备移动应用测试和发布

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/samhvw8/dotfiles --skill mobile-development

安装后在 Claude Code 中输入/mobile-development确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
mobile-android.md
mobile-best-practices.md
mobile-debugging.md
mobile-frameworks.md
mobile-ios.md
mobile-mindset.md

详细介绍

移动开发技能

使用现代框架、最佳实践和移动优先思维模式,打造可用于生产环境的移动应用。

适用场景

  • 构建移动应用(iOS、Android 或跨平台应用)
  • 实现移动优先的设计和 UX 模式
  • 针对移动设备限制进行优化(电池、内存、网络、小屏幕)
  • 决定采用原生还是跨平台技术
  • 实现离线优先架构和数据同步
  • 遵循特定平台的指南(iOS HIG、Material Design)
  • 优化移动应用的性能和用户体验
  • 实现移动安全和身份验证
  • 测试移动应用(单元测试、集成测试、E2E 测试)
  • 部署到 App Store 和 Google Play

技术选型指南

跨平台框架:

  • React Native:适合具备 JavaScript 专长、需要共享 Web 代码或希望使用成熟生态系统的场景(121K 星、67% 熟悉度)
  • Flutter:适合性能要求严苛、包含复杂动画的应用;增长最快(170K 星、46% 采用率)

原生开发:

  • iOS (Swift/SwiftUI):实现最佳 iOS 性能、使用最新功能并集成 Apple 生态系统
  • Android (Kotlin/Jetpack Compose):实现最佳 Android 性能、采用 Material Design 3 并针对平台进行优化

详细的框架对比请参阅:references/mobile-frameworks.md

移动开发思维模式

移动开发的 10 条准则:

  1. 性能是基础,而非功能——加载时间超过 3 秒的应用,有 70% 会被用户放弃
  2. 每一 KB、每一毫秒都很重要——移动设备的限制真实存在
  3. 默认离线优先——网络并不可靠,应针对这一点进行设计
  4. 用户情境 > 开发者环境——考虑真实世界中的使用场景
  5. 了解平台,但不受平台束缚——尊重平台惯例
  6. 持续迭代,而非追求完美——发布、衡量、改进的循环是生存之道
  7. 将安全性和无障碍性融入设计——不能事后补做
  8. 在真实设备上测试——模拟器对性能的表现并不真实
  9. 架构应随复杂度扩展——简单应用不要过度设计
  10. 持续学习是生存之道——移动领域变化迅速

有关思维模式和决策框架,请参阅:references/mobile-mindset.md

参考文档导航

核心技术:

  • mobile-frameworks.md - React Native、Flutter、Swift、Kotlin、框架对比矩阵及各自的适用场景
  • mobile-ios.md - Swift 6、SwiftUI、iOS 架构模式、HIG、App Store 要求及平台功能
  • mobile-android.md - Kotlin、Jetpack Compose、Material Design 3、Play Store 及 Android 专属功能

最佳实践与开发思维模式:

  • mobile-best-practices.md - 移动优先设计、性能优化、离线优先架构、安全性、测试、无障碍性、部署及分析
  • mobile-debugging.md - 调试工具、性能分析、崩溃分析、网络调试及平台专属调试
  • mobile-mindset.md - 思维模式、决策框架、平台专属思维、常见陷阱及调试策略

关键最佳实践(2024-2025)

性能目标:

  • 应用启动:<2 秒(超过 3 秒时,70% 的用户会放弃)
  • 内存使用量:典型屏幕 <100MB
  • 网络请求:积极进行批处理和缓存
  • 电池影响:遵守 Doze Mode 和后台限制
  • 动画:60 FPS(每帧 16.67ms)

架构:

  • 小型到中型应用采用 MVVM(职责分离清晰,便于测试)
  • 大型企业应用采用 MVVM + Clean Architecture
  • 离线优先,采用混合同步方式(推送 + 拉取)
  • 状态管理:Zustand(React Native)、Riverpod 3(Flutter)、StateFlow(Android)

安全性(OWASP 移动端十大风险):

  • 使用 OAuth 2.0 + JWT + 生物识别进行身份验证
  • 使用 Keychain(iOS)/ KeyStore(Android)存储敏感数据
  • 使用证书固定保障网络安全
  • 切勿将凭据或 API 密钥硬编码
  • 实施适当的会话管理

测试策略:

  • 单元测试:业务逻辑覆盖率达到 70% 以上
  • 集成测试:覆盖关键用户流程
  • E2E 测试:Detox(React Native)、Appium(跨平台)、XCUITest(iOS)、Espresso(Android)
  • 发布前必须进行真机测试

部署:

  • 使用 Fastlane 实现跨平台自动化
  • 分阶段发布:内部 → 封闭 → 公开 → 正式发布
  • 强制要求:iOS 17 SDK(2024)、Android 15 API 35(2025 年 8 月)
  • CI/CD 可节省 20% 的开发时间

快速决策矩阵

需求选择
JavaScript 团队,需要共享 Web 代码React Native
对性能要求高、动画复杂Flutter
追求最高 iOS 性能和最新功能Swift/SwiftUI 原生开发
追求最高 Android 性能、使用 Material 3Kotlin/Compose 原生开发
快速原型开发React Native + Expo
桌面端 + 移动端Flutter
具备 JavaScript 技能的企业团队React Native
资源有限的初创公司Flutter 或 React Native
游戏或高负载图形应用原生开发(Swift/Kotlin)或 Unity

框架快速对比(2024-2025)

标准React NativeFlutterSwift/SwiftUIKotlin/Compose
星标数121K170KN/AN/A
采用情况35%46%仅 iOS仅 Android
性能原生的 80-90%原生的 85-95%原生的 100%原生的 100%
开发速度快(热重载)很快(热重载)快(Xcode Previews)快(Live Edit)
学习曲线简单(JavaScript)中等(Dart)中等(Swift)中等(Kotlin)
UI 范式基于组件基于 Widget声明式声明式
社区庞大(npm)不断壮大Apple 生态系统Android 生态系统
最适合JS 团队、共享 Web 代码性能、动画仅限 iOS 的应用仅限 Android 的应用

实施清单

项目设置:

  • 选择框架 → 初始化项目 → 配置开发环境 → 设置版本控制 → 配置 CI/CD → 制定团队规范

架构:

  • 选择模式(MVVM/Clean) → 设置文件夹 → 状态管理 → 导航 → API 层 → 错误处理 → 日志记录

核心功能:

  • 身份验证 → 数据持久化 → API 集成 → 离线同步 → 推送通知 → 深度链接 → 分析

UI/UX:

  • 设计系统 → 平台指南 → 无障碍功能 → 响应式布局 → 深色模式 → 本地化 → 动画

性能:

  • 图像优化 → 懒加载 → 内存分析 → 网络优化 → 电池测试 → 启动时间优化

质量:

  • 单元测试(70% 以上) → 集成测试 → E2E 测试 → 无障碍测试 → 性能测试 → 安全审计

安全性:

  • 安全存储 → 身份验证流程 → 网络安全 → 输入验证 → 会话管理 → 加密

部署:

  • 应用图标/启动页 → 屏幕截图 → 应用商店页面 → 隐私政策 → TestFlight/内部测试 → 分阶段发布 → 监控

平台特定指南

iOS(人机界面指南):

  • 原生导航模式(标签栏、导航栏)
  • iOS 设计模式(下拉刷新、滑动操作)
  • San Francisco 字体、iOS 配色系统
  • 触觉反馈、3D Touch/Haptic Touch
  • 遵循安全区域和刘海屏规范

Android(Material Design 3):

  • Material 导航(底部导航、导航抽屉)
  • 浮动操作按钮、Material 组件
  • Roboto 字体、Material You 动态配色
  • 触控反馈(涟漪效果)
  • 遵循系统栏和手势规范

应避免的常见问题

  1. 仅在模拟器上测试 - 真机才能展现真实性能
  2. 忽视平台惯例 - 用户期待符合平台特定规范的模式
  3. 没有离线处理机制 - 网络故障在所难免
  4. 内存管理不当 - 会导致崩溃和糟糕的用户体验
  5. 硬编码凭据 - 安全漏洞
  6. 缺少无障碍支持 - 将 15% 以上的用户排除在外
  7. 过早优化 - 应根据指标而非假设进行优化
  8. 过度设计 - 从简单方案开始,按需扩展
  9. 跳过真机测试 - 模拟器无法呈现电池和网络问题
  10. 不考虑电池续航 - 必须证明后台处理的必要性

性能预算

建议目标:

  • 应用大小:初始下载小于 50MB,总大小小于 200MB
  • 启动时间:2 秒内可交互
  • 屏幕加载时间:缓存数据 1 秒内加载
  • 网络请求:API 调用在 3 秒内完成
  • 内存:常见屏幕低于 100MB,峰值低于 200MB
  • 电池:每小时活跃使用的耗电量低于 5%
  • 帧率:60 FPS(每帧 16.67ms)

资源

官方文档:

工具与测试:

社区:

评论

支持 Markdown