In le monde en évolution de développement d'applications mobiles, la montée des Applications Web Progressives (PWAs) a ouvert la voie à de nouveaux runtimes cross-plateformes. Ces runtimes permettent aux applications web de figurer dans les magasins d'applications sans se fier uniquement à des code natifs. CapacitorJS, qui permet aux développeurs de déployer un site web simple en tant qu'application sur Android, iOS et le web à l'aide d'un code JavaScript unique. Cette approche réduit considérablement les coûts de développement et augmente l'efficacité de codage.
Cet guide se concentrera sur la création d'une application à l'aide de JavaScript pur sans aucun framework supplémentaire. Malgré les difficultés de trouver des ressources pour le développement d'applications de JavaScript pur en 2021, nous sommes là pour vous fournir un tutoriel complet sur la création de votre application et l'utilisation de plugins natifs avec CapacitorJS.
‣ Prérequis
Avant de commencer, assurez-vous d'avoir les outils suivants installés :
- Node.js (v14.16.1) ou supérieur
- NPM (v7.6.2) ou supérieur
- Android Studio pour le développement d'applications Android
- Xcode pour le développement d'applications iOS (disponible uniquement sur macOS)
Note: le développement d'applications iOS est possible uniquement sur un appareil macOS.
‣ Configuration de votre projet Capacitor
Pour créer une application Capacitor, accédez au dossier souhaité et exécutez la commande suivante dans votre terminal :
npm init @capacitor/app
Suivez les invites pour installer le package et configurer votre projet. Avec Capacitor v3, votre répertoire de projet devrait ressembler à ceci :
www/
css/
style.css
js/
capacitor-welcome.js
index.html
manifest.json
.gitignore
capacitor.config.json
package.json
README.md
La configuration initiale est terminée, vous êtes prêt à poursuivre.
‣ Restructuration du projet
On utilisera Vite pour empaqueter nos fichiers JavaScript, donc réorganisons notre projet en conséquence :
- Créer un nouveau dossier
srcdans le répertoire principal. - Créer un nouveau fichier de script
index.jsdanssrc/. - Créer le fichier de configuration Vite
vite.config.jsdans le répertoire principal. - Supprimer le
capacitor-welcome.jsfichier dewww/js/.
Votre nouvelle structure de dossier devrait ressembler à ceci :
src/
index.js
www/
css/
style.css
js/
index.html
manifest.json
.gitignore
capacitor.config.json
package.json
README.md
vite.config.js
‣ Adaptation à JavaScript pur
Modifions certains fichiers pour qu'ils fonctionnent avec JavaScript pur :
www/index.html
- Supprimez les importations de scripts pour Ionic PWA Elements si vous ne déployez pas l'application sous forme de PWA :
<script type="module" src="https://unpkg.com/@ionic/pwa-elements@latest/dist/ionicpwaelements/ionicpwaelements.esm.js"></script>
<script nomodule src="https://unpkg.com/@ionic/pwa-elements@latest/dist/ionicpwaelements/ionicpwaelements.js"></script>
-
Supprimez l'
<capacitor-welcome>élément HTML du corps. -
Mettez à jour l'importation de script de
capacitor.jsàjs/main.jsceci sera notre fichier JavaScript bundlé. -
Supprimez le
js/capacitor-welcome.jsimport. Votreindex.htmlest maintenant prêt.
vite.config.js
Pour bundler nos modules Node.js avec Vite, nous avons besoin d'un fichier de configuration spécifiant le destinataire de sortie de notre script bundlé. La configuration suivante prendra le fichier src/index.js et le bundlera pour la production sous www/js/main.js:
import { defineConfig } from 'vite';
import path from 'node:path';
export default defineConfig({
build: {
outDir: path.resolve(__dirname, 'www'),
rollupOptions: {
input: './src/index.js',
output: {
format: 'es',
file: path.resolve(__dirname, 'www/js/main.js')
}
}
}
});
capacitor.config.json
Dans le capacitor.config.json fichier, localisez la "bundledWebRuntime": true propriété et modifiez-l’en false. Cette ajustement nous permet d'éviter que Capacitor ne bundle les fichiers, nous permettant d'utiliser Vite à cette fin à la place.
Votre application Capacitor est prête à être développée avec du JavaScript pur.
‣ Développer votre application
Maintenant que le fondement est posé, vous pouvez commencer à écrire la logique de votre application dans le src/index.js fichier. Ici, vous pouvez importer les modules Node.js nécessaires, définir la fonctionnalité de votre application et interagir avec les plugins natifs de Capacitor.
Rappelez-vous de lancer la commande de build de Vite pour packer vos fichiers JavaScript chaque fois que vous apportez des modifications :
vite build
Cette commande générera le main.js fichier dans votre www/js répertoire, que votre index.html fichier référencera.
‣ Test et Débogage
Capacitor fournit un moyen pratique de tester votre application sur diverses plateformes. Utilisez les commandes suivantes pour ouvrir votre application dans l'environnement de développement de la plateforme respective :
Pour Android :
npx cap add android
npx cap open android
For iOS (macOS uniquement) :
npx cap add ios
npx cap open ios
For Web/PWA :
npx cap serve
Ces commandes vous permettront de lancer votre application dans Android Studio, Xcode ou votre navigateur web, où vous pourrez tester et déboguer comme nécessaire.
‣ Conclusion
Le développement d'applications cross-plateformes avec CapacitorJS en utilisant uniquement JavaScript est une façon rentable et efficace de créer des applications pour plusieurs plateformes avec un seul codebase. En suivant ce guide, vous avez configuré votre projet, le réorganisé pour Vite et préparé votre application au développement. Avec cette base, vous êtes bien en route pour créer une application robuste et polyvalente.
Rappelez-vous de tester soigneusement sur toutes les plateformes et d'utiliser les plugins natifs de Capacitor pour améliorer la fonctionnalité de votre application. Bon codage !
Continuez de l'article : Développer des applications cross-plateformes avec CapacitorJS : Guide étape par étape
Si vous utilisez Développer des applications cross-plateformes avec CapacitorJS : Guide étape par étape pour planifier le travail de plugin natif, connectez-l’avec Capgo Répertoire des plugins pour le flux de travail du produit dans le Capgo Répertoire des plugins, Capacitor Plugins par Capgo pour le détail d'implémentation dans Capacitor Plugins par Capgo Ajout ou Mise à jour de Plugins pour le détail d'implémentation dans Ajout ou Mise à jour de Plugins Alternatives de Plugins Entreprise Ionic pour le flux de travail du produit dans Alternatives de Plugins Entreprise Ionic, et Capgo Bâtiments Natives pour le flux de travail du produit dans Capgo Bâtiments Natives.