移动端工程师 Agent — 覆盖 iOS/Android/跨平台应用开发、架构设计、UI实现、网络与数据层、性能优化、安全加固、测试与CI/CD、发布运维全流程。支持Flutter、React Native、Swift、Kotlin等主流技术栈。
Scanned 9/3/2026
Install to Claude Code
npx -y skills add aiskillstore/marketplace --skill mobile-engineer --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Mobile Engineer?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/aiskillstore-mobile-engineer)More formats (shields.io, HTML) on the badges page.
---
name: mobile-engineer
description: 移动端工程师 Agent — 覆盖 iOS/Android/跨平台应用开发、架构设计、UI实现、网络与数据层、性能优化、安全加固、测试与CI/CD、发布运维全流程。支持Flutter、React Native、Swift、Kotlin等主流技术栈。
category: software-engineering
---
# 移动端工程师 Agent
## 适用场景
当用户需要:
- 搭建移动端项目(Flutter / React Native / Swift / Kotlin)
- 实现UI组件、页面、导航、动画
- 对接REST/GraphQL API、本地数据持久化
- 性能优化(启动速度、包体积、列表流畅度、内存)
- 安全加固(混淆、加固、SSL Pinning、数据加密)
- 编写自动化测试(单元/UI/集成)
- 配置CI/CD流水线、自动化发布
- 排查崩溃、ANR、内存泄漏
- 上架App Store / Google Play / 国内应用商店
## 通用原则
1. **先确认技术栈** — 问清是 iOS原生 / Android原生 / Flutter / React Native / KMP
2. **优先使用项目已有工具链** — 检查 pubspec.yaml / build.gradle / Podfile / package.json 确定依赖
3. **国内网络环境** — 使用镜像源(Flutter: mirrors.nju.edu.cn, Android: 阿里云/腾讯云Gradle镜像, CocoaPods: 清华/中科大Ruby镜像)
4. **安全优先** — 不将API Key/Token硬编码,使用环境变量或安全存储
5. **性能意识** — 任何UI改动都要考虑列表性能、帧率、内存
## 工作流
### 1. 项目初始化
#### Flutter 项目
```bash
# 使用国内镜像
export PUB_HOSTED_URL=https://mirrors.nju.edu.cn/dart-pub
export FLUTTER_STORAGE_BASE_URL=https://mirrors.nju.edu.cn/flutter
flutter create --org com.example --project-name my_app --platforms ios,android .
```
#### React Native 项目
```bash
npx react-native@latest init MyApp --template react-native-template-typescript
# 或使用 Expo
npx create-expo-app MyApp --template blank-typescript
```
#### Android 原生项目
- 使用 Android Studio 创建,或从模板生成
- Gradle 国内镜像配置(阿里云/腾讯云)
- Kotlin DSL 优先于 Groovy
#### iOS 原生项目
- Xcode 创建,SwiftUI 优先于 UIKit(新项目)
- SPM 优先于 CocoaPods
### 2. 架构设计
根据项目复杂度选择架构:
| 项目规模 | 推荐架构 | 适用场景 |
|---|---|---|
| 小型(<10屏) | MVC / 简单MVVM | 工具类App、MVP验证 |
| 中型(10-30屏) | MVVM + Repository | 电商、社交、内容类 |
| 大型(30+屏) | Clean Architecture + MVI | 金融、企业级、超级App |
**Flutter 推荐**:Riverpod + GoRouter + Dio + Freezed + Repository Pattern
**React Native 推荐**:Zustand + React Query + React Navigation + MMKV
**Android 推荐**:Jetpack Compose + Hilt + Room + Retrofit + Navigation Compose
**iOS 推荐**:SwiftUI + Combine + SwiftData + URLSession + SPM
### 3. UI 开发
#### 通用原则
- 从设计稿(Figma/Sketch)提取精确的尺寸、颜色、间距
- 使用主题系统(ThemeData / MaterialTheme / 自定义Theme)统一管理样式
- 适配不同屏幕:SafeArea、MediaQuery、LayoutBuilder
- 支持深色模式:`ThemeMode.dark` / `@media (prefers-color-scheme: dark)`
- 列表性能:虚拟化(ListView.builder / LazyColumn / UICollectionView)、图片懒加载、占位图
#### Flutter UI 要点
```dart
// 主题统一管理
MaterialApp(
theme: ThemeData.light().copyWith(
colorScheme: ColorScheme.fromSeed(seedColor: Colors.blue),
appBarTheme: const AppBarTheme(centerTitle: true),
),
darkTheme: ThemeData.dark(),
themeMode: ThemeMode.system,
home: const HomePage(),
)
```
#### React Native UI 要点
```tsx
// 使用 StyleSheet 统一管理样式
const styles = StyleSheet.create({
container: { flex: 1, padding: 16 },
title: { fontSize: 18, fontWeight: '600' },
})
```
### 4. 网络层
```dart
// Flutter Dio 封装示例
class ApiClient {
late final Dio _dio;
ApiClient() {
_dio = Dio(BaseOptions(
baseUrl: 'https://api.example.com',
connectTimeout: const Duration(seconds: 10),
receiveTimeout: const Duration(seconds: 10),
));
_dio.interceptors.add(LogInterceptor(responseBody: true));
_dio.interceptors.add(RetryInterceptor(dio: _dio));
}
}
```
### 5. 本地数据持久化
| 平台 | 推荐方案 | 适用场景 |
|---|---|---|
| Flutter | Isar / Drift / Hive | 轻量/关系型 |
| Android | Room | 关系型数据 |
| iOS | SwiftData / CoreData | 关系型数据 |
| 跨平台 | MMKV | KV存储 |
| 通用 | SharedPreferences / UserDefaults | 简单配置 |
### 6. 性能优化清单
- [ ] 启动耗时:懒加载、延迟初始化、启动任务分级
- [ ] 包体积:资源压缩、代码混淆、按需加载、ABI分包
- [ ] 列表流畅度:虚拟化、Item复用、图片预加载、占位图
- [ ] 内存:避免大对象常驻、WeakReference、图片缩放
- [ ] 网络:请求合并、缓存策略、预加载、分页
- [ ] 渲染:减少Overdraw、避免布局嵌套过深、使用GPU加速
### 7. 安全加固
```bash
# Android 混淆配置 (proguard-rules.pro)
-keep class com.example.** { *; }
-dontwarn okhttp3.**
-keep class okhttp3.** { *; }
# Flutter 加固
flutter build apk --obfuscate --split-debug-info=build/debug-info
```
### 8. 测试
```bash
# Flutter
flutter test
flutter test --coverage
flutter drive --target=test_driver/app.dart
# Android
./gradlew test
./gradlew connectedAndroidTest
# iOS
xcodebuild test -scheme App -destination 'platform=iOS Simulator,name=iPhone 15'
```
### 9. CI/CD (Fastlane)
```ruby
# Fastfile 示例
lane :beta do
increment_build_number
build_app(scheme: 'App')
upload_to_testflight
slack(message: '新Beta版本已上传')
end
```
### 10. 发布检查清单
- [ ] 版本号/构建号递增
- [ ] 签名证书/Provisioning Profile 有效
- [ ] 权限声明(Info.plist / AndroidManifest)
- [ ] 隐私政策链接
- [ ] 应用内购买/订阅配置
- [ ] 商店截图/描述/关键词更新
- [ ] 测试账号说明
- [ ] 崩溃监控已接入
## 常见问题排查
### 编译错误
1. 检查依赖版本兼容性(尤其是Flutter SDK与package版本)
2. 清理缓存:`flutter clean` / `./gradlew clean` / `rm -rf ~/Library/Developer/Xcode/DerivedData`
3. 检查Gradle JDK版本(Android需要JDK 17+)
4. iOS CocoaPods:`pod deintegrate && pod install`
### 崩溃定位
1. 查看崩溃日志(Xcode Organizer / Google Play Console / Sentry)
2. 符号化堆栈(dSYM / ProGuard mapping)
3. 复现路径分析
4. 检查内存/线程/锁问题
### 国内环境配置
```bash
# Flutter 镜像
export PUB_HOSTED_URL=https://mirrors.nju.edu.cn/dart-pub
export FLUTTER_STORAGE_BASE_URL=https://mirrors.nju.edu.cn/flutter
# Android Gradle 镜像 (build.gradle.kts)
repositories {
maven { url = uri("https://maven.aliyun.com/repository/public") }
maven { url = uri("https://maven.aliyun.com/repository/google") }
mavenCentral()
}
# CocoaPods 镜像
source 'https://cdn.cocoapods.org/'
```
## 参考文件
- `references/tools-quickref.md` — 各平台核心工具链速查表、关键命令、国内镜像源
## 输出规范
- 代码片段标注平台和语言(Flutter/Dart, Android/Kotlin, iOS/Swift, RN/TS)
- 提供完整的可运行代码,而非伪代码
- 复杂改动使用 `patch` 工具而非重写整个文件
- 涉及依赖变更时,同步更新配置文件(pubspec.yaml / build.gradle / Podfile / package.json)
- 性能优化建议附带基准测试方法
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!