5 choses que j'aurais aimé savoir avant de commencer à coder des applications Android
Agence web » Actualités du digital » 5 choses que j'aurais aimé savoir avant de commencer à coder des applications Android

5 choses que j'aurais aimé savoir avant de commencer à coder des applications Android

Je me suis récemment remis à la programmation en créant des applications Android. Si vous envisagez de faire de même, apprenez de ces cinq erreurs que j'ai commises afin de ne pas avoir à les vivre également.

Il est préférable d'utiliser du code natif plutôt que de passer à plusieurs plates-formes

Quand j'ai commencé à coder des applications Android, je me suis dit : « Le code multiplateforme est génial ! Je peux coder une fois et l'utiliser partout. » Pendant que ça est C'est vrai, et le codage multiplateforme a parcouru un long chemin depuis que je l'ai essayé pour la dernière fois au début des années 2010, il est encore loin d'être aussi natif que, eh bien, natif.

J'ai d'abord commencé à créer mon application dans React Native, qui fait partie des langages multiplateformes les plus natifs. J'ai été surpris par la fluidité initiale de la compilation de React Native pour Android. J'ai eu une application fonctionnelle opérationnelle en quelques heures.

Cependant, ce n'était tout simplement pas aussi performant qu'une application correctement native, j'ai donc décidé de passer à Jetpack Compose (qui est construit sur Kotlin). Compose est le langage natif des applications Android, donc tout semble vraiment avoir été conçu pour le système d'exploitation.

L'inconvénient est que lorsque je vais créer l'application pour iOS, macOS, Windows et le Web, je vais devoir la réécrire pour chaque plate-forme. Cela prendra beaucoup plus de temps et il y aura plus de bases de code à maintenir, mais chaque application aura l'impression d'avoir été conçue pour cette plate-forme.

En tant que personne qui crée simplement des applications pour le plaisir, je suis d'accord pour assumer cette responsabilité et j'aurais aimé commencer avec du code natif.

Développer sur un appareil vaut mieux qu’un émulateur

Les émulateurs sont géniaux. Vous exécutez essentiellement une machine virtuelle quel que soit le périphérique pour lequel vous développez, avec un déploiement instantané et aucun câble nécessaire. Cependant, les émulateurs ne sont pas toujours la meilleure option.

L'application que je construis aura des comptes d'utilisateurs liés aux méthodes SSO (authentification unique) comme Google et Apple. Même si je pourrais prendre le temps de me connecter à mon compte Google sur l'émulateur, il est tout simplement plus simple de le déployer sur mon téléphone.

Les événements tactiles fonctionnent correctement (car je touche l'écran au lieu de cliquer sur une souris), le défilement est natif (car c'est avec un doigt et non avec une souris) et tous mes comptes existants sont là, prêts à être accessibles.

Pour des tests rapides de choses comme la mise en page d'une application ou l'apparence de quelque chose, j'utilise souvent un émulateur. Mais pour tester réellement les fonctionnalités de base, un appareil est bien meilleur.

Changer de backend de base de données est difficile

Lorsque j'ai commencé à créer mon application, j'ai opté pour le premier backend de base de données réputé que j'ai trouvé : Firebase de Google. Firebase est génialet j'ai été opérationnel en un rien de temps. Cependant, j'ai finalement appris que Firebase est ce qu'on appelle NoSQL, ce qui signifie qu'il s'agit de données non structurées.

L'application que je construis repose sur des données structurées (factures générées, devis et informations client), donc cela ne fonctionnerait tout simplement pas pour moi. Heureusement, je l’ai découvert assez tôt dans le processus de développement, donc les seules données que je stockais étaient les miennes.

Je suis ensuite passé à Supabase, qui offre une structuration appropriée des données ainsi que toutes les autres fonctionnalités intéressantes de Firebase (comme les comptes d'utilisateurs, le stockage d'objets, etc.).

Le problème est que j'avais déjà commencé à apprendre le langage et les fonctionnalités de Firebase, et bien que Supabase soit similaire, il y a suffisamment de différence pour qu'il m'ait fallu trois fois plus de temps pour recâbler mon cerveau (et mon code) pour m'éloigner de Firebase.

Une partie de mon problème était que j'ai commencé avec React Native et Firebase, puis je suis passé à Compose et Firebase, puis j'ai essayé de passer à Supabase par la suite. J'ai finalement abandonné toute la première application que j'avais créée et j'ai recommencé avec seulement Supabase et Compose, et c'était beaucoup plus agréable. J'aurais juste aimé ne pas avoir perdu plusieurs jours de développement dans le processus.

Le codage vibratoire peut être amusant, mais aussi très frustrant

Il y a de nombreuses années, je programmais toute la journée, tous les jours. J'ai créé des ROM et des applications Android pour Windows Phone et webOS. Cela signifiait que j'étais constamment dans le terminal ou dans mon IDE en train de coder. Cependant, c’était il y a bien plus de dix ans à ce stade.

Alors, pour me remettre en selle, j’ai décidé de m’essayer au vibe coding. Je connais les risques que cela comporte, mais c'est une excellente façon de commencer quelque chose que vous n'avez pas fait depuis un moment.

Avec l'aide de ChatGPT et Claude, j'ai pu obtenir une application fonctionnelle en quelques heures, comprenant des comptes d'utilisateurs, un stockage d'objets, etc. J'ai été assez surpris de la rapidité avec laquelle tout s'est déroulé.

Après avoir codé quelques pages et fonctions, je me replongeais et j'écrivais à la main des fonctions complètes. OK, j'ai utilisé Visual Studio Code et la saisie semi-automatique d'Android Studio, mais c'est moi qui lui ai dit quoi faire !

Dans l’ensemble, le codage d’ambiance est un excellent moyen de prototyper rapidement des éléments dans mon application. Cependant, cela peut aussi être frustrant. Il y a eu plusieurs fois où j'essayais de faire fonctionner une fonction spécifique, et j'ai passé plus de temps dans ChatGPT que si j'avais fait des recherches sur le sujet moi-même. Je le sais car après avoir perdu quelques heures avec ChatGPT, je l'ai recherché et j'ai résolu le problème en 10 minutes.

Je suis satisfait des progrès que j'ai réalisés et je n'aurais certainement pas l'application là où elle se trouve aujourd'hui sans l'aide de l'IA qui écrit du code pour moi. J'ai juste besoin d'apprendre l'équilibre entre lui faire faire le travail et faire une partie du travail moi-même.

C'est en fait assez facile

Comme je l'ai dit, cela fait des années que je n'ai pas fait de développement adéquat. J'ai reporté la création d'une application depuis un certain temps parce que je pensais que ce serait trop difficile à démarrer. J'avais vraiment tort.

Quelques heures après le démarrage, j'avais une application à part entière avec authentification et un backend cloud. Désormais, l'application ne fait plus que se connecter à un compte et afficher une photo de profil et un nom. Mais c’est une fonctionnalité essentielle de l’application, et dans le passé, il m’aurait fallu des jours ou des semaines pour y accéder.

Je n'ai pas le temps de me développer comme je le souhaiterais, mais j'apprécie vraiment cela et j'aurais aimé commencer plus tôt. Je suis ravi de créer l'application que j'attends depuis longtemps.


Créer des applications Android ne doit pas être difficile. Il existe désormais plus de documentation que jamais. De plus, avec l'aide d'IA comme ChatGPT Code ou Claude Code, vous pouvez certainement commencer même si vous n'avez jamais programmé auparavant de votre vie.

★★★★★