Passer au contenu principal

How Capacitor Handles Platform Differences

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.

How Capacitor Handles Platform Differences

Capacitor helps developers build apps for iOS and Android using the same codebase, while addressing platform-specific differences. It simplifies native feature integration, ensures compliance with platform guidelines, and optimizes performance. Key highlights:

  • Détecteur de 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.
  • Plugins personnalisés: Ajoutez des code natifs pour des besoins uniques.
  • Réglages de l'interface utilisateur: Suivez les règles de conception pour iOS (par exemple, les SF Symbols, les boutons arrondis) et Android (par exemple, les Material Icons). SF SymbolsMaterial Icons CameraConfiguration
  • Configuration : Réglages pour les deux plateformes.Live Updates avec __CAPGO_KEEP_0__ capacitor.config.json Live Updates avec __CAPGO_KEEP_0__ : Mettre à jour instantanément sans retard des magasins d'applications, atteignant jusqu'à 95 % d'adoption par les utilisateurs en 24 heures.
  • Quick Comparison CapgoiOS

Android

Navigation Configuration Navigation
Feature Barres de navigation en bas, bouton de retour à gauche 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 permet de combler l'écart entre le développement d'applications web et natives, facilitant ainsi la création d'applications cross-plateformes tout en maintenant les optimisations spécifiques à chaque plateforme.

Cross-Platform Development : Exploration de CapacitorJS avec …

Comment Capacitor Code gère les différences de plateforme

Capacitor

Capacitor offers tools to manage platform-specific code, allowing developers to create tailored experiences for iOS and Android using a single API.

Code fournit des outils pour gérer les __CAPGO_KEEP_1__ 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 __CAPGO_KEEP_2__.

With Capacitor’s built-in platform API, detecting the current platform is simple. The Capacitor.getPlatform() Avec la plateforme __CAPGO_KEEP_1__ intégrée à __CAPGO_KEEP_0__, la détection de la plateforme actuelle est simple. La méthode identifie l'environnement de exécution, 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 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.

Caractéristiques de la plateforme intégrées

Capacitor est livré avec un ensemble de plugins de base qui gèrent les différences spécifiques à la 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
Caméra AVFoundation Caméra2 API
Stockage UserDefaults SharedPreferences
Localisation CoreLocation Gestionnaire de localisation

Each plugin automatically uses the platform’s native APIs, ensuring smooth performance and functionality.

Créez des plugins personnalisés pour votre plateforme

For cases where built-in plugins don’t meet your needs, you can create custom plugins to access specific native APIs. Here’s how:

  1. Définissez le plugin

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

    @PluginMethod()
    async customFunction(): Promise<void> {
      if (Capacitor.getPlatform() === 'ios') {
        // Add iOS-specific code
      } else {
        // Add Android-specific code
      }
    }
  3. Implémentez 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 gardant l’API cohérente et facile à utiliser. Cela garantit une performance et une fonctionnalité sans compliquer le processus de développement.

Lignes directrices de l'interface utilisateur spécifiques au 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, 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
En-têtes Titres grands, centrés Bannières d'application, texte aligné à gauche
Icônes Symboles SF Icônes Matériau

Normes de conception pour les plateformes croisées

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 des paramètres

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 clés 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 à prendre en compte :

Option iOS Android
Liens profonds scheme __CAPGO_KEEP_0__ androidScheme __CAPGO_KEEP_0__
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 configurés, 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 clés pour la construction :

Aspect iOS Android
Permissions Ajoutez des entrées dans Info.plist Définez dans AndroidManifest.xml
Icons Tailles de 20 px à 1024 px Densités de mdpi à xxxhdpi
Écran de splash Storyboard-based XML basé sur le layout
Sortie de construction .ipa fichier .aab ou .apk La mise à jour en direct de __CAPGO_KEEP_0__ gère les différences entre les plateformes.

__CAPGO_KEEP_0__ Live Update Dashboard Interface Capgo

Les applications Capgo

mises à jour de manière efficace pour les deux iOS et Android est crucial. __CAPGO_KEEP_0__ propose un système de mise à jour en direct qui se conforme aux lignes directrices de toutes les plateformes. Capacitor Features updated efficiently for both iOS and Android is crucial. Capgo offers a live update system that aligns with the guidelines of both platforms.

mettre à jour Capgo

Caractéristique Description Avantage de la plateforme
Mises à jour en temps réel Déployez instantanément sans examen de l'App Store Assure une expérience unifiée sur iOS et Android
Chiffrement de bout en bout Assure la livraison des mises à jour Remplit les exigences de sécurité de toutes les plateformes
Système de canal Cible des groupes d'utilisateurs spécifiques Supporte les tests de version bêta et les lancements étalés
Actualisations partielles Téléchargements uniquement du 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 actif de 95 % en 24 heures [1] Ces fonctionnalités rendent Gestion des mises à jour plus fluide et plus efficace 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, mettre en production les mises à jour Android en étapes et suivre les métriques de performance de manière transparente.

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

Actuellement, 750 applications de production dépendent de Capgo, maintenir un taux de réussite mondial de mise à 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 surviennent. Les analyses en temps réel fournissent des informations sur les performances des mises à jour et aident à maintenir la stabilité de l'application.

Conclusion

Avantages de la gestion des plateformes

Gérer efficacement les 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 des plateformes appropriée, les équipes de développement peuvent libérer des mises à jour plus rapidement et améliorer la satisfaction des utilisateurs. Des outils comme Capgo ont montré comment un traitement cohérent des plateformes 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 à la livraison continue à nos utilisateurs !”
– Rodrigo Mantica [1]

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

Étapes suivantes

context

Page/area Capgo Builder / produit de construction native / page de produit de construction native dans le cloud. Role
Étiquette de navigation ou élément de navigation court. Message clé `native_build_builder_credit_next` (Native Build Builder Credit Next). Se conforme automatiquement aux besoins d'iOS et d'Android
Implémentez les mises à jour en temps réel Évitez les retards des magasins d'applications pour les correctifs urgents
Configurez les analyses Suivez les métriques de performance pour chaque plateforme
Activez le support de reversion Résolvez rapidement les problèmes spécifiques à la plateforme

Pour les développeurs souhaitant 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 des plateformes 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 heurt sur les deux iOS et Android.

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

Si vous utilisez Comment Capacitor Gère les Différences de Plateforme Afin de planifier le comportement des médias et de l'interface native, connectez-l’avec En utilisant @capgo/capacitor-activités-en-ligne Pour la capacité native dans En utilisant @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 En utilisant @capgo/capacitor-lecteur-de-videos Pour la capacité native dans En utilisant @capgo/capacitor-lecteur-de-videos @capgo/capacitor-lecteur-de-videos Pour le détail d'implémentation dans @capgo/capacitor-lecteur-de-videos, et En utilisant @capgo/capacitor-navigation-native Pour la capacité native dans En utilisant @capgo/capacitor-navigation-native.

Mises à jour en temps réel pour les applications Capacitor

Quand un bug de la couche web est en ligne, expédiez la correction par le biais de Capgo au lieu d'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 changements natifs restent dans la voie de revue normale.

un soutien humain de Martin

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 véritablement professionnelle.