Deviens un développeur Android.

Comprendre en 5 étapes le développement d’une application mobile Android pour toi aussi te lancer dans l’aventure.

Diane Moreau
Meetech - We Love Tech
7 min readAug 9, 2018

--

“Je ne savais pas coder avant d’apprendre à coder

Petite citation pour introduire et préciser que cet article est destiné à ceux qui savent coder, à ceux qui ne savent pas coder, à ceux qui savaient coder, à ceux qui “coder ? j’aimerais bien essayer”. Bref. A tous les curieux qui souhaiteraient en savoir plus sur le développement d’une application mobile Android.

Je le constate tous les jours : beaucoup de personnes ont des idées d’applications mais n’osent pas se lancer. Alors, par où commencer ?

Etape 1 : Application Native, Hybride, WebApp ? Où se situe le développement Android dans tout ça ?

Comme vous le savez déjà, il existe toutes sortes d’applications mobiles. Que ce soit une application de liste de course, une application GPS, un jeu vidéo ou bien même une application interne d’entreprise.

Toutes ces applications ont un point commun : être accessible via l’utilisation d’un smartphone. Cependant, il est important de comprendre, qu’il existe différentes voies, différents moyens de conception pour arriver à ce résultat.

C’est là qu’interviennent les notions d’application Hybride, Native ou WebApp. Lorsque l’on emploie ces termes, on indique le moyen utilisé pour développer l’application.

Native, Hybride ou WebApp

Le choix de partir sur le développement d’une application Native, Hybride ou WebApp dépend de nombreux facteurs et de l’objectif à atteindre. Un article entier pourrait y être consacré. En résumé :

  • Application Native : Représente la grande majorité des applications que nous téléchargeons chaque jour. Ce sont des applications développées spécifiquement pour 1 système d’exploitation : Android, IOS ou Windows Phone. Technos : langage natif de l’OS (Java, Swift…)

Une application développée sous Android ne fonctionnera pas sur un iPhone.

  • Application WebApp : Ce sont des applications web, à savoir des sites web qui ont été rendu compatibles pour un affichage sur smartphone (responsive). Les applications ne sont pas installées sur le téléphone et non disponibles sur les stores (Play store, App Store…). Technos : web (html, css, js…)

Un accès internet est obligatoire pour accéder au site web

  • Application Hybride : Entre l’application Native et la WebApp, ce sont des applications qui sont installées sur le smartphone donc disponibles sur les stores et qui utilisent les technologies natives (par exemple pour accéder aux fonctionnalités hardware du téléphone comme l’accéléromètre) et web. Technos : langage natif de l’OS (Java, Swift, …) et web (html, css, js…)

L’interface utilisateur est moins fluide qu’avec une application native

Dans cet article, nous nous intéressons au développement d’une application native sous Android (80% de part de marché vs iOS) :

Où se situe le développement Android ?

Etape 2 : Les outils et compétences pour développer

Comme vous l’avez compris, pour développer une application mobile il va falloir coder. Pas de panique, si vous n’avez jamais développé ou très peu. En effet, l’avantage de développer une application mobile c’est qu’on a un résultat concret devant les yeux en moins de 5 minutes : pratique quand on débute pour apprécier ces progrès.

De plus, le développement d’une application Android ne nécessite aucun investissement financier. Vous allez avoir besoin de 2 outils :

  • Un téléphone Android : si vous n’en possédez pas, vous pouvez utiliser un émulateur (téléphone Android virtuel lancé sur votre ordinateur)
  • Un environnement de développement (IDE) : Android Studio qui est gratuit. C’est le logiciel avec lequel vous allez pouvoir coder et créer votre application
Les outils pour développer

Pour les outils rien de plus simple, et pour les compétences ?

Pour les compétences, tout s’apprend, mais vous allez être avantagé si vous avez déjà eu l’occasion de coder. En effet, pour du développement Android, 3 compétences vont être utilisées et vous allez les acquérir au fur et à mesure du développement de vos applications :

  • La première : le langage XML. C’est un langage de balisage (vous utiliserez énormément de balises “</>”) qui permet de définir tout le design de votre application, à savoir l’UX et l’UI. Ce langage s’apprend sur le tas en développant vos applications et en cherchant sur internet pour avoir la bonne syntaxe. Exemple d’une recherche Google : “android how create button in xml”.

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>

  • La deuxième : le langage Java. Vous en avez tous déjà entendu parlé, il fait partie des langages incontournables. Il permet de gérer tout ce qui est interactions avec l’application (que se passe t-il si je clique sur un bouton ?). Il gère également les données (connexion à une base de donnée externe, stockage des données sur le téléphone, …). Les bases du Java sont nécessaires pour pouvoir développer sous Android.

