Passer au contenu principal

Comment Capacitor Gère les Différences de Plateforme

Apprenez à gérer efficacement les différences de plateforme dans le développement d'applications mobiles en utilisant un code unique pour iOS et Android.

Comment Capacitor Gère les Différences de Plateforme

Capacitor facilite les développeurs à créer des applications pour iOS et Android en utilisant le même codebase, tout en prenant en compte les différences spécifiques aux plateformes. Cela simplifie l'intégration de fonctionnalités natives, garantit le respect des lignes directrices de la plateforme et optimise les performances. Les points clés sont :

  • Détection de la plateforme: Utilisez Capacitor.getPlatform() pour appliquer des code spécifiques à la plateforme.
  • Plugins intégrés: APIs unifiées pour des fonctionnalités comme la Caméra, le Stockage et la Localisation géographique.
  • Plugins personnalisés: Ajoutez des code natives pour des besoins uniques.
  • Réglages d'interface utilisateur: Suivez les règles de conception pour iOS (par exemple, les SF Symbols) SF Symbolset les boutons arrondis) et Android (par exemple, Icons Matérielsles boutons alignés à gauche).
  • Configuration: Réglage des paramètres pour les deux plateformes. capacitor.config.json Mises à jour en direct avec
  • __CAPGO_KEEP_0__ CapgoComparaison Rapide

Fonctionnalité

iOS Android Android
Navigation Boutons de navigation gauche et de retour en bas Menu de navigation en haut, navigation en bas
Typographie Police de caractères San Francisco Police de caractères Roboto
Plugins (par exemple, la caméra) AVFoundation La caméra2 API
Sortie de construction .ipa fichier .aab ou .apk fichier

Capacitor remplit le fossé entre le développement web et natif, facilitant ainsi la création d'applications cross-plateformes tout en maintenant les optimisations spécifiques à chaque plateforme.

Le Développement Cross-Plateforme : Exploration de CapacitorJS avec …

Comment Capacitor Code Gère les Plateformes Code

Site Web de Documentation du Framework Capacitor

Capacitor fournit des outils pour gérer les code spécifiques à chaque plateforme, permettant aux développeurs de créer des expériences personnalisées pour iOS et Android à l'aide d'un seul API.

Détecter les Plateformes dans Code

Avec Capacitor's plateforme API intégrée, la détection de la plateforme actuelle est simple. Le Capacitor.getPlatform() méthode qui identifie l'environnement en cours, ce qui facilite l'application de logique conditionnelle :

import { Capacitor } from '@capacitor/core';

const platform = Capacitor.getPlatform();
if (platform === 'ios') {
  // Code specific to iOS
} else if (platform === 'android') {
  // Code specific to Android
}

Cette approche est particulièrement utile pour les fonctionnalités comme l'authentification biométrique, où iOS utilise Face ID and Android relies on Fingerprint Authentication. Along with platform detection, Capacitor’s built-in plugins simplify native integration.

En plus de la détection de plateforme, les plugins intégrés de __CAPGO_KEEP_0__ simplifient l'intégration native.

Capacitor comes with a set of core plugins that handle platform-specific differences seamlessly. These plugins manage the complexities of native implementations while providing a consistent JavaScript interface:

__CAPGO_KEEP_0__ est livré avec un ensemble de plugins de base qui gèrent les différences de plateforme de manière fluide. Ces plugins gèrent les complexités des implémentations natives tout en fournissant une interface JavaScript cohérente : Plugin Implémentation iOS
Implémentation Android AVFoundation Camera2 API
Stockage UserDefaults SharedPreferences
Localisation Localisation Gestion de la localisation

Gestion de la localisation

Chaque plugin utilise automatiquement les API natives du système, garantissant une performance et une fonctionnalité fluides.

Construire des plugins de plateforme personnalisés

  1. Pour les cas où les plugins intégrés ne répondent pas à vos besoins, vous pouvez créer des plugins personnalisés pour accéder à des API natives spécifiques. Voici comment faire :

    @Plugin({
      name: 'CustomFeature',
      platforms: ['ios', 'android']
    })
  2. Ajoutez des Code natifs

    @PluginMethod()
    async customFunction(): Promise<void> {
      if (Capacitor.getPlatform() === 'ios') {
        // Add iOS-specific code
      } else {
        // Add Android-specific code
      }
    }
  3. Mettez en œuvre les gestionnaires de plateforme

    • iOS (Swift) :

      @objc func customFunction(_ call: CAPPluginCall) {
        // Add native iOS functionality
      }
    • Android (Kotlin) :

      @PluginMethod
      fun customFunction(call: PluginCall) {
        // Add native Android functionality
      }

Les plugins personnalisés permettent l'accès aux fonctionnalités natives tout en maintenant les API cohérents et faciles à utiliser. Cela garantit la performance et la fonctionnalité sans compliquer le processus de développement.

Lignes directrices de l'interface utilisateur spécifiques à la plateforme

Règles de conception iOS vs Android

