Capacitor aide 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 de la plateforme. 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 les 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 natives pour des besoins uniques.
- Ajustements de l'Interface Utilisateur: Suivez les règles de conception pour iOS (par exemple, SF Symbols, boutons arrondis) et Android (par exemple, Material Icons, boutons alignés à gauche).
- Configuration: Ajustez les paramètres dans
capacitor.config.jsonpour les deux plateformes. - Mises à jour en temps réel avec Capgo: Déployez les mises à jour instantanément sans retard de l'App Store, atteignant jusqu'à 95 % d'adoption par les utilisateurs en 24 heures.
Comparaison rapide
| Fonctionnalité | iOS | Android |
|---|---|---|
| Navigation | Barres de navigation en bas, bouton retour gauche | Menu de navigation en haut, nav en bas |
| Typographie | Police de caractères San Francisco | Police de caractères Roboto |
| Plugins (par exemple, Camera) | AVFoundation | Camera2 API |
| Build Output | .ipa fichier |
.aab ou .apk fichier |
Capacitor remplit le fossé entre le développement d'applications web et natives, ce qui facilite la création d'applications cross-plateformes tout en maintenant les optimisations spécifiques à la plateforme.
Développement Cross-Plateforme : Exploration de CapacitorJS avec …
Comment Capacitor Gère les plateformes Code

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 Plates-formes dans Code
Avec Capacitor’s intégration de plateforme intégrée API, la détection de la plateforme actuelle est simple. La Capacitor.getPlatform() méthode identifie l'environnement de fonctionnement, 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 et Android repose sur l'authentification par empreinte digitale. En plus de la détection de plateforme, les intégrations de Capacitor’s plugins intégrés 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 à 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 géographique | CoreLocation | LocationManager |
Chaque plugin utilise automatiquement les API natives de la plateforme, garantissant une performance et une fonctionnalité fluides.
Construire des plugins de plateforme personnalisés
For 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 :
-
Définir le Plugin
@Plugin({ name: 'CustomFeature', platforms: ['ios', 'android'] }) -
Ajouter des Code natifs
@PluginMethod() async customFunction(): Promise<void> { if (Capacitor.getPlatform() === 'ios') { // Add iOS-specific code } else { // Add Android-specific code } } -
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 gardant les API cohérents et faciles à utiliser. Cela garantit la performance et la fonctionnalité sans compliquer le processus de développement.
Directives de conception de l'interface utilisateur par 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 natives. 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 | Boutons de navigation en bas, bouton de retour à gauche | Menu de navigation en haut, bouton de navigation en bas |
| Typographie | Police San Francisco | Police Roboto |
| Boutons | Rondins centrés | Boutons Material Design, texte aligné à gauche |
| Titres | Titres grands, centrés | Bannières d'applications, alignées à gauche |
| Icônes | SF Symbols | Icônes Matériels |
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 gardant la fonctionnalité cohérente. 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
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 __CAPGO_KEEP_0__ |
androidScheme __CAPGO_KEEP_1__ |
| Barre de statut | statusBar.style |
statusBar.backgroundColor |
| Clavier | keyboard.resize |
keyboard.resize, keyboard.style |
| Écran de démarrage | splashScreen.launchShowDuration |
splashScreen.layoutName |
Une fois les paramètres de runtime en place, ajustez vos paramètres de construction pour améliorer les performances pour chaque plateforme.
Paramètres de construction spécifiques à la plateforme
Ajustez les paramètres de construction pour optimiser votre application pour iOS et Android.
Pour iOS, mettez à jour le Info.plist __CAPGO_KEEP_0__
<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 de construction :
| Aspect | iOS | Android |
|---|---|---|
| Permissions | Ajoutez des entrées dans Info.plist |
Définissez dans AndroidManifest.xml |
| Icons | Tailles de 20px à 1024px | Densités de mdpi à xxxhdpi |
| Écran de splash | Storyboard basé | XML de disposition basé |
| Sortie de construction | .ipa fichier |
.aab ou .apk fichier |
Mise à jour des applications avec Capgo

Maintenir Capacitor applications l'actualisation efficace pour les deux iOS et Android est essentielle. Capgo propose un système d'actualisation en temps réel qui correspond aux directives de tous les deux plateformes.
Capgo Fonctionnalités
| Fonctionnalité | 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 | Sécurise 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 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 livré 23,5 millions de mises à jour, atteignant un taux d'actualisation d'utilisateurs actifs à 95 % en 24 heures [1]Ces fonctionnalités rendent Gestion des mises à jour plus fluide et plus efficace sur toutes les plateformes.
Gestion de la plateforme Capgo
Le système de canal 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 en place 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 en ligne par Wi-Fi 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]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 en temps réel fournissent des informations sur les performances de la mise à jour et aident à maintenir la stabilité de l'application.
Conclusion
Avantages de la gestion de la plateforme
Gérer les différences de plateforme de manière efficace 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 à accomplir | Avantage |
|---|---|
| Activer la détection de plateforme | S'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 analyses | Suit les 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 souhaitant améliorer leur flux de travail, des outils comme Capgo peuvent simplifier le processus. Les fonctionnalités telles que l'encryption 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 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 de manière fluide sur les deux iOS et Android.
Continuez à partir de la façon dont Capacitor gère les différences de plateforme
Si vous utilisez La façon dont Capacitor gère les différences de plateforme pour planifier le comportement de médias et d'interface natifs, connectez-le avec Utilisez @capgo/capacitor-live-activités pour la capacité native dans Utilisez @capgo/capacitor-live-activités, @capgo/capacitor-live-activités pour le détail d'implémentation dans @capgo/capacitor-live-activités, Utilisez @capgo/capacitor-video-joueur pour la capacité native dans Utilisez @capgo/capacitor-video-joueur, @capgo/capacitor-video-joueur pour les détails d'implémentation dans @capgo/capacitor-video-player, et En utilisant @capgo/capacitor-native-navigation pour la capacité native dans En utilisant @capgo/capacitor-native-navigation.