Capacitor Les plugins relient les technologies web aux fonctionnalités de dispositifs natifs, permettant le développement d'applications multiplateformes. Ce guide vous aide à :
- Configurer votre environnement: Les outils comme Node.js, Xcode, et Android Studio sont essentiels.
- Suivez les Code Standards: Utilisez TypeScript, Swift, et Kotlin conformément aux conventions de nommage et à la gestion des erreurs.
- Testez soigneusement: Écrivez des tests unitaires pour JavaScript, iOS, et Android pour garantir la fiabilité.
- Documentez clairement: Utilisez JSDoc et des fichiers README pour faciliter l'adoption.
- Soumettre une demande de tirage: Assurez-vous d'une qualité élevée code, d'un test et d'une documentation de haute qualité avant de contribuer.
Guide complet sur les logiciels libres - Comment contribuer
Configuration de l'environnement de développement
La création d'un environnement de développement approprié est essentielle au développement efficace de plugins. Un bon plan d'organisation permet un codage, un test et une mise en production sans heurts de vos plugins.
Outils et compétences dont vous aurez besoin
Avant de commencer, assurez-vous d'avoir les outils suivants installés :
| Catégorie | Exigences |
|---|---|
| Outils de base | Node.js (LTS), npm 6+, Git |
| IDE/Editeurs | Visual Studio Code ou votre éditeur préféré |
| Développement iOS | Xcode, SwiftLint, CocoaPods |
| Développement Android | Android Studio, Android SDK, JDK |
Vous devriez également être à l'aise avec TypeScript pour le développement web et soit Swift (pour iOS) ou Java/Kotlin (pour Android) pour les tâches de développement natif [1][2].
Configuration de la Monorepo
Le Capacitor plugins l'écosystème repose sur une structure de monorepo. Cette approche garantit que votre travail est conforme aux normes de la communauté dès le départ.
-
Faites une copie et clonez le dépôt
Démarrez par faire une copie du dépôt Capacitor plugins sur GitHub. Ensuite, clonez votre dépôt copié :git clone https://github.com/your-username/capacitor-plugins.git cd capacitor-plugins npm install -
Installez les dépendances et construisez
Exécutez la commande suivante pour installer tout ce dont vous avez besoin et construire les plugins :npm run build -
Configurez le Contrôle de Version
Utilisez des branches de fonctionnalités pour vos modifications et maintenez votre copie synchronisée avec le dépôt upstream.
Préparez les Plates-formes Natives
Pour le développement cross-plateforme, vous devrez configurer les environnements iOS et Android.
Pour iOS :
-
Téléchargez Xcode depuis l'App Store Mac.
-
Installez les outils de ligne de commande en utilisant :
xcode-select --install -
Installez CocoaPods avec :
sudo gem install cocoapods -
Créez un compte développeur Apple et les certificats nécessaires.
-
Utilisez SwiftLint (facultatif) pour maintenir code qualité.
Pour Android :
- Installez Android Studio ainsi que la dernière SDK et une appareil virtuel.
- Assurez-vous d'avoir un JDK installé.
- Configurez correctement l'SDK Android dans Android Studio.
Une fois ces plateformes configurées, vous serez prêt à suivre les pratiques de codage établies et à plonger dans le développement de plugins.
Code Guide des normes
Maintenant que votre environnement de développement est configuré, suivez ces lignes directrices pour créer des plugins faciles à maintenir et à utiliser.
Guide de style Conformité
Le Capacitor écosystème de plugins exige des normes de codage strictes en utilisant des outils comme ESLint, Prettier, et SwiftLint. Voici un aperçu rapide des exigences de formatage :
| Composant | Format |
|---|---|
| Variables | deviceInfo (camelCase) |
| Classes | BatteryManager (PascalCase) |
| Methods | getLanguageCode() (camelCase) |
| Constantes | MAX_RETRY_COUNT (SNAKE_CASE) |
Les plugins devraient utiliser TypeScript pour une meilleure sécurité des types et des fonctionnalités ES6+ comme le async/await. De plus, suivez les conventions de codage spécifiques aux plateformes pour Swift (iOS) et Kotlin (Android).
Gestion des erreurs et des types
Une gestion cohérente des erreurs est cruciale pour la compatibilité cross-plateforme. Voici un exemple :
async checkPermissions(): Promise<PermissionStatus> {
try {
const result = await this.implementation.checkPermissions();
return result;
} catch (error) {
throw new Error(`Permission check failed: ${error.message}`);
}
}
Pour la sécurité des types :
- Utilisez des interfaces ciblées conçues pour des cas d'utilisation spécifiques.
- Appliquez des types de union pour les variations spécifiques aux plateformes.
Code Documentation
Une bonne documentation est essentielle pour rendre votre plugin accessible et facile à utiliser. Suivez ces pratiques :
- API Documentation: Écrivez des commentaires JSDoc qui fonctionnent avec
@capacitor/docgen. Par exemple :
/**
* @description Get the device's current battery level
* @returns Promise with the battery level percentage
*/
async getBatteryLevel(): Promise<{ level: number }>;
- Structure du README: Incluez des informations essentielles comme les étapes d'installation, les instructions de configuration, les exigences spécifiques à chaque plateforme, des exemples d'utilisation et une référence détaillée API.
Une documentation bien écrite garantit que votre plugin est facile à adopter et contribue à la communauté Capacitor plus large.
sbb-itb-f9944d2
Guide de test de plugin
Le test de plugins Capacitor implique de se concentrer sur quelques domaines critiques pour s'assurer d'une fonctionnalité lisse et de la fiabilité.
Tests de pont natif
Le test de pont natif garantit une communication appropriée entre JavaScript et code natif. Pour commencer, configurez votre environnement de test avec des frameworks conçus pour chaque plateforme.
Voici un exemple de Jest test unitaire pour le côté JavaScript :
// Example of a Jest unit test for the JavaScript bridge
describe('DeviceInfo Plugin', () => {
test('getBatteryLevel returns valid percentage', async () => {
const result = await DeviceInfo.getBatteryLevel();
expect(result.level).toBeGreaterThanOrEqual(0);
expect(result.level).toBeLessThanOrEqual(100);
});
});
Pour tester le côté natif, utilisez XCTest pour iOS et JUnit pour Android. Voici un exemple pour Android :
@Test
fun testBatteryLevel() {
val plugin = DeviceInfo()
val result = plugin.getBatteryLevel()
assertTrue(result.level in 0..100)
}
Une fois que vous avez confirmé que la fonctionnalité de pont de base fonctionne comme prévu, passez à la mise en œuvre de workflows complets d'utilisateur.
Tests de Plugin Complet
Pour vous assurer que votre plugin fonctionne bien dans différents scénarios, testez diverses catégories :
| Catégorie de test | Fois de mise en avant |
|---|---|
| Tests d'intégration | Fonctionnalités cross-plateformes |
| Tests de performance | Consommation de ressources et temps de réponse |
| Tests de sécurité | Gestion des données et vérifications d'autorisation |
Pour les plugins avec des fonctionnalités complexes, simulez des scénarios de l'usage réel. Par exemple, si vous testez un plugin DeviceInfo, vérifiez :
- Téléchargements réussis sous différentes conditions de réseau
- Rapports de progression précis
- Consommation de mémoire pendant les transferts de fichiers importants
Test d'OTA avec Capgo