button1.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// IL FAUT IMPLEMENTER ICI CE QU'IL SE PASSE QUAND L'UTILISATEUR CLIQUE SUR LE BOUTON "button1"
}
});

La troisième : les spécificités Android. Considérez “spécificités” comme tout ce qui va être propre au développement Android, à savoir par exemple :

  • L’architecture du dossier projet (dans quel dossier mettre les images, où se trouve le fichier de configuration…)
  • La gestion du cycle de vie de l’application (que se passe t-il si l’utilisateur quitte l’application où appuie sur le bouton home, comment mettre l’application en pause…)
  • Les méthodes (fonctions algorithmiques) qui permettent d’interagir avec le téléphone (comment cliquer sur un bouton, faire vibrer le téléphone…)
  • etc…

Vous allez pouvoir acquérir ces spécificités au fur et à mesure du développement de votre application.

En résumé, à chaque écran de l’application correspond un fichier XML (1) et un fichier Java (2). Les spécificités Android (3) sont transverses et s’acquerront avec le temps. Dans le langage Android, un écran correspond à ce qu’on appelle “une activité” (exemple : MainActivity est l’activité principale de l’application : souvent le menu).

Les compétences pour développer

Etape 3 : C’est parti ? Mise en pratique !

a) Méthodologie de conception

La méthodologie de développement d’une application Android reste commune à de nombreuses méthodologies de conception.

Méthodologie de conception d’une application
  1. Définition : Trouver et cadrer l’idée d’application (quel type, quel objectif, quelle cible…).
  2. Design : Prototyper l’application pour en avoir une idée précise (wireframe, story-board, schéma de la base de donnée…).
  3. Développement : Développer l’application en la concrétisant par le codage (code java et XML de l’application). Les tests unitaires et fonctionnels font également partie de cette phase.
  4. Déploiement : Déployer l’application sur un store pour la partager avec vos amis/famille et des millions de personnes (Google Play Store).

b) C’est parti ! Création d’un piano musical en 15 minutes (en partant de 0)

Développer un piano musical en 15 minutes

Etape 4 : Et maintenant ? Quel intérêt ?

Une fois l’application développée, quels bénéfices en tirer ?

  • Développez vos compétences : le développement Android permet d'acquérir de nombreuses compétences et notions (XML, Java, SDK, APK, certificat, API, MBaaS, monétisation…).
  • Créez vos propres applications : d’infinie possibilités en laissant libre court à votre imagination. Créez toutes les applications que vous souhaitez.
  • Publiez-les sur le Google Play Store : faite connaitre votre application afin de la partager au plus grand nombre et générer des millions de téléchargements. Pour cela il vous faudra un compte Google Play developer (25$ valable à vie). La mise en ligne de votre application sur le Play Store prends à peine quelques heures.
  • Monétisez votre application : intégrez de la publicité dans vos applications (plateforme AdMob) ou mettez en place de “l’achat in app” pour monétiser vos applications.

Etape 5 : A vous de jouer

Si l’aventure vous tente, quelques petits conseils :

  • Si vous n’avez jamais codé, je vous conseille d’apprendre au moins les bases du Java avant de commencer à développer sous Android. Ce sera l’occasion d’apprendre les bases de l’algorithmie : ce que sont les structures de données (différences entre un tableau et une liste, différence entre un “int” et un “float”…). Une fois les bases du Java acquises vous pourrez commencer à développer sous Android.
  • Quoi qu’il en soit, votre première application doit être simple. Essayez de commencer avec une application rapide à développer (lampe torche, liste de course, minuteur, morpion…).
  • Ensuite, n’hésitez pas à publier sur le Play Store (même si une autre application du même type existe déjà et même si votre application n’est pas parfaite). Cela vous permettra de comprendre tous les mécanismes sous-jacent à la plateforme : suivi des statistiques de téléchargement, stratégie de référencement, intégration de la monétisation…

Etape 6 (bonus) : Android Mindset

Voici deux applications que j’ai pu développer, n’hésitez pas à les télécharger :)

Mes applications

Si vous comprenez tous les messages ci-dessous c’est que vous pouvez commencer à développer sous Android 👌

Android Mindset

--

--

Diane Moreau
Meetech - We Love Tech

Consultante en technologies émergentes et développeuse Android