2. Plan
5
□
Dév. pour les terminaux mobiles
□
Présentation d’Android
□
Architecture & Introduction aux fonctions du SDK Android
□
Conduite d'un projet d'une application mobile
WY / ISI / 2014
3. Dév. pour terminaux mobiles
□
Historiquement, dév. en code C/C++ de bas niveau
□
Besoin de comprendre et connaitre le HW
□
Cible un seul terminal (une famille d’un même fabricant)
□
– Spécifique au HW cible
□
□
6
– Dév. en interne
J2ME
□
MIDlets sur une machine virtuelle Java, pour le dév. d’app. tierces
□
JVM fournit une abstraction du HW
□
MIDlets utilisables sur différents architectures qui supportent la Java runtime
□
+ Dev. en externe
□
□
– Accès restreint au HW
– Dév. d’app. tierce différents du dév. d’app. natives
WY / ISI / 2014
4. Dév. pour terminaux mobiles :
Version Android
□
Andorid fait partie d’une nouvelle vague de SE conçus pour du HW plus performant
□
Windows Phone
□
BlackBerry OS
□
□
7
□
□
FirefoxOS
Tizen
Ubuntu
Apple iPhone
□
Android se distingue par son offre d’environnement de Dév. Ouvert
□
Basé sur le noyau open source Linux
□
Accès complet aux ressources HW
□
Applications natives ou tierces sont au même niveau
□
Utilisation de la même API
□
Exécution sur la même run time
WY / ISI / 2014
5. Android est :
8
“The first truly open and comprehensive platform for mobile
devices, all of the software to run a mobile phone but without the
proprietary obstacles that have hindered mobile innovation."
Andy Rubin
http://googleblog.blogspot.com/2007/11/wheres-my-gphone.html
WY / ISI / 2014
6. Android est :
□
9
Une combinaison de trois composants :
1 Un système d’exploitation open source pour terminaux
mobiles
2 Une plateforme de dév. open source pour créer des
application mobiles
3 Terminaux, particulièrement téléphones mobiles, qui
exécutent le système d’exploitation Android et les
application mobiles conçues pour ce système
WY / ISI / 2014
9. Plan
12
□
Dév. pour les terminaux mobiles
□
Présentation d’Android
□
Architecture & Introduction aux fonctions du SDK Android
□
Conduite d'un projet d'une application mobile
WY / ISI / 2014
10. Android est (en détail 1/3)
□
□
□
13
Une architecture HW de référence qui décrit les
capacités requises par un terminal mobile pour
supporter la pile logicielle Android
Un système d’exploitation basé sur le noyau
Linux qui fournit l’interface bas niveau avec le HW,
la gestion de la mémoire, le contrôle des processus,
le tout optimisé pour les terminaux mobiles
Un ensemble de bibliothèques Open Source
pour le dév. d’applications incluant SQLite, WebKit,
OpenGL, et la gestion des média..
WY / ISI / 2014
11. Android est (en détail 2/3)
□
□
□
14
Un run-time utilisé pour exécuter et accueillir les
application Android, incluant la VM Dalvik et les
librairies principales qui fournissent la fonctionnalité
Android. Cet exécutable est conçu pour être de petite taille
et pour être efficace sur les terminaux mobiles
Un framework applicatif exposant les services
systèmes à la couche application y compris “window
manager, location manager, content providers, telephony,
sensors”
Un framework d’interface utilisateur pour installer et
lancer les applications.
WY / ISI / 2014
12. Android est (en détail 3/3)
□
□
15
Un ensemble d’applications pré-installées
faisant partie de la pile logicielle
Un software développement kit (SDK) utilisé
pour créer des applications, incluant des outils,
plugins et documentation.
WY / ISI / 2014
13. Android SW Stack
16
Linux kernel (version 2.6) qui offre les services
fondamentaux : hardware drivers, process & memory
management, security, network, power management.
Il offre une couche d’abstraction entre le HW et le reste de la
pile logicielle.
WY / ISI / 2014
14. Android SW Stack
17
Android Runtime Incluant les librairies fondamentales et la
machine virtuelle Dalvik.
Ce runtime permet l’exécution des application et représente la
base du framework applicatif .
WY / ISI / 2014
15. Android SW Stack
18
Linux kernel Libraries : diverses librairies fondamentales du
lang. C/C++ :
Media Framwork : lecture audio / video
Surface manager : gestion de l’affichage
Graphics libraries (SGL & OpenGL): affichage 2D et 3D
SQLite pour le support natif des bases de données
SSL & WebKit pour la navigation sur internet avec le support
SSL
WY / ISI / 2014
16. Android SW Stack
19
Application framework fournit les classes qui seront utilisées
pour la création d’applications Android.
Représente une abstration pour les accés HW et prend en
charge la gestion de l’interface utilisateur et des ressources de
l’application.
WY / ISI / 2014
17. Android SW Stack
20
Application layer toutes les applications, native ou tierces,
sont basées sur la même API.
La couche application s’exécute sur un runtime Android en
utilisant les classes et services de fournies par l’application
framework.
WY / ISI / 2014
19. Plan
22
□
Dév. pour les terminaux mobiles
□
Présentation d’Android
□
Architecture & Introduction aux fonctions du SDK Android
□
Conduite d'un projet d'une application mobile
WY / ISI / 2014
25. Un point de départ : IHM & UX
□
Design Pattern IHM
□
28
Sites à connaître
□
http://developer.android.com
□
http://www.android-app-patterns.com/
□
http://www.androidviews.net
WY / ISI / 2014
27. Plan
5
□
Dév. pour les terminaux mobiles
□
Présentation d’Android
□
Architecture & Introduction aux fonctions du SDK Android
□
Conduite d'un projet d'une application mobile
WY / ISI / 2014
28. Dév. pour terminaux mobiles
□
Historiquement, dév. en code C/C++ de bas niveau
□
Besoin de comprendre et connaitre le HW
□
Cible un seul terminal (une famille d’un même fabricant)
□
– Spécifique au HW cible
□
□
6
– Dév. en interne
J2ME
□
MIDlets sur une machine virtuelle Java, pour le dév. d’app. tierces
□
JVM fournit une abstraction du HW
□
MIDlets utilisables sur différents architectures qui supportent la Java runtime
□
+ Dev. en externe
□
□
– Accès restreint au HW
– Dév. d’app. tierce différents du dév. d’app. natives
WY / ISI / 2014
29. Dév. pour terminaux mobiles :
Version Android
□
Andorid fait partie d’une nouvelle vague de SE conçus pour du HW plus performant
□
Windows Phone
□
BlackBerry OS
□
□
7
□
□
FirefoxOS
Tizen
Ubuntu
Apple iPhone
□
Android se distingue par son offre d’environnement de Dév. Ouvert
□
Basé sur le noyau open source Linux
□
Accès complet aux ressources HW
□
Applications natives ou tierces sont au même niveau
□
Utilisation de la même API
□
Exécution sur la même run time
WY / ISI / 2014
30. Android est :
8
“The first truly open and comprehensive platform for mobile
devices, all of the software to run a mobile phone but without the
proprietary obstacles that have hindered mobile innovation."
Andy Rubin
http://googleblog.blogspot.com/2007/11/wheres-my-gphone.html
WY / ISI / 2014
31. Android est :
□
9
Une combinaison de trois composants :
1 Un système d’exploitation open source pour terminaux
mobiles
2 Une plateforme de dév. open source pour créer des
application mobiles
3 Terminaux, particulièrement téléphones mobiles, qui
exécutent le système d’exploitation Android et les
application mobiles conçues pour ce système
WY / ISI / 2014
34. Plan
12
□
Dév. pour les terminaux mobiles
□
Présentation d’Android
□
Architecture & Introduction aux fonctions du SDK Android
□
Conduite d'un projet d'une application mobile
WY / ISI / 2014
35. Android est (en détail 1/3)
□
□
□
13
Une architecture HW de référence qui décrit les
capacités requises par un terminal mobile pour
supporter la pile logicielle Android
Un système d’exploitation basé sur le noyau
Linux qui fournit l’interface bas niveau avec le HW,
la gestion de la mémoire, le contrôle des processus,
le tout optimisé pour les terminaux mobiles
Un ensemble de bibliothèques Open Source
pour le dév. d’applications incluant SQLite, WebKit,
OpenGL, et la gestion des média..
WY / ISI / 2014
36. Android est (en détail 2/3)
□
□
□
14
Un run-time utilisé pour exécuter et accueillir les
application Android, incluant la VM Dalvik et les
librairies principales qui fournissent la fonctionnalité
Android. Cet exécutable est conçu pour être de petite taille
et pour être efficace sur les terminaux mobiles
Un framework applicatif exposant les services
systèmes à la couche application y compris “window
manager, location manager, content providers, telephony,
sensors”
Un framework d’interface utilisateur pour installer et
lancer les applications.
WY / ISI / 2014
37. Android est (en détail 3/3)
□
□
15
Un ensemble d’applications pré-installées
faisant partie de la pile logicielle
Un software développement kit (SDK) utilisé
pour créer des applications, incluant des outils,
plugins et documentation.
WY / ISI / 2014
38. Android SW Stack
16
Linux kernel (version 2.6) qui offre les services
fondamentaux : hardware drivers, process & memory
management, security, network, power management.
Il offre une couche d’abstraction entre le HW et le reste de la
pile logicielle.
WY / ISI / 2014
39. Android SW Stack
17
Android Runtime Incluant les librairies fondamentales et la
machine virtuelle Dalvik.
Ce runtime permet l’exécution des application et représente la
base du framework applicatif .
WY / ISI / 2014
40. Android SW Stack
18
Linux kernel Libraries : diverses librairies fondamentales du
lang. C/C++ :
Media Framwork : lecture audio / video
Surface manager : gestion de l’affichage
Graphics libraries (SGL & OpenGL): affichage 2D et 3D
SQLite pour le support natif des bases de données
SSL & WebKit pour la navigation sur internet avec le support
SSL
WY / ISI / 2014
41. Android SW Stack
19
Application framework fournit les classes qui seront utilisées
pour la création d’applications Android.
Représente une abstration pour les accés HW et prend en
charge la gestion de l’interface utilisateur et des ressources de
l’application.
WY / ISI / 2014
42. Android SW Stack
20
Application layer toutes les applications, native ou tierces,
sont basées sur la même API.
La couche application s’exécute sur un runtime Android en
utilisant les classes et services de fournies par l’application
framework.
WY / ISI / 2014
44. Plan
22
□
Dév. pour les terminaux mobiles
□
Présentation d’Android
□
Architecture & Introduction aux fonctions du SDK Android
□
Conduite d'un projet d'une application mobile
WY / ISI / 2014
50. Un point de départ : IHM & UX
□
Design Pattern IHM
□
28
Sites à connaître
□
http://developer.android.com
□
http://www.android-app-patterns.com/
□
http://www.androidviews.net
WY / ISI / 2014