客户端开发
收录客户端领域的技术笔记,覆盖 iOS / Android 原生、鸿蒙(HarmonyOS)、Flutter / React Native 等跨端框架、桌面应用与打包发布等工程能力,随学习持续补充。本模块与前端技术、后端技术 互为「端」的补充:前端管 Web、后端管服务、本模块管用户设备上的 App 与桌面客户端。
已收录
- 技术全景与选型 — 客户端版图(移动 / 桌面 / 小程序)与技术栈脉络,原生、跨端与桌面方案的多维对照与选型决策框架
- iOS 开发 — Swift 语言要点、SwiftUI 与 UIKit 双 UI 栈、应用生命周期、并发与持久化、签名上架与坑速查
- Android 开发 — Kotlin 语言要点、Activity 生命周期与清单、Jetpack Compose 与 XML 双 UI、MVVM + Hilt 架构、Room/网络与多渠道发布
- Flutter — Dart 语言与三层架构、Widget 树与 Element、布局与状态管理谱系、平台通道、性能与调试、release 构建与坑速查
- React Native — RN 原理与新版架构(Fabric / TurboModule / JSI)、Expo 与裸工程、样式与导航、数据与原生模块、Hermes 与性能调优
- 桌面应用:Electron / Tauri — 桌面方案全景对照、Electron 主从进程与安全基线、Tauri 2 Rust 内核与 WebView、打包分发与自动更新
- 鸿蒙(HarmonyOS)开发 — 子目录(5 页):ArkTS 语言与 V1/V2 状态管理、ArkUI 声明式 UI 与路由、Stage 应用模型与系统能力、DevEco 工程与 AGC 上架
- 网络层与本地存储 — 客户端网络分层、缓存与弱网策略、离线与冲突处理、数据存储选型与敏感数据存放
- 打包、签名与发布 — 签名与证书概念、多环境构建、iOS / Android / 桌面分发渠道、灰度回滚与 CI/CD、热更新合规红线
- 性能与稳定性 — 冷启动、流畅度与帧预算、内存与包体积、崩溃 / ANR 监控、日志回溯与质量门禁
- 小程序生态:原生与跨端 — 宿主容器与双线程运行模型、原生小程序工程(app.json / Page 生命周期 / 组件 / rpx / 分包体积)、uni-app / Taro 跨端框架对照、登录会话与支付订阅合规、提审灰度与坑速查
- Kotlin Multiplatform(KMP) — 共享业务逻辑 + 原生 UI 的定位与边界、源集与 expect/actual、Gradle 与 iOS framework 集成、共享层依赖选型、Swift 互操作、Compose Multiplatform 共享 UI
规划清单
| 主题 | 说明 | 状态 |
|---|---|---|
| 技术全景与选型 | 原生 vs 跨端 vs 桌面与小程序决策 | ✅ 已收录(platform-selection.md:客户端领域版图、方案选型矩阵(iOS/Android 原生、Flutter、RN、KMP、Electron、Tauri、小程序、PWA)、四问决策框架、跨端适用信号与不适用信号、KMP 边界、三套落地路线与常见坑) |
| iOS 开发 | Swift、SwiftUI / UIKit、生命周期、并发、持久化 | ✅ 已收录(ios.md:Swift 语言速览(值类型/可选/协议/async-await/Sendable)、Xcode 工程与 SPM、App 生命周期五状态与 Scene、SwiftUI 状态驱动与声明式布局要点、UIKit 关键组件与 Auto Layout、并发主线与主线程纪律、持久化与 Keychain、签名与分发流程指路、10 条坑速查与自检清单;示例基于 Swift 6 + iOS 26 SDK 语境) |
| Android 开发 | Kotlin、Activity 生命周期、Compose / XML、MVVM、发布 | ✅ 已收录(android.md:Kotlin 要点(空安全/扩展/协程/Flow)、工程结构(AGP/Gradle/模块)与清单文件、四大组件与生命周期、任务栈与配置变更、Jetpack Compose 声明式 UI 与 XML 对照、状态提升与 MVVM + Hilt、DataStore/Room/WorkManager、OkHttp/Retrofit 网络、权限模型与多设备适配、AAB 签名与多渠道、12 条坑速查与自检清单;示例基于 Kotlin 2.x + Android 平台当前稳定线) |
| Flutter | Dart、Widget 树、状态管理、平台通道、性能 | ✅ 已收录(flutter.md:Flutter 三层架构与渲染(Impeller)、Dart 语言速览、Widget 不可变与三棵树模型、布局与常用组件、状态管理谱系(setState→Provider→Riverpod/Bloc)、导航路由、MethodChannel/FFI 平台交互、const 优化与 jank 排查、release 构建三端、调试测试、11 条坑速查与自检清单;示例基于 Flutter 3.x 稳定线) |
| React Native | 架构、Expo / 裸工程、导航、性能、原生模块 | ✅ 已收录(react-native.md:RN 运行模型与桥→新架构演进(JSI/Fabric/TurboModule/Codegen)、Expo vs bare 选型、组件与样式(Flexbox 与 Yoga 差异)、React Navigation、数据层与 MMKV、原生模块对接、Hermes 与 JS 启动、长列表与图片内存、发布与升级锁定、9 条坑速查与自检清单;示例基于 RN 新架构默认稳定线) |
| 桌面应用 | Electron / Tauri 对比、安全基线、打包更新 | ✅ 已收录(desktop.md:桌面方案全景(原生/Qt/Electron/Tauri/Flutter desktop)对照、Electron 主从进程模型与 preload/contextBridge 安全基线、IPC 与窗口管理、Tauri 2 Rust 内核与系统 WebView 取舍、前端共享与 Rust 命令、代码签名与自动更新、9 条坑速查与自检清单) |
| 鸿蒙(HarmonyOS) | ArkTS、ArkUI、Stage 模型、AGC 上架 | ✅ 已收录(harmonyos/ 子目录 5 页:总览(OpenHarmony 关系、版本认知、学习地图)、arkts.md 语言与状态管理(TS 差异、V1/V2 装饰器、通信与并发纪律)、arkui.md 声明式 UI(组件/布局/生命周期/Navigation 路由)、stage-model.md 应用模型(module.json5、UIAbility、Want、权限与后台任务)、engineering.md 工程与发布(hvigor、HAP/HAR/HSP、签名 Profile、AGC 链路、Profiler/hdc 调试)) |
| 网络层与本地存储 | 网络分层、缓存弱网、离线冲突、存储选型 | ✅ 已收录(network-storage.md:客户端网络栈分层设计、连接监听与弱网队列、四级缓存与条件请求、离线写入与冲突合并策略、请求幂等与重试、存储设施盘点(UserDefaults/DataStore/MMKV/SQLite/Keychain·Keystore)、敏感数据红线、8 条坑速查与自检清单) |
| 打包、签名与发布 | 签名证书、渠道分发、CI/CD、灰度热更 | ✅ 已收录(release.md:签名与信任链(iOS 证书/描述文件/Team,Android keystore 与 v1-v4 签名、Play App Signing)、版本号与多环境构建、TestFlight 与上架流程、Google Play 与国内渠道、macOS 公证与 Windows 签名、Fastlane/GitHub Actions 流水线与签名保管、热更新与动态化合规红线(iOS 审核规则)、灰度与回滚、10 条坑速查与自检清单) |
| 性能与稳定性 | 启动、帧率、内存、崩溃、监控门禁 | ✅ 已收录(performance.md:冷热启动时间线与启动优化手法、流畅度与 16ms 帧预算(掉帧/卡顿归因)、内存预算与泄漏排查、包体积账单、崩溃与 ANR 监控(Sentry/Bugly/Firebase Crashlytics)、日志与用户路径回溯、性能门禁与度量体系、9 条坑速查与自检清单) |
| 客户端安全 | 加固混淆、数据加密、防重放与合规 | 待规划(移动端加固混淆、越狱/Root 检测边界、密钥与证书固定、防重放与风控、隐私合规(GDPR/个保法/商店隐私清单)将后续补齐) |
| 小程序生态 | 原生小程序与超级 App 内嵌、uni-app / Taro 跨端 | ✅ 已收录(mini-program.md:宿主与双线程运行模型、原生小程序工程(app.json / Page 生命周期 / 自定义组件 / rpx / 分包与体积)、uni-app / Taro 跨端框架对照与选型信号、登录会话闭环与合规红线(secret 不下发、手机号与隐私接口)、支付 / 订阅消息 / 分享要点、提审灰度与基础库兼容、11 条坑速查与检查清单) |
| Kotlin Multiplatform(KMP) | 共享业务逻辑、Compose Multiplatform 共享 UI 边界 | ✅ 已收录(kmp.md:共享范围分层决策、源集与 expect/actual、Gradle 多目标工程与 iOS framework 集成、共享层依赖选型(Ktor Client / kotlinx.serialization / SQLDelight / Koin)、Swift 互操作与 Kotlin/Native 内存模型纪律、Compose Multiplatform 共享 UI 判断表、11 条坑速查与检查清单) |
写作规范
- 每篇聚焦一个技术点,包含「核心概念 → 代码示例 → 常见坑 → 检查清单」;
- 代码示例必须标注平台与工具链语境(如 Swift 6 / iOS 26 SDK、Kotlin 2.x / Compose、Flutter 3.x),本模块多数示例无法在纯文档环境实机运行,凡未实机验证均注明「需在对应 SDK 环境验证」;
- 正文与代码规避裸双花括号与裸尖括号标签,避免 VitePress 模板编译问题;
- 涉及签名证书、密钥与隐私的内容只讲方法与红线,不贴真实敏感信息;
- 文件名用短横线命名(如
network-storage.md),新增后登记到config.mjs侧边栏。
写作规范请参阅写作指南。