Appearance
跨端框架
跨端框架用于把一套业务逻辑或组件模型发布到多个运行环境,例如 iOS、Android、小程序、H5、桌面端。跨端的价值是复用工程能力和业务代码,但每个平台的能力、交互规范、发布流程和性能边界仍然不同。
主流方向
| 框架 | 主要目标 | 适用场景 |
|---|---|---|
| React Native | iOS / Android 原生应用 | 有 React 经验,需要原生 App 体验 |
| Flutter | iOS / Android / Web / 桌面 | 统一 UI、高性能渲染、多端应用 |
| Taro | 小程序 / H5 / React Native 等 | 国内多小程序端和 H5 统一开发 |
| uni-app | 小程序 / H5 / App | 国内业务多端覆盖、Vue 技术栈 |
| Electron | 桌面应用 | 跨平台桌面工具、管理端、IDE 类应用 |
选型
如果核心目标是移动原生体验,并且团队熟悉 React,可以评估 React Native。如果希望 UI 渲染高度一致、团队接受 Dart,Flutter 更适合。国内业务如果重点是微信、支付宝、抖音等小程序和 H5,同一套业务多端发布时,Taro 和 uni-app 更常见。
Electron 不是移动跨端框架,它面向桌面端。它的优势是能复用 Web 技术和 Node.js 能力,代价是安装包体积和运行资源占用更高。
工程注意点
跨端项目最容易被低估的是平台差异。支付、登录、分享、定位、蓝牙、文件、相机、推送、审核和灰度发布都可能与平台强绑定。选型前要列出核心平台能力,做最小验证。
| 现象 | 检查点 |
|---|---|
| 某端样式异常 | 单位、布局引擎、平台组件差异 |
| 能力调用失败 | 权限、平台 API、运行环境和审核限制 |
| 包体积过大 | 依赖、图片资源、原生插件、运行时 |
| 发布流程复杂 | 多端证书、渠道包、审核、灰度和回滚 |
