Sauter au contenu principal

Comment Capacitor Gère les Différences de Plateforme

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

Martin Donadieu

Martin Donadieu

Spécialiste du contenu

Comment Capacitor Gère les Différences de Plateforme

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

  • Détection de Plateforme: Utilisez Capacitor.getPlatform() pour appliquer des code spécifiques à la plateforme.
  • Plugins Intégrés: API unifiées pour des fonctionnalités comme la Caméra, le Stockage et la Localisation géographique.
  • Plugins personnalisés: Ajoutez un code natif pour des exigences uniques.
  • Ajustements de l'interface: Suivez les règles de conception pour iOS (par exemple, les icônes SF Symbols, les boutons arrondis) et Android (par exemple, les icônes Material, les boutons alignés à gauche). Icônes SF, boutons arrondis Icônes de Material, boutons alignés à gauche
  • Configuration: Ajustez les paramètres dans capacitor.config.json pour les deux plateformes.
  • Mises à jour en direct avec CapgoDéployez les mises à jour instantanément sans retard des magasins d'applications, atteignant jusqu'à 95 % d'adoption par les utilisateurs en 24 heures.

Comparaison Rapide

CaractéristiqueiOSAndroid
NavigationBoutons de navigation inférieure, bouton de retour gaucheMenu de navigation supérieur, nav inférieur
TypographiePolice de caractères San FranciscoPolice de caractères Roboto
Plugins (par exemple, Camera)AVFoundationCamera2 API
Sortie de build.ipa fichier.aab ou .apk fichier

Capacitor relie le web et le développement natif, ce qui facilite la création d'applications multiplateformes tout en maintenant les optimisations spécifiques à chaque plateforme.

Développement multiplateforme : Exploration de CapacitorJS avec …

Comment Capacitor Gère la plateforme Code

Capacitor Documentation du Framework

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

Détection des plateformes dans Code

With Capacitor’s built-in platform API, detecting the current platform is simple. The Capacitor.getPlatform() Cette approche est particulièrement utile pour les fonctionnalités comme

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

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

l'authentification biométrique , où iOS utiliseFace ID et Android repose sur l'authentification par empreinte digitale. En plus de la détection de plateforme, les plugins intégrés de Capacitor simplifient l'intégration native.

Fonctionnalités de plateforme intégrées

Capacitor est livré avec un ensemble de plugins de base qui gèrent les différences spécifiques aux plateformes de manière transparente. Ces plugins gèrent les complexités des implémentations natives tout en fournissant une interface JavaScript cohérente :

PluginImplémentation iOSImplémentation Android
CameraAVFoundationCamera2 API
StockageUserDefaultsSharedPreferences
Localisation géographiqueCoreLocationGestionnaire de Localisation

Chaque plugin utilise automatiquement les API natives de la plateforme, garantissant une performance et une fonctionnalité fluides.

Construire des Plugins de Plateforme personnalisés

Dans 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 :

  1. Définir le Plugin

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

    @PluginMethod()
    async customFunction(): Promise<void> {
      if (Capacitor.getPlatform() === 'ios') {
        // Add iOS-specific code
      } else {
        // Add Android-specific code
      }
    }
  3. Mettre 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 d'accéder aux fonctionnalités natives tout en maintenant la API cohérente et facile à utiliser. Cela garantit une performance et une fonctionnalité sans compliquer le processus de développement.

Lignes Directrices de Design spécifiques à la Plateforme

iOS vs Android : Règles de Design

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 conceptioniOSAndroid
NavigationBannières de bas, bouton de retour à gaucheMenu de navigation en haut, navigation en bas
TypographiePolice de San FranciscoPolice de Roboto
BoutonsRectangles arrondis, texte centréDesign de matériel : boutons, texte aligné à gauche
En-têtesTitres grands, centrésBars d'application, alignées à gauche
IcônesSymboles SFIcônes de matériel

Normes de conception transversales

Même si 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 du paramétrage

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 en capacitor.config.json

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

{
  "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 à considérer :

OptioniOSAndroid
Liens profondsscheme propriétéandroidScheme propriété
Barre de statutstatusBar.stylestatusBar.backgroundColor
Clavierkeyboard.resizekeyboard.resize, keyboard.style
Écran d'accueilsplashScreen.launchShowDurationsplashScreen.layoutName

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

Paramètres de build spécifiques à la plateforme

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

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

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

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

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

Voici quelques considérations importantes pour les paramètres de build :

AspectiOSAndroid
PermissionsAjoutez des entrées dans Info.plistDéfinissez dans AndroidManifest.xml
IcônesTailles de 20px à 1024pxDensités de mdpi à xxxhdpi
Écran de splashStoryboard baséXML de disposition basé
Sortie de construction.ipa fichier.aab ou .apk fichier

Mise à jour des Applications avec Capgo

Capgo Interface de tableau de bord de mise à jour en temps réel

Il est essentiel de maintenir les applications Capacitor updated efficiently for both iOS and Android is crucial. Capgo offers a live update system that aligns with the guidelines of both platforms.

Capgo propose un système de mise à jour en temps réel qui se conforme aux lignes directrices de tous les deux plateformes.

__CAPGO_KEEP_0__ CaractéristiquesCaractéristiqueDescription
Avantage de la plateformeMises à jour en temps réel : Déployez instantanément sans examen de l'App StoreAssure une expérience unifiée sur iOS et Android
Chiffrement de bout en boutSécurise la livraison des mises à jourRemplit les exigences de sécurité de tous les plateformes
Système de canalCible des groupes d'utilisateurs spécifiquesSupporte les tests bêta et les lancements étalés
Mises à jour partiellesTélécharge uniquement le contenu modifiéÉconomise la bande passante et accélère les mises à jour

Capgo a livré 23,5 millions de mises à jour, atteignant un taux d'actualisation d'utilisateurs actifs à 95% en 24 heures [1]Ces fonctionnalités gestion d'actualisation plus fluide et plus efficace sur plusieurs plateformes.

Capgo Gestion de la plateforme

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

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

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

Conclusion

Avantages de la gestion de la plateforme

La gestion efficace des différences de plateforme 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 la plateforme appropriée, les équipes de développement peuvent lancer des mises à jour plus rapidement et améliorer la satisfaction des utilisateurs. Les outils comme Capgo ont montré comment un traitement de la plateforme cohérent peut conduire à des taux de réussite de mise à jour plus élevés 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, considérez la mise en œuvre des stratégies suivantes :

Tâche à accomplirAvantage
Activer la détection du plateformeS'ajuste 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 analysesSuit les indicateurs de performance pour chaque plateforme
Activer le support de reversionRé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 dans la gestion de la plateforme dépend de l'utilisation des bons outils et de l'adhésion aux 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.

Mises à jour en direct pour les applications Capacitor

Lorsqu'une erreur de la couche web est en direct, expédiez la correction par le biais de Capgo au lieu de attendre des jours pour l'approbation de la boutique 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.

Commencez 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.