Android
Historique
• Il a vu le jour en 2003 lorsqu'une société
appelée Android Inc. a été fondée par Andy
Rubin.
• En 2005, Google a acheté Android Inc. (50
millions de dollars)
• En 2007, l'Open Handset Alliance est née et le
système d'exploitation Android a été
officiellement open source.
Historique
Historique
Statistiques
7.2 billion Number of Android devices. It already has exceeded
the total number of people in the planet
Avantages Inconvébients
Facile à construire et à maintenir Plus lente
Utiliser n’importe quelle Moins interactive
technologie/Langage (Node.js, Pas d’icone sur le desktop
Laravel,…) Ne peut pas être soumis à l'App Store
Moins cher que les app Ne peut pas interagir avec les
native/hybride utilitaires de l'appareil (camera , geo-
Seule app pour toutes les location)
plateformes
Android & langages de Prg
App mobiles natives :
• Type d'application mobile le plus courant
• Construit pour plateforme spécifique
(Swift/objectice-c pour iOS, Java/Kotlin pour
Android)
Android & langages de Prg
App mobiles natives :
Avantages Inconvénients
Tres rapide Plateforme unique
Distribués dans App Store (Apple Langage plus difficile : JAVA, Swift, …
Store, Google Play, Play Store, ) Très cher (relativement web
Interactive et intuitive developer)
interagir avec les utilitaires de Difficile à maintenir
l'appareil
Android & langages de Prg
App mobiles hybrides :
• Combinaison : native & web
• Utilise HTML, CSS, Javascript
• Exécution à l’intérieur d’un conteneur :
webview
• Exemple : Titanium, PhoneGap, Apache
Cordova
Android & langages de Prg
App mobiles hybrides :
Avanatges Inconvénients
Facile à construire : html, css,… Plus lent que les app natives
Moins cher que les app natives Plus cher que les apps web
Seule app pour toutes les plateformes Moins interactive que les app natives
Pas besoin d’un navigateur Pas autant de plugins pour interagir avec
Accès aux utilitaires les appareils
Plus rapide à developper que les app
natives
Android & langages de Prg
4ème type : comme React Native / Xamarin
• Construit avec frameworks qui utilise web
technologies mais convertit l’app en
composants natifs (au lieu de webview)
• Très proche aux app natives en termes de
performance
Programmation
• Une application Android est composée de :
• Sources Java (ou Kotlin) compilés pour une
machine virtuelle appelée « ART »,
amélioration de l’ancienne machine « Dalvik »
(versions ≤ 4.4).
• Fichiers appelés ressources :
- format XML : interface, textes. . .
- format PNG : icônes, images. . .
• Manifeste = description du contenu du logiciel
kotlin
• C’est un langage de programmation
concurrent et symbiotique de Java.
• Un programme Kotlin est compilé dans le
même langage machine que Java.
• Un programme Kotlin peut utiliser les classes
Java et réciproquement.
• On peut mélanger des sources Java et Kotlin
dans une même application.
kotlin
• Kotlin est promu par Google parce qu’il
permet de développer des programmes plus
sains.
• Par exemple, Kotlin oblige à valider chaque
appel de méthode sur des variables objets
pouvant valoir null, ce qui évite les
NullPointerException.
• Pour compenser, Java propose les annotations
@NotNull et @Nullable, mais ça paraît
contraignant.
kotlin
En Java
En Kotlin
Compilation a exécution
• Le processus de compilation n'est pas le même
que celui auquel vous étiez habitué avec Java
SE ou Java EE.
• Les exécutables Android sont des fichiers dex
et non des fichiers de classe.
• La compilation de programmes est un
processus en deux étapes dans Android.
Compilation a exécution