Introduzione
Se già hai una App Web Progressiva che funziona nei browser, ha un manifesto e forse utilizza un worker di servizio per il supporto offline, e ora hai bisogno di distribuzione negli store, API di dispositivo nativo o un miglior percorso di onboarding, la migrazione a un'app Capacitor è spesso più veloce rispetto alla ricreazione del front-end.
Il vantaggio più grande è che conservi quasi tutto il tuo web code esistente. In molti casi, hai bisogno solo di:
- costruire asset web di produzione
- inizializza Capacitor con il giusto
webDir, - aggiungere progetti iOS e Android
- e collegare plugin nativi solo dove necessario.
Se la tua App Web Progressiva ha percorsi puliti e logica di componente, ciò può richiedere solo alcune ore.
Prerequisiti
Tempo stimato: 2-5 ore, a seconda delle funzionalità specifiche del piattaforma.
- Node.js 18+ con Bun
- Il tuo codice PWA esistente code (React, Vue, Angular, Svelte, ecc.)
- Xcode (solo per iOS, macOS)
- Android Studio (solo per Android)
- Un account di sviluppatore Apple se pianifichi di pubblicare per iOS
- Un account di sviluppatore Google Play per la distribuzione Android
Passo 1: Controlla il tuo PWA prima di avvolgerlo in nativo
Prima di eseguire bunx cap initVerifica che il tuo'app web sia pronta per la produzione:
- Assicurati che il tuo PWA abbia uno script di build di produzione (ad esempio,
bun run build). - Conferma che il tuo cartello di output web sia deterministico (spesso
dist,buildoout). - Elimina i redirect assoluti hardcodati che presuppongono un contesto browser-only.
- Verifica che il comportamento del servizio di lavoro sia compatibile con i WebViews mobili:
- Conserva il supporto offline se aiuta i tuoi utenti.
- Evita le API browser-only che non sono disponibili nel webview incorporato.
- Confirm PWA install prompts and browser-specific UX still make sense. In a Capacitor app, app install prompts are usually not needed.
Passo 2: Adatta i comportamenti web-only
Keep your app UI but gate browser-only logic.
Usa una semplice verifica di piattaforma intorno alle istruzioni di installazione e push.
import { Capacitor } from '@capacitor/core'
const isNative = Capacitor.isNativePlatform()
function registerInstallPrompt() {
if (isNative) return
// existing browser-only install or Web Push code
}
Evita che la logica esclusiva del browser si attivi all'interno del contenitore nativo.
Passo 3: Inizializza Capacitor nella cartella del tuo PWA
Dal tuo root PWA esistente:
bun add @capacitor/core
bun add -D @capacitor/cli
Esegui Capacitor init con il nome dell'app, l'ID del bundle e il percorso di output web:
bunx cap init MyPWAApp com.example.my-pwa-app --web-dir dist
Se il tuo cartello di costruzione è build Se il tuo cartello di build è out (Nex.js esportazione statica), sostituisci dist.
Aggiungi una configurazione di base 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
Aggiungi una configurazione base di __CAPGO_KEEP_0__:
Installa pacchetti nativi di base e genera cartelle del progetto:
bun add @capacitor/ios @capacitor/android
bunx cap add ios
bunx cap add android
At questo punto Capacitor ha creato ios/ e android/ cartelle. La sincronizzazione copierà i tuoi asset web costruiti in entrambe le piattaforme.
Passo 5: Costruisci il tuo app web e sincronizza
Costruisci il PWA e sincronizza gli asset web:
bun run build
bunx cap sync
Ora apri i progetti nativi:
bunx cap open ios
bunx cap open android
Dal Xcode o Android Studio, collega un dispositivo o un emulatore e esegui.
Passo 6: Migrazione native dopo la migrazione
Questo è dove sostituisci le funzionalità esclusivamente web con le API native dove necessario:
- Le notifiche push ->
@capacitor/push-notifications - L'archiviazione chiave/valore sicura ->
@capacitor/preferences - La fotocamera / media ->
@capacitor/camera - Autenticazione biometrica ->
@capacitor-community/native-biometric(o plugin di scelta)
Per ogni nuovo plugin nativo:
- Installa il pacchetto del plugin
- Configura le impostazioni specifiche del plugin
- Esegui:
bunx cap sync
Poi ricostruisci e esegui nuovamente.
Passo 7: Verifica della parità con le app store
Prima della sottoscrizione:
- Verifica i collegamenti profondi e la routing ("
/Prima della sottoscrizione: - Verifica che la barra dello stato, le aree sicure e l'orientamento siano corretti.
- Elimina i metadati web non utilizzati che confliggono con il comportamento dell'app (ad esempio, le richieste di installazione).
- Conservare le impostazioni di sicurezza e privacy dell'app coerenti con la tua politica.
- Aggiungere icone/splash per ogni piattaforma.
Se il tuo app utilizza aggiornamenti OTA, sincronizza la tua pipeline di rilascio con una strategia di aggiornamento sicura per il nativo e considera Capgo per un rilascio controllato e un rollback.
Elenco di controllo finale
- App web compila correttamente (
bun run build) - Capacitor inizializzato con le impostazioni giuste
webDir bunx cap add iosebunx cap add androidcompletato- App native esegue su dispositivi reali
- Percorsi browser-only code sono bloccati per comportamento nativo
- Canali di aggiornamento e asset di negozio sono configurati
Avete già fatto la maggior parte del lavoro duro quando avete costruito la vostra PWA. Avvolgendola con Capacitor ottenete:
- La distribuzione nel negozio
- L'accesso alle API native
- Una maggiore iterazione senza una completa code di ricompilazione
- Un unico percorso di distribuzione per le squadre web e mobili
Inizia da questo flusso, poi iterare nativo-per-nativo in base alle analisi e ai feedback degli utenti
Continuate da Trasforma la tua PWA in un'app nativa con Capacitor
Se stai utilizzando Trasforma la tua PWA in un'app nativa con Capacitor per pianificare la migrazione e le operazioni aziendali, connettilo con Capgo Enterprise per il workflow del prodotto in Capgo Enterprise Alternative per plugin Enterprise di Ionic per il workflow del prodotto in Alternative per plugin Enterprise di Ionic Capgo Alternative per il workflow del prodotto in Capgo Alternative Capgo Consulenza per il workflow del prodotto in Capgo Consulenza, e Capgo Supporto Premium per il workflow del prodotto in Capgo Supporto Premium.