Capgo's outils open-source facilitent la mise en œuvre et le test des mises à jour rapidement. Voici comment les utiliser :
- Configurer canaux d'actualisation comme dev, étape de test et production.
- Automatiser les déploiements avec les outils CI/CD.
- Publiez des mises à jour instantanément.
- Surveillez les performances et les problèmes via le Capgo tableau de bord.
Pour des déploiements étalés, Capgo vous permet de limiter les mises à jour à une petite fraction d'utilisateurs. Par exemple, vous pouvez déployer une nouvelle version à 25% d'utilisateurs tous les 24 heures :
// Example configuration for staged rollout
{
"plugin": "camera-plugin",
"version": "1.2.0",
"rollout": {
"percentage": 25,
"interval": "24h"
}
}
Cette approche étalée aide à identifier les problèmes en amont en exploitant les retours de la communauté avant une mise en production complète.
Processus de demande de modification
Une fois que vous avez soigneusement testé vos modifications, suivez ces étapes pour soumettre votre demande de modification :
Liste de vérification de soumission de demande de modification
Avant de soumettre, assurez-vous d'avoir couvert ces domaines clés :
| Catégorie | Ce à quoi vous devez vérifier |
|---|---|
| Code Qualité | - Assurez-vous que les implémentations Swift/Kotlin correspondent à la API web. |
| Test | - Ajoutez des tests unitaires pour toute nouvelle fonctionnalité. - Confirmez que les contrôles de pipeline CI/CD sont réussis. |
| Documentation | - Mettez à jour le README, la documentation inline et le CHANGELOG si nécessaire. |
Lignes directrices de la communauté
Lors de la collaboration, suivez ces meilleures pratiques :
- Répondez rapidement aux commentaires de relecture.
- Maintenez les discussions centrées sur les détails techniques.
- Utilisez la fonctionnalité de proposition de GitHub pour proposer code modifications.
- Soumettez des demandes de tirage de code petites et centrées sur une fonctionnalité ou un problème à la fois.
Pour des changements plus importants, il est une bonne idée de créer un problème avant et discuter votre approche. L'équipe de Capacitor se fie aux GitHub Actions pour les vérifications automatiques, et toutes les vérifications doivent passer avant que votre demande de tirage de code puisse être examinée.
Guide d'intégration de Capgo
Si votre plugin implique des mises à jour en temps réel, assurez-vous qu'il fonctionne de manière fluide avec Capgo avant de soumettre :
-
Contrôle de version
Utilisez une versionnement sémantique claire pour votre plugin, et documentez toutes les modifications dans le changelog. Le système de Capgo aide à suivre l'adoption des versions sur les appareils des utilisateurs. -
Intégration CI/CD
Intégrez Capgo dans votre pipeline CI/CD pour automatiser les déploiements de mise à jour. -
Suivi des mises à jour
Surveillez les taux de réussite des déploiements et assurez-vous de respecter les lignes directrices des magasins d'applications.
Résumé
Pour contribuer de manière significative avec votre plugin, il est important de suivre le processus établi et de respecter les normes de la communauté. Cela inclut le respect des lignes directrices de codage de Capacitor et la vérification minutieuse de votre travail.
La liste de vérification du PR met en évidence la nécessité de soumissions de haute qualité. Si votre plugin prend en charge les mises à jour en temps réel, l'intégration avec Capgo (comme mentionné précédemment) peut vous aider à libérer des mises à jour rapidement sans attendre l'approbation des magasins d'applications.
Une fois votre PR fusionné, restez impliqué en suivant les problèmes et en publiant des mises à jour de version. Une interaction régulière avec la communauté, une maintenance constante et le suivi des mises à jour de __CAPGO_KEEP_0__ keeping up with Capacitor updates Prêtez attention aux commentaires des utilisateurs et mettez à jour votre plugin en conséquence. Cette démarche continue contribue à maintenir la qualité globale de l'écosystème et rend votre plugin précieux pour les développeurs.
Continuez à suivre le guide de contribution de __CAPGO_KEEP_0__ Plugin
Keep going from Capacitor Plugin Contribution Guide
le guide de contribution de __CAPGO_KEEP_0__ Plugin Capacitor Plugin Contribution Guide le répertoire de plugin de __CAPGO_KEEP_0__ Si vous utilisez le guide de contribution de Capgo Plugin pour planifier le travail de plugin natif, connectez-le avec le répertoire de plugin de Capgo pour le flux de travail du produit dans le répertoire de plugin Capgo Capacitor Plugins par Capgo pour le détail d'implémentation dans Capacitor Plugins par Capgo, Ajouter ou Mettre à Jour les Plugins pour le détail d'implémentation dans Ajouter ou Mettre à Jour les Plugins, Alternatives de Plugin d'Entreprise Ionic pour le flux de travail du produit dans Alternatives de Plugin d'Entreprise Ionic, et Capgo Builds Natives pour le flux de travail du produit dans Capgo Builds Natives.