Introduction
Vous avez déjà une application web progressive. Elle fonctionne dans les navigateurs, a un manifest, et utilise peut-être un service worker pour le support hors ligne. Si vous avez maintenant besoin de la distribution dans les magasins d'applications, des API de dispositif natif ou un meilleur canal d'abord, la migration vers une application Capacitor est généralement plus rapide que la refonte de votre front-end.
Le plus grand avantage est que vous conservez presque tout votre code web existant de code. Dans la plupart des cas, vous n'avez besoin que de :
- construire des actifs web de production
- initialisez Capacitor avec les bonnes
webDir, - ajoutez des projets iOS et Android,
- et connectez les plugins natifs uniquement là où cela est nécessaire.
Si votre PWA a des routes propres et une logique de composant, cela peut prendre seulement quelques heures.
Prérequis
Temps estimé: 2-5 heures, en fonction des fonctionnalités spécifiques au plateforme.
- Node.js 18+ avec Bun
- Votre source PWA existante code (React, Vue, Angular, Svelte, etc.)
- Xcode (pour iOS, macOS uniquement)
- Android Studio (pour Android)
- Si vous prévoyez de publier sur iOS, vous aurez besoin d'un compte développeur Apple.
- Pour la distribution d'Android, vous aurez besoin d'un compte développeur Google Play.
Étape 1 : Vérifiez votre PWA avant de l'entourer de native :
Avant de lancer votre application, bunx cap initVérifiez que votre application web est prête pour la production :
- Assurez-vous que votre PWA dispose d'un script de build de production (par exemple,
bun run build). - Vérifiez que votre dossier de sortie web est déterministe (souvent
dist,buildouout). - Supprimez les redirigements absolus codés en dur qui supposent un contexte de navigateur uniquement.
- Vérifiez que le comportement du worker de service est compatible avec les vues Web mobiles :
- Conservez le support hors ligne si cela aide vos utilisateurs.
- Évitez les API de navigateur uniquement qui sont inaccessibles dans la vue web intégrée.
- Confirmez les invites d'installation de PWA et les UX spécifiques au navigateur qui ont toujours du sens. Dans une application Capacitor, les invites d'installation d'applications ne sont généralement pas nécessaires.
Étape 2 : Adapter les comportements de navigateur uniquement
Conservez votre interface utilisateur mais bloquez la logique de navigateur uniquement.
Utilisez une vérification de plateforme simple autour des invites et des notifications de mise à jour :
import { Capacitor } from '@capacitor/core'
const isNative = Capacitor.isNativePlatform()
function registerInstallPrompt() {
if (isNative) return
// existing browser-only install or Web Push code
}
Cela évite la logique de navigateur uniquement qui s'exécute à l'intérieur du conteneur natif.
Étape 3 : Initialiser Capacitor dans votre dossier PWA
À partir de votre dossier PWA existant :
bun add @capacitor/core
bun add -D @capacitor/cli
Exécutez Capacitor init avec votre nom d'application, votre ID de bundle et votre répertoire de sortie web :
bunx cap init MyPWAApp com.example.my-pwa-app --web-dir dist
Si votre dossier de build est build (Créer une application React) ou out (export statique de Next.js), remplacez dist.
Ajoutez une configuration de 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
Étape 4 : Ajoutez des plateformes natives
Installez les packages natives de base et générez les dossiers de projet :
bun add @capacitor/ios @capacitor/android
bunx cap add ios
bunx cap add android
À ce stade, Capacitor a créé ios/ et android/ dossiers. La synchronisation copiera vos actifs web construits dans les deux plateformes.
Étape 5 : Construisez votre application web et synchronisez
Construisez la PWA et synchronisez les actifs web :
bun run build
bunx cap sync
Ouvrez maintenant les projets natifs :
bunx cap open ios
bunx cap open android
À partir de Xcode ou d'Android Studio, connectez un appareil ou un émulateur et exécutez.
Étape 6 : Améliorations natives après migration
C'est là où vous remplacez les fonctionnalités web uniquement par des APIs natives là où cela est nécessaire :
- Notifications push ->
@capacitor/push-notifications - Stockage clé/valeur sécurisé ->
@capacitor/preferences - Caméra / médias ->
@capacitor/camera - Authentification biométrique ->
@capacitor-community/native-biometric(ou plugin de votre choix)
Pour chaque nouveau plugin natif :
- Installez le package du plugin
- Configurez les paramètres spécifiques du plugin
- Exécutez :
bunx cap sync
Ensuite, reconstruit et exécutez à nouveau.
Étape 7 : Contrôles de parité de magasin d'applications
Avant la soumission :
- Testez les liens profonds et la navigation (
/et les routes profondes) sur les deux plateformes. - Vérifiez que la barre d'état, les zones de sécurité et l'orientation sont corrects.
- Supprimez les métadonnées web non utilisées qui entrent en conflit avec le comportement de l'application (par exemple, les invites d'installation).
- Conservez les paramètres de sécurité de transport et de confidentialité de l'application cohérents avec votre politique.
- Ajoutez les icônes et les assets de splash pour chaque plateforme.
Si votre application utilise des mises à jour OTA, associez votre pipeline de publication à une stratégie d'update native et considérez Capgo pour un lancement contrôlé et un rollback.
Liste de vérification finale
- Les builds d'applications web se réalisent proprement (
bun run build) - Capacitor initialisé avec les bonnes
webDir bunx cap add iosetbunx cap add androidterminé- Les applications natives fonctionnent sur des appareils réels
- Les chemins de parcours code uniques pour les navigateurs sont bloqués pour le comportement natif
- Les canaux d'actualisation et les actifs de magasin d'applications sont configurés
Vous avez déjà fait la plus grande partie du travail dur lors de la création de votre PWA. L'entourer de Capacitor vous donne :
- La distribution dans les magasins
- L'accès aux API natives
- Une itération plus rapide sans une reécriture complète de code
- Un seul chemin de déploiement pour les équipes de web et mobile.
Commencez par ce flux, puis itérez native par native en fonction des données d'analyse et des retours d'usagers.
Continuez de Transformez votre PWA en application native avec Capacitor
Si vous utilisez Transformez votre PWA en application native avec Capacitor pour planifier la migration et les opérations d'entreprise, connectez-le avec Capgo Entreprise pour le flux de travail du produit dans Capgo Entreprise, Alternatives d'extension d'entreprise d'Ionic pour le flux de travail du produit dans Alternatives d'extension d'entreprise d'Ionic, Alternatives de Capgo pour le flux de travail du produit dans Alternatives de Capgo, Alternatives de Capgo Consulting pour le flux de produit dans Capgo Consulting, et Capgo Support Premium pour le flux de produit dans Capgo Support Premium.