Introducción
You already have a Progressive Web App. It works in browsers, has a manifest, and maybe uses a service worker for offline support. If you now need app store distribution, native device APIs, or a better onboarding funnel, migrating to a Capacitor app is usually faster than rewriting your front end.
The biggest advantage is that you keep almost all of your existing web code. In most cases, you only need to:
- compilar activos web de producción
- initialize Capacitor with the right
webDir, - agregar proyectos de iOS y Android
- y conectar plugins nativos solo donde sea necesario.
Si su Aplicación Web Progresiva tiene rutas limpias y lógica de componentes, esto puede tomar solo unas pocas horas.
Requisitos previos
Tiempo estimado: 2-5 horas, dependiendo de las características específicas de la plataforma.
- Node.js 18+ con Bun
- Su código de fuente de PWA existente code (React, Vue, Angular, Svelte, etc.)
- Xcode (solo para iOS y macOS)
- Android Studio (solo para Android)
- Una cuenta de desarrollador de Apple si planea publicar iOS
- Una cuenta de desarrollador de Google Play para la distribución de Android
Paso 1: Verifique su PWA antes de envolverla en nativa
Antes de ejecutar bunx cap initVerifique que su aplicación web esté lista para producción:
- Asegúrese de que su PWA tenga un script de compilación de producción (por ejemplo,
bun run build). - Confirme que el directorio de salida de la web es determinístico (a menudo
dist,build, oout). - Elimine los redireccionamientos absolutos codificados que asumen un contexto de navegador solo.
- Verifique que el comportamiento del servicio de trabajo sea compatible con las vistas de la web móvil:
- Mantenga el soporte de trabajo en línea si ayuda a sus usuarios.
- Evite las API de navegador solo que no están disponibles en la vista de la web incorporada.
- Confirme que las solicitudes de instalación de la PWA y la interfaz de usuario específica del navegador todavía tienen sentido. En una aplicación Capacitor, las solicitudes de instalación de la aplicación suelen no ser necesarias.
Paso 2: Adaptar las conductas de la web solo
Mantenga su interfaz de usuario de la aplicación pero bloquee la lógica de navegador solo.
Utilice una comprobación de plataforma simple alrededor de las solicitudes de instalación y empuje:
import { Capacitor } from '@capacitor/core'
const isNative = Capacitor.isNativePlatform()
function registerInstallPrompt() {
if (isNative) return
// existing browser-only install or Web Push code
}
Esto evita que la lógica del navegador dispare dentro del contenedor nativo.
Paso 3: Inicialice Capacitor en la carpeta de su aplicación PWA
Desde la raíz de su aplicación PWA existente:
bun add @capacitor/core
bun add -D @capacitor/cli
Ejecute Capacitor init con el nombre de su aplicación, el ID de paquete y el directorio de salida web:
bunx cap init MyPWAApp com.example.my-pwa-app --web-dir dist
Si su carpeta de compilación es build (Crear aplicación de React) o out (Exportación estática de Next.js), reemplace dist.
Agregue una configuración básica de Capacitor:
import type { CapacitorConfig } from '@capacitor/cli'
const config: CapacitorConfig = {
appId: 'com.example.my-pwa-app',
appName: 'MyPWAApp',
webDir: 'dist',
server: {
iosScheme: 'https',
},
}
export default config
Paso 4: Agregue plataformas nativas
Instale paquetes nativos básicos y genere carpetas de proyecto:
bun add @capacitor/ios @capacitor/android
bunx cap add ios
bunx cap add android
En este punto Capacitor ha creado ios/ y android/ carpetas. La sincronización copiará tus activos web compilados en ambas plataformas.
Step 5: Construye tu aplicación web y sincroniza
Construye la PWA y sincroniza activos web:
bun run build
bunx cap sync
Abre ahora proyectos nativos:
bunx cap open ios
bunx cap open android
Desde Xcode o Android Studio, conecte un dispositivo o emulador y ejecute.
Step 6: Mejoras nativas después de la migración
Es aquí donde reemplazas características solo de web con APIs nativas donde sea necesario:
- Notificaciones push ->
@capacitor/push-notifications - Almacenamiento de claves/valores seguro ->
@capacitor/preferences - Cámara / medios ->
@capacitor/camera - Autenticación biométrica ->
@capacitor-community/native-biometric(o plugin de su elección)
Para cada nuevo plugin nativo:
- Instale el paquete del plugin
- Configure ajustes específicos del plugin
- Ejecutar:
bunx cap sync
Luego reconstruya y ejecute de nuevo.
Paso 7: Verificación de paridad de tiendas de aplicaciones
Antes de la presentación:
- Pruebe enlaces profundos y rutas de navegación (
/y rutas profundas) en ambas plataformas. - Verifique que la barra de estado, áreas seguras y orientación estén correctos.
- Elimine metadatos web innecesarios que conflictan con el comportamiento de la aplicación (por ejemplo, solicitudes de instalación).
- Considere mantener la seguridad de transporte de aplicaciones y ajustes de privacidad consistentes con tu política.
- Agrega iconos/splashes de aplicaciones para cada plataforma.
Si tu aplicación utiliza actualizaciones OTA, paira tu pipeline de lanzamiento con una estrategia de actualización segura nativa y considera Capgo para un lanzamiento controlado y un rollback.
Lista final de comprobación
- Aplicación web compila limpiamente (
bun run build) - Capacitor inicializado con el derecho
webDir bunx cap add iosybunx cap add androidcompletado- Las aplicaciones nativas se ejecutan en dispositivos reales
- Las rutas de navegador solo code están bloqueadas para el comportamiento nativo
- Configuración de canales de actualización y activos de tienda de aplicaciones
You already did most of the hard work when building your PWA. Wrapping it with Capacitor gives you:
- Distribución en tiendas
- Acceso a APIs nativas
- Faster iteration without a full code rewrite,
- Un solo camino de despliegue para equipos de web y móvil
Comienza desde este flujo, luego itera de forma nativa por nativa según análisis y retroalimentación de usuarios
Keep going from Transform Your PWA to a Native App with Capacitor
Si estás utilizando Transform Your PWA to a Native App with Capacitor para planificar la migración y las operaciones de empresa, conecta con Capgo Enterprise para el flujo de trabajo del producto en Capgo Enterprise, Alternativas del plugin de Ionic Enterprise para el flujo de trabajo del producto en Alternativas del plugin de Ionic Enterprise, Alternativas de Capgo para el flujo de trabajo del producto en Alternativas de Capgo, Consultoría de Capgo para el flujo de trabajo del producto en Consultoría de Capgo, y Apoyo Premium de Capgo para el flujo de trabajo del producto en Apoyo Premium de Capgo.