L’auteur partage sa réflexion sur la conception d’un outil logiciel personnel simple, un logiciel de bureau pour usage exclusif, rejetant les solutions SaaS ou cloud. Il opte pour une application macOS développée en Flutter, avec une base de données SQLite locale, évitant ainsi toute dépendance à internet ou infrastructure serveur. La simplicité prime, avec une gestion automatique des données pour éviter toute maintenance utilisateur.
Pour étendre l’application à mobile (Android et iOS) sans dupliquer le code, il sépare la logique métier des données utilisateur, comparant cela à partager une recette de gâteau plutôt que les ingrédients. Flutter permet de compiler une seule base de code Dart en applications natives pour chaque plateforme, sans recourir à une architecture client-serveur coûteuse ou complexe.
Le développement de l'application PeerTube a conduit à l'adoption de Flutter pour le développement multiplateforme, permettant une seule base de code pour Android et iOS, réduisant ainsi les coûts et les efforts de maintenance. L'équipe a dû se former à Flutter et à Dart, en utilisant diverses ressources pour maîtriser ces technologies. Une architecture "feature-first" a été choisie pour organiser le code par fonctionnalité, favorisant la modularité et la clarté du projet. Plusieurs dépendances ont été soigneusement sélectionnées, comme Riverpod pour la gestion d'état et GoRouter pour la navigation, tout en rencontrant des défis avec certaines bibliothèques comme Chewie pour la lecture vidéo.
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre