关于 mobile-development
面向 iOS、Android 和跨平台应用开发者的移动开发技能,涵盖框架选择、架构、性能、安全、测试与发布建议。
主要功能
- 01框架选择指南
- 02iOS 与 Android 平台实践
- 03架构与离线同步建议
- 04性能与安全实践
- 05测试和部署清单
适用场景
- 01选择原生或跨平台技术
- 02规划离线优先的数据同步
- 03检查应用性能与安全
- 04准备移动应用测试和发布
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ samhvw8/ dotfiles --skill mobile-development安装后在 Claude Code 中输入/mobile-development确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/mobile-android.mdmobile-best-practices.mdmobile-debugging.mdmobile-frameworks.mdmobile-ios.mdmobile-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 条准则:
- 性能是基础,而非功能——加载时间超过 3 秒的应用,有 70% 会被用户放弃
- 每一 KB、每一毫秒都很重要——移动设备的限制真实存在
- 默认离线优先——网络并不可靠,应针对这一点进行设计
- 用户情境 > 开发者环境——考虑真实世界中的使用场景
- 了解平台,但不受平台束缚——尊重平台惯例
- 持续迭代,而非追求完美——发布、衡量、改进的循环是生存之道
- 将安全性和无障碍性融入设计——不能事后补做
- 在真实设备上测试——模拟器对性能的表现并不真实
- 架构应随复杂度扩展——简单应用不要过度设计
- 持续学习是生存之道——移动领域变化迅速
有关思维模式和决策框架,请参阅: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 3 | Kotlin/Compose 原生开发 |
| 快速原型开发 | React Native + Expo |
| 桌面端 + 移动端 | Flutter |
| 具备 JavaScript 技能的企业团队 | React Native |
| 资源有限的初创公司 | Flutter 或 React Native |
| 游戏或高负载图形应用 | 原生开发(Swift/Kotlin)或 Unity |
框架快速对比(2024-2025)
| 标准 | React Native | Flutter | Swift/SwiftUI | Kotlin/Compose |
|---|---|---|---|---|
| 星标数 | 121K | 170K | N/A | N/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 动态配色
- 触控反馈(涟漪效果)
- 遵循系统栏和手势规范
应避免的常见问题
- 仅在模拟器上测试 - 真机才能展现真实性能
- 忽视平台惯例 - 用户期待符合平台特定规范的模式
- 没有离线处理机制 - 网络故障在所难免
- 内存管理不当 - 会导致崩溃和糟糕的用户体验
- 硬编码凭据 - 安全漏洞
- 缺少无障碍支持 - 将 15% 以上的用户排除在外
- 过早优化 - 应根据指标而非假设进行优化
- 过度设计 - 从简单方案开始,按需扩展
- 跳过真机测试 - 模拟器无法呈现电池和网络问题
- 不考虑电池续航 - 必须证明后台处理的必要性
性能预算
建议目标:
- 应用大小:初始下载小于 50MB,总大小小于 200MB
- 启动时间:2 秒内可交互
- 屏幕加载时间:缓存数据 1 秒内加载
- 网络请求:API 调用在 3 秒内完成
- 内存:常见屏幕低于 100MB,峰值低于 200MB
- 电池:每小时活跃使用的耗电量低于 5%
- 帧率:60 FPS(每帧 16.67ms)
资源
官方文档:
- React Native:https://reactnative.dev/
- Flutter:https://flutter.dev/
- iOS HIG:https://developer.apple.com/design/human-interface-guidelines/
- Material Design:https://m3.material.io/
- OWASP Mobile:https://owasp.org/www-project-mobile-top-10/
工具与测试:
- Detox E2E:https://wix.github.io/Detox/
- Appium:https://appium.io/
- Fastlane:https://fastlane.tools/
- Firebase:https://firebase.google.com/
社区:
- React Native Directory:https://reactnative.directory/
- Pub.dev(Flutter 软件包):https://pub.dev/
- Awesome React Native:https://github.com/jondot/awesome-react-native
- Awesome Flutter:https://github.com/Solido/awesome-flutter
评论
支持 Markdown