À chaque fois que je téléphone à quelqu'un, mon petit garçon court vers moi pour attraper le téléphone. Il cherche l'icône d'appel, fait du Allo! Allo!, et parfois ça passe des vrais appels. Il était temps de régler ça. J'ai construit une application qui simule un appel pour lui.
Je veux que l'application soit le plus simple possible, puis j'ai décidé de réaliser ces trois choses là:
- Un écran pour saisir un numéro
- Un écran qui affiche l'appel en cours et qui lance la voix choisie
- Un écran pour ajouter et choisir une voix à entendre lors de l'appel
Je fais toujours des applications mobile avec du React Native et lorsque je fais la configuration d'Android de certaines librairies, quelquefois je ne sais pas vraiment ce que je suis en train de faire. C'est pour cela que je vais le faire avec Kotlin comme ça je pourrai le découvrir.
Réalisation
Mon objectif principal dans cette découverte est de comprendre l'écosystème d'Android comme le routage, l'accès à des différents storages, etc. Ensuite, d'apprendre la base de Kotlin pour écrire le code.
Au début du développement, l'architecture MVVM avec le XML, c'est l'enfer. Habitué à React et la déclarative UI, même un simple TODO list nécessite trois tonnes de code. Kotlin par contre est vraiment simple et agréable à apprendre.
J'ai découvert Compose qui adopte le principe de déclarative UI. Je ne l'ai pas encore testé à ce moment-là, mais c'est clairement la direction à suivre.
J'ai passé environ trois jours au total pour terminer l'application et découvrir Android. Voici les trois écrans qui sont faits :



Conclusion
Je ne suis pas à l'aise avec l'architecture classique d'Android, mais Compose me motive à creuser le natif. Le souci : des frameworks cross-platform comme React Native ne supportent pas encore Compose, donc l'architecture classique reste incontournable. Et de toute façon, comprendre les fondations c'est toujours utile.
