Introducción
Ya tienes una aplicación web progresiva. Funciona en navegadores, tiene un archivo de manifest y quizás utiliza un servicio de trabajador para el soporte de línea de base. Si ahora necesitas distribución en tiendas de aplicaciones, APIs de dispositivo nativo o un mejor canal de onboarding, migrar a una aplicación Capacitor es usualmente más rápido que reescribir tu front-end.
La mayor ventaja es que conservas casi todo tu código web existente en code. En la mayoría de los casos, solo necesitas:
- Crear activos web de producción,
- initialize Capacitor con la configuración adecuada
webDir, - agrega proyectos de iOS y Android,
- y conecta plugins nativos solo donde sea necesario.
Si tu aplicación PWA tiene rutas limpias y lógica de componentes, esto puede tomar solo unas pocas horas.
Requisitos previos
Tiempo estimado: 2-5 horas, dependiendo de características específicas de la plataforma.
- Node.js 18+ con Bun
- Tu código fuente de la aplicación PWA existente (code) (React, Vue, Angular, Svelte, etc.)
- Xcode (solo para iOS, macOS)
- Android Studio (solo para Android)
- Si planea publicar en iOS, necesitará una cuenta de desarrollador de Apple.
- Para distribuir Android, necesitará una cuenta de desarrollador de Google Play.
Paso 1: Verifique su aplicación 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 aplicación PWA tenga un script de compilación de producción (por ejemplo,
bun run build). - Confirme que el directorio de salida de su aplicación web es determinístico (a menudo
dist,build, oout). - Elimine los redireccionamientos absolutos codificados que asumen un contexto de navegador solo.
- Verifique el comportamiento del servicio de trabajo para asegurarse de que es compatible con las vistas móviles de Web:
- Mantenga el soporte offline si ayuda a sus usuarios.
- Evite las API de navegador solo que no están disponibles en la vista de web integrada.
- Confirme que las solicitudes de instalación de 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 no suelen ser necesarias.
Paso 2: Adaptar las conductas de navegador solo
Mantenga su interfaz de usuario de la aplicación pero bloquee la lógica del navegador.
Utilice una comprobación de plataforma simple alrededor de las solicitudes de instalación y los mensajes de notificación:
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 el folder de PWA
Desde la raíz de su PWA existente:
bun add @capacitor/core
bun add -D @capacitor/cli
Ejecute Capacitor init con el nombre de su aplicación, el ID de la aplicación y el directorio de salida de web:
bunx cap init MyPWAApp com.example.my-pwa-app --web-dir dist
Si su carpeta de compilación es build (Create React App) o out (Next.js static export), reemplaza dist.
Sustituye una configuración básica 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: Agrega plataformas nativas
Instala paquetes nativos básicos y genera carpetas del 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.
Paso 5: Construye tu aplicación web y sincroniza
Construye la PWA y sincroniza activos web:
bun run build
bunx cap sync
Ahora abre proyectos nativos:
bunx cap open ios
bunx cap open android
Desde Xcode o Android Studio, conecta un dispositivo o emulador y ejecuta.
Step 6: Mejoras nativas después de la migración
Este es el lugar donde reemplazas las características únicamente de web con APIs nativas donde sea necesario:
- Push notificaciones ->
@capacitor/push-notifications - Almacenamiento de claves de seguridad ->
@capacitor/preferences - Cámara / medios ->
@capacitor/camera - Autenticación biométrica ->
@capacitor-community/native-biometric(o plugin de elección)
Para cada nuevo plugin nativo:
- Instala el paquete del plugin
- Configura ajustes específicos del plugin
- Corre:
bunx cap sync
Luego reconstruye y ejecuta de nuevo.
Step 7: Verificación de paridad de tiendas de aplicaciones
Antes de la presentación:
- Prueba enlaces profundos y rutas (
/y rutas profundas) en ambas plataformas. - Verifica que la barra de estado, áreas seguras y orientación estén correctas.
- Elimina metadatos web no utilizados que conflictan con el comportamiento de la aplicación (por ejemplo, promociones de instalación).
- Mantén configuraciones de seguridad de transporte y privacidad de la aplicación consistentes con tu política.
- Agrega iconos y activos de pantalla de arranque para cada plataforma.
Si tu aplicación utiliza actualizaciones OTA, paira tu pipeline de liberación con una estrategia de actualización segura nativa y considera Capgo para un despliegue controlado y un rollback.
Lista final de comprobaciones
- Aplicaciones web se compilan 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 code solo para navegadores están bloqueadas para el comportamiento nativo
- Los canales de actualización y los activos de tienda de aplicaciones están configurados
Ya has hecho la mayor parte del trabajo duro al construir tu PWA. Al envolverlo con Capacitor obtienes:
- Distribución en tiendas
- Acceso a APIs nativas
- Una iteración más rápida sin una reescritura completa de code
- Un camino de despliegue único para equipos de web y móviles
Comience desde este flujo, luego iterar nativo por nativo según análisis y retroalimentación de usuarios.
Continúe desde Transforme su Aplicación PWA en una Aplicación Nativa con Capacitor
Si está utilizando Transforme su Aplicación PWA en una Aplicación Nativa con Capacitor Para planificar la migración y las operaciones de empresa, conecte con Capgo para Empresas contexto: Página/área: Página de producto/precios de Capgo. Rol: Etiqueta de navegación/UI corta o elemento de navegación. Visto en: página enterprise.astro. Preservar términos de producto/marca y términos de desarrollador exactamente. Clave de mensaje `enterprise_procurement_visual_signature` (Firma visual de adquisiciones de empresa). para el flujo de trabajo del producto en __CAPGO_KEEP_0__ para Empresas, Ionic para Empresas: Alternativas del Plugin Capgo Alternatives Capgo Alternativas para el flujo de trabajo del producto en Capgo Alternativas, para el flujo de trabajo del producto en Capgo Consultoría, y Capgo Soporte Premium para el flujo de trabajo del producto en Capgo Soporte Premium.