Lors de la conception pour iOS et Android, il est important de suivre les modèles de conception natifs. Les utilisateurs de chaque plateforme ont des attentes différentes pour des éléments comme la navigation, la typographie, les boutons, les en-têtes et les icônes. Voici comment ils se comparent :

Élément de conception iOS Android
Navigation Barres de navigation en bas, bouton Retour à gauche Menu de navigation en haut, barres de navigation en bas
Typographie Police de caractères San Francisco Police de caractères Roboto
Boutons Rectangles arrondis, texte centré Boutons Design Matériau, texte aligné à gauche
Titres Titres grands, centrés Barres d'application, texte aligné à gauche
Icônes SF Symbols Material Icons

Normes de conception transversales

Alors que chaque plateforme a ses propres règles, maintenir une identité de marque cohérente sur les deux est essentiel. Voici comment vous pouvez vous assurer de la cohérence :

const sharedStyles = {
  primaryColor: '#007AFF', // iOS blue
  androidPrimaryColor: '#6200EE', // Material Design purple
  borderRadius: Capacitor.getPlatform() === 'ios' ? '10px' : '4px'
};

:root {
  --app-header-height: var(--platform-header-height, 56px);
  --app-safe-area-top: var(--platform-safe-area-top, 0px);
}

En utilisant Capacitor, vous pouvez intégrer des composants UI spécifiques à la plateforme tout en maintenant la cohérence de la fonctionnalité. Cela aide également à gérer les paramètres système tels que le Mode sombre et le Type dynamique. Pour compléter le processus, assurez-vous que vos paramètres de construction spécifiques à la plateforme sont alignés sur ces lignes directrices.

Configuration de la plateforme et de la configuration

Après avoir géré votre plateforme code, une configuration appropriée est essentielle pour vous assurer que votre application fonctionne correctement sur les deux iOS et Android.

Paramètres de la plateforme dans capacitor.config.json

Utilisez le capacitor.config.json fichier pour définir les paramètres de la plateforme spécifiques clés :

{
  "appId": "com.example.app",
  "appName": "MyApp",
  "ios": {
    "contentInset": "always",
    "backgroundColor": "#ffffff",
    "scheme": "myapp",
    "preferredContentMode": "mobile"
  },
  "android": {
    "backgroundColor": "#FFFFFF",
    "allowMixedContent": true,
    "captureInput": true,
    "webContentsDebuggingEnabled": true
  }
}

Voici quelques options de configuration à prendre en compte :

Option iOS Android
Liens profonds scheme propriété androidScheme propriété
Barre de statut statusBar.style statusBar.backgroundColor
Clavier keyboard.resize keyboard.resize, keyboard.style
Écran de splash splashScreen.launchShowDuration splashScreen.layoutName

Une fois les paramètres de runtime sont en place, ajustez vos paramètres de build pour améliorer les performances pour chaque plateforme.

Paramètres de build spécifiques à la plateforme

Affinez les paramètres de build pour optimiser votre application pour iOS et Android.

Pour iOS, mettez à jour le Info.plist file:

<key>NSCameraUsageDescription</key>
<string>Required for document scanning</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Required for store locator</string>

Pour Android, modifier android/app/build.gradle:

android {
    defaultConfig {
        minSdkVersion 21
        targetSdkVersion 33
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt')
        }
    }
}

Ici sont quelques considérations clés pour la construction :

Aspect iOS Android
Permissions Ajouter des entrées dans Info.plist Définir dans AndroidManifest.xml
Icônes Tailles de 20 px à 1024 px Densités de mdpi à xxxhdpi
Ecran d'accueil Storyboard basé XML de disposition basé
Sortie de construction .ipa fichier .aab ou .apk le fichier

Mise à jour des applications avec Capgo

Capgo Interface de tableau de bord de mise à jour en direct

Maintenir Capacitor applications updated efficiently for both iOS and Android is crucial. Capgo offers a live update system that aligns with the guidelines of both platforms.

Capgo Features

Feature Description Avantage du Plateforme
Mises à jour en temps réel context":"Page/area: Homepage problem/solution section. Role: Section or page heading. Seen in: page premium-support.astro. Message key `ps_help_updates_title` (Ps Help Updates Title)." Deployer instantanément sans examen de l'App Store
Assure une expérience unifiée sur iOS et Android Chiffrement de bout en bout context":"Page/area: Capgo solutions marketing page. Role: Section or page heading. Seen in: page solutions/fintech.astro. Message key `solutions_fintech_cert3_title` (Solutions Fintech Cert3 Title). | Page/area: Capgo solutions marketing page. Role: Section or page heading. Seen in: page solutions/fintech.astro. Message key `solutions_fintech_sol3_title` (Solutions Fintech Sol3 Title). | Page/area: Capgo solutions marketing page. Role: Section or page heading. Seen in: page solutions/healthcare.astro. Message key `solutions_healthcare_sol3_title` (Solutions Healthcare Sol3 Title). | Page/area: Capgo solutions marketing page. Role: Short UI label or navigation item. Seen in: page solutions/fintech.astro. Message key `solutions_fintech_badge_e2e` (Solutions Fintech Badge E2e). | Page/area: Capgo solutions marketing page. Role: Short UI label or navigation item. Seen in: page solutions/healthcare.astro. Message key `solutions_healthcare_badge_e2e` (Solutions Healthcare Badge E2e)."
Assure la livraison des mises à jour de manière sécurisée ;  Targete des groupes d'utilisateurs spécifiques Supporte les tests de version bêta et les lancements étalés
Mises à jour partielles Télécharge uniquement le contenu modifié Économise la bande passante et accélère les mises à jour

Capgo a délivré 23,5 millions de mises à jour, atteignant un taux d'actualisation des utilisateurs actifs à 95 % en 24 heures [1] Ces fonctionnalités rendent Gestion des mises à jour plus fluides et plus efficaces sur les plateformes.

Capgo Gestion de la plateforme

Le système de canal de Capgo facilite la gestion des mises à jour. Les développeurs peuvent tester les fonctionnalités iOS spécifiques avec les utilisateurs bêta, lancer les mises à jour Android en étapes et suivre les métriques de performance de manière fluide.

La plateforme respecte les exigences de mise à jour hors ligne d'Apple et de Google [1].

Actuellement, 750 applications de production reposent sur Capgo, avec un taux de réussite global des mises à jour de 82 %. [1]. Sa intégration CI/CD simplifie les déploiements, tandis que la fonctionnalité de retraitement permet aux développeurs de revenir à des versions précédentes instantanément si des problèmes surgissent. Les analyses temps réel fournissent des informations sur les performances des mises à jour et aident à maintenir la stabilité de l'application.

Conclusion

Gestion des avantages de plateforme

Gérer les différences de plateforme efficacement dans Capacitor améliore le développement cross-plateforme. Ses outils intégrés pour la détection et la configuration de la plateforme permettent aux développeurs de créer des expériences fluides pour les deux iOS et Android, tout en respectant les normes de conception uniques et les fonctionnalités de chaque plateforme.

En se concentrant sur une gestion de plateforme appropriée, les équipes de développement peuvent lancer des mises à jour plus rapidement et améliorer la satisfaction des utilisateurs. Des outils comme Capgo ont montré comment une gestion de plateforme cohérente peut conduire à des taux de réussite plus élevés des mises à jour et à des expériences utilisateur meilleures. [1].

“Nous pratiquons le développement agile et @Capgo est essentiel pour livrer continuellement à nos utilisateurs !”
– Rodrigo Mantica [1]

Ces informations peuvent vous aider à apporter des améliorations pratiques.

Étapes suivantes

Pour maximiser ces avantages, envisagez de mettre en œuvre les stratégies suivantes :

Item d'action Avantages
Activer la détection de plateforme Se conforme automatiquement aux besoins d'iOS et d'Android
Mettre en œuvre les mises à jour en temps réel Évite les retards des magasins d'applications pour les correctifs urgents
Configurer les analyses Suivi des métriques de performance pour chaque plateforme
Activer le support de reversion Résout rapidement les problèmes spécifiques à la plateforme

Pour les développeurs qui cherchent à améliorer leur flux de travail, des outils comme Capgo peuvent simplifier le processus. Les fonctionnalités telles que la cryptage de bout en bout et l'intégration CI/CD aident les équipes à maintenir la cohérence tout en déployant efficacement les mises à jour.

Le succès de la gestion de plateforme dépend de l'utilisation des bons outils et de l'adoption des lignes directrices spécifiques à la plateforme. En se concentrant sur des stratégies de détection et de gestion robustes, les développeurs peuvent s'assurer que leurs applications fonctionnent sans heurts sur les deux iOS et Android.

Continuez de la section Comment Capacitor Gère les Différences de Plateforme

Si vous utilisez How Capacitor Handles Platform Differences pour planifier le comportement natif des médias et de l'interface, connectez-l’avec Utiliser @capgo/capacitor-activités-en-ligne pour la capacité native dans Utiliser @capgo/capacitor-activités-en-ligne @capgo/capacitor-activités-en-ligne pour le détail d'implémentation dans @capgo/capacitor-activités-en-ligne Utiliser @capgo/capacitor-lecteur-de-videos pour la capacité native dans Utiliser @capgo/capacitor-lecteur-de-videos @capgo/capacitor-lecteur-de-videos pour le détail d'implémentation dans @capgo/capacitor-lecteur-de-videos, et Utiliser @capgo/capacitor-navigation-native pour la capacité native dans l'utilisation de @capgo/capacitor-navigation-native.

Actualisations en temps réel pour les applications Capacitor

Même si un bug de la couche web est actif, expédiez la correction à travers Capgo au lieu d'attendre des jours pour l'approbation des magasins d'applications. Les utilisateurs reçoivent la mise à jour en arrière-plan tandis que les modifications natives restent dans la voie de revue normale.

un soutien humain de Martin

Démarrer Maintenant

Dernières actualités de notre Blog

Capgo vous donne les meilleures informations dont vous avez besoin pour créer une application mobile vraiment professionnelle.