Applications natives
Churros utilie Capacitor pour faire des applications distribuables sur l'App Store et le Google Play Store.
Capacitor permet de packager une application web dans une application native, en injectant le code de l'application compilée dans des projets natifs Android Studio et XCode.
La bibliothèque fournit également des paquets pour étendre l'application avec des capacités inaccesibles depuis un site web, telles que du NFC (TODO), des notifications push natives, la vibration (sur iOS), ouvrir les liens externes dans le navigateur principal de l'appareil, etc.
Architecture
Les projets natifs sont inclus dans churros/churros en tant que submodules Git. Les projets sont séparés en deux dossiers:
-
android: le projet Android Studio -
ios: le projet XCode
Pour également avoir le code, il suffit de cloner les submodules:
# Les deux projets
git submodule update --init --recursive
# Seulement Android
git submodule update --init --recursive android
# Seulement iOS
git submodule update --init --recursive ios
Contribuer
Android
- Installer Android Studio
- Ouvrir le projet
androiddans Android Studio
Tester l'appli
- Configuer les variables d'environement spécifiques à Android (voir
.env.example) NOTE: Ne pas oublier de lanceryarn cp-envdepuis la racine si vous mettez à jour votre.env - Compiler l'application avec
yarn build:androiddanspackages/app - Dans Android Studio, lancer l'application sur un émulateur ou un appareil connecté. Pour connecter un appareil, voir Utiliser ADB
Faire du live reload
TODO: https://ionicframework.com/docs/cli/livereload#capacitor
Regarder les logs
Y'a deux options:
- Regarder le Logcat dans Android Studio (plutôt pour du code au niveau natif, même si les
console.logsont remontés) - Lancer l'inspecteur de chrome pour inspecter la webview (Ouvrir
chrome://inspect)
Faire un .apk
- Dans Android Studio, aller dans
Build > Build Bundle(s) / APK(s) > Build APK(s)
iOS
TODO
Commit ses modifications
- Faire un commit dans le submodule
- Push sur sa branche (du submodule)
- Faire un commit sur churros/churros pour mettre à jour quel commit du submodule churros/churros a
- Push sur sa branche sur churros/churros