用途:Capacitor 用于把现代 Web 应用部署为 iOS、Android 原生二进制,同时保持同一套 Web 代码库可编译到 Web、App Store 与 Google Play,也适合将企业内部门户封装为带生物识别与证书固定的移动应用。
主要能力:以硬件加速的原生 WebView(iOS 的 WKWebView、Android System WebView)承载 Web 应用,并提供双向 JSON RPC 桥;通过统一 TypeScript API 访问相机、推送通知、安全存储、触觉反馈等设备能力;支持编写 Swift 或 Kotlin 自定义原生插件并注册到 TypeScript 接口;通过 capacitor.config.ts 配置应用 ID、名称、webDir、服务器模式与插件参数。
使用方式:安装依赖并初始化项目:npm install @capacitor/core @capacitor/cli;npx cap init MyMobileApp com.example.app;npm install @capacitor/android @capacitor/ios;npx cap add android;npx cap add ios。Web 构建后运行 npx cap sync 复制资源并更新原生插件依赖。调用原生 API 示例:import { Geolocation } from "@capacitor/geolocation"; 然后 await Geolocation.getCurrentPosition()。自定义插件可用 registerPlugin 注册。
适用场景:Web 转原生、PWA 与原生应用共用代码库、需要原生设备 API 的项目、企业内部门户的移动封装。
限制与注意事项:不要直接编辑原生工程内生成的 Web 目录,应改源码后运行 npx cap copy;发布前移除 capacitor.config.ts 中的 server.url 调试地址;注意刘海屏安全区域,使用 viewport-fit=cover 与 env(safe-area-inset-top);生产环境避免明文 HTTP。常见问题包括插件未实现(运行 npx cap sync 并检查导入)、Android 明文流量被禁、Xcode 构建失败(可运行 npx cap update ios 并检查签名)。具体收费、价格与平台支持细节暂未提供。