SlideShare una empresa de Scribd logo
1 de 26
DÉVELOPPEMENT MOBILE
Enseignante: Mme Haïfa Chorfi Sayari
Institut Supérieur des Etudes Technologiques
NIVEAU : 3ÈME ANNÉE LICENCE APPLIQUÉE DSI
CHAPITRE 1: INITIATION À LA PROGRAMMATION MOBILE
Introduction
2
Systèmes d’exploitation mobile
3
 Les appareils mobiles possèdent un système d’exploitation mobile qui est un
ensemble de programmes qui gère l'utilisation des capacités de l’appareil.
 4 principaux systèmes, représentant la quasi-totalité des parts de marché
 Android (Google)
 iOS (Apple)
 Windows phone (Microsoft)
 Blackberry (RIM)
 Autres
 Bada de Samsung
 Firefox OS
 MeeGo
 Tizen
 PalmWebOS
 Symbian OS de Nokia
 Ubuntu touch
Systèmes d’exploitation mobile
4
OS Société Langage de
développement
Environnement de
développement intégré EDI
Android Google Java et Android SDK
C++ et Android NDK
Android Studio
Eclipse avec le plugin ADT
(Android DevelopmentTools)
Netbeans
…
IOS Apple Swift(remplace Objective-C)
iPhoneSDK
Xcode
Windows
Phone
Microsoft C#,VB.NET
Phone SDK
Visual Studio 2010 et Expression
Blend.
Systèmes d’exploitation mobile
5
Pourquoi l’OS de Google?
6
 Au niveau des ventes de Smartphones, Android est l’écosystème n°1 sur le
segment des smartphones depuis la fin de l’année 2010 mais aussi depuis
début 2012 sur le segment des tablettes.
 Pourquoi Android ?
 Android laisse le choix du terminal : Lorsque l’on souhaite utiliser iOS,
on est obligé de faire l’acquisition d’un iPhone contrairement à Android qui
permet de choisir le smartphone parmi des dizaines disponibles sur le marché.
 Une mémoire extensible : Lors de l’achat d’un appareil sous iOS, il faut
choisir sa capacité de mémoire définitive. De 8 Go à 32 Go, elle est
inextensible. Android fait fi de ce blocage matériel en proposant un port
microSDHC sur les appareils qu’il anime.
Pourquoi l’OS de Google?
7
 Android est le plus ouvert de tous : Basé sur une plateforme
Linux, le système de Google est ouvert et libre.
 Services intégrés : Les services Google sont parfaitement intégrés
à les terminaux équipés de son OS mobile.
 Le Google Play, riche en applications gratuites : Si l’App
Store d’Apple et le Google Play ont maintenant un nombre similaire
d’applications, les versions gratuites sont plus nombreuses sur le
système mobile de Google.
Types d’application mobile
8
 Webapp
 Application native
 Application hybride
WebApp
9
 Application mobile exécutable via le navigateur internet via tous les
appareils mobiles quelque soit leur marque et leur système
d'exploitation.
 Cette application est développée avec les technologies web
classique, comme HTML5, CSS3 ou javascript.
App.ft.com walgreens.com
WebApp
10
 Avantages :
 Un seul et unique code pour les différentes plateformes
 Coût de développement moins important
 Compatible avec tous les navigateurs
 Inconvénients :
 Non accessible en mode hors connexion (sauf s’il y a une mise
en cache du site)
 Ne peut pas accéder aux applications natives du mobile (GPS,
appareil photo…)
 Pas adapté aux traitements lourds (réalité augmentée, 3D, etc.)
 Difficulté d'intégrer un module de payement pour les services
offerts
Application native
11
 Application que l'on télécharge et que l'on installe sur son
Smartphone ou sur sa tablette via des magasins d'applications.
 Cette application est développée pour un des systèmes
d'exploitation utilisé par les Smartphones ou tablettes.
 Elle est développée avec un langage spécifiques aux différents
systèmes d'exploitation
Instagram WhatsApp
Application native
12
 Avantages :
 Accessibilité de l’application hors connexion
 Bonne performance et rapidité
 Meilleure expérience utilisateur
 Meilleur référencement dut aux téléchargements sur les plateformes
comme l’App Store ou le Play Store.
 Inconvénients :
 Pas la même application sur les différentes plateformes (Apple,
Android,Windows Phone, BlackBerry) ;
 Coût de développement important ;
 Problème de compatibilité après les mises à jour.
Application hybride
13
 Mélange d’application native et de Web App, vous bénéficiez des
avantages des applications natives sans développer l’intégralité du
produit dans le langage de chaque plateforme.
 Elle combine des éléments HTML5 sous forme de webApp et des
éléments de l'application native.
 Le développement d'application hybride repose sur des passerelles
natives (phonegap/Cordova,Trigger.io, sencha space) , qui
permettent de créer une application indépendante à partir de pages
webs.
Banana Republic BBC Olympics
Application hybride
14
 Avantages :
 Un seul et unique code pour les différentes plateformes
 Coût de développement moins important
 Accessibilité direct de l’application hors connexion
 Disponibilité de l'application mobile sur les stores (Google Play,
Apple Store)
 Inconvénients:
 Performance de l'application par rapport à un développement
natif
 Toutes les fonctionnalités des appareils ne sont pas exploitables
 Problème de validation des applications par les stores
Qu’est-ce qu’Android ?
15
 Android est un système d’exploitation mobile:
orienté dispositif mobiles : il s’agit donc d’un
ensemble de logiciels qui sert d’interface entre le
matériel (Tablette, smartphone, netbook,
télévision, embarqué) et les logiciels applicatifs.
open source : disponibilité du code, importante
communauté d’utilisateurs.
basé sur le noyau Linux
Versions d’Android
16
 Les versions se succèdent rapidement et les changements qui les
accompagnent sont souvent conséquents en termes de nouvelles
fonctionnalités et d’améliorations
 Dernière version 8.0 (Oreo : Version sortie le 21 août 2017.)
http://www.dreamcatchercarriage.com/cool-drag-drop-android-7-0-nougat-features/
Fonctionnalités d’Android
17
 Android fournit un certain nombre de fonctionnalités pour vous
aider à développer des applications :
 Stockage : Vous pouvez packager des fichiers de données
dans une application, pour y stocker ce qui ne changera jamais
– les icônes ou les fichiers d’aide, par exemple.
 Réseau : Les terminaux Android sont généralement conçus
pour être utilisés avec Internet, via un support de
communication quelconque..
 Multimédia : Les terminaux Android permettent
d’enregistrer et de jouer de la musique et de la vidéo.
Fonctionnalités d’Android
18
 GPS : Les fournisseurs de positionnement, comme GPS,
permettent d’indiquer aux applications où se trouve le
terminal. Il vous est alors possible d’afficher des cartes ou
d’utiliser ces données géographiques pour retrouver la trace
du terminal s’il a été volé, par exemple.
 Services téléphoniques : Évidemment, les terminaux
Android sont généralement des téléphones, ce qui permet à
vos programmes de passer des appels, d’envoyer et de
recevoir des SMS et de réaliser tout ce que vous êtes en droit
d’attendre d’une technologie téléphonique moderne.
Contraintes
19
 Pour vos développements, on doit garder à l'esprit que les
appareils mobiles ont :
 Une puissance processeur plus faible
 Une RAM limitée
 Des capacités de stockage permanent limitées
 De petits écrans avec de faibles résolutions
 Des coûts élevés de transfert de données
 Des taux de transfert plus lents avec une latence élevée
 Des connexions réseau moins fiables
 Des batteries à autonomie limitée
Architecture d’Android
20
Architecture d’Android
21
Offre les services systèmes : gestion de la
mémoire , gestion processus, sécurité, réseau,
pilotes de matériel
Offre les fonctionnalités de la bibliothèque Java
standard et la machine virtuelle ART (Android
RunTime, remplaçant Dalvik officiellement depuis la
version 50 en 2014)
Linux Kernel
HAL
fournit des interfaces standard qui exposent les
fonctionnalités matérielles du périphérique au
frameworkAPI Java de niveau supérieur.
Android Runime
Architecture d’Android
22
fournissent un accès direct aux ressources du système.
•SurfaceManager: permet l'accès au sous-système d'affichage.
•Media Framework : lecture audio /vidéo
•SQLite. Base de données légère et puissante.
•OpenGL et SGL : Bibliothèques graphiques 3D et 2D.
•FreeType : Rendu des polices de caractères.
•SSL &WebKit : Moteur de rendu de pages Internet.
le courrier électronique, la messagerie SMS, les
calendriers, la navigation sur Internet, les contacts et ...
Les applications fonctionnent à la fois comme des
applications pour les utilisateurs et pour fournir des
fonctionnalités clés auxquelles les développeurs peuvent
accéder depuis leur propre application
Bibliothèques natives
C/C++
API Java fournit des classes qui seront utilisées pour la création
d’applicationsAndroid (gestion des fenêtre, téléphonie, ..).
Applications
Environnement de développement
23
 Langage de développement
 Langage Java etAndroid SDK
 C++ et Android NDK

 Environnement de développement Intégré (EDI)
 Android Studio
 Eclipse avec le pluginADT (Android DevelopmentTools)
 Netbeans
 …
Développement de l’application
24
1. Obtention des .class
2. Conversion des .class en .dex (du bytecode en DVM code)
3. Génération de l'apk (Packaging), Android Package file : Les applications
doivent être signées pour être déployées (pas nécessaire en
développement)
4. Téléchargement vers émulateur ou mobile pour l’exécution : il suffit
de redémarrer l’application via Android Studio pour qu’elle se recharge
dans le terminal.
Développement de l’application
25
Emulateur
26

Más contenido relacionado

La actualidad más candente

La actualidad más candente (11)

Initiation Android Niveau Débutant
Initiation Android Niveau DébutantInitiation Android Niveau Débutant
Initiation Android Niveau Débutant
 
Niji mobile factory - prevention application mobile android11-i os14- 06-2020
Niji   mobile factory - prevention application mobile android11-i os14- 06-2020Niji   mobile factory - prevention application mobile android11-i os14- 06-2020
Niji mobile factory - prevention application mobile android11-i os14- 06-2020
 
Plateformes de développement d’applications mobiles
Plateformes de développement d’applications mobilesPlateformes de développement d’applications mobiles
Plateformes de développement d’applications mobiles
 
Niji rapport de prévention 2021 - i os 15
Niji   rapport de prévention 2021 - i os 15Niji   rapport de prévention 2021 - i os 15
Niji rapport de prévention 2021 - i os 15
 
Framework XPlatform Mobile
Framework XPlatform MobileFramework XPlatform Mobile
Framework XPlatform Mobile
 
Présentation et Initiative pour le développement Android
Présentation et Initiative pour le développement AndroidPrésentation et Initiative pour le développement Android
Présentation et Initiative pour le développement Android
 
Les Systèmes d'exploitation mobile
Les Systèmes d'exploitation mobileLes Systèmes d'exploitation mobile
Les Systèmes d'exploitation mobile
 
Niji x mobile mots flash
Niji x mobile   mots flashNiji x mobile   mots flash
Niji x mobile mots flash
 
Intro Android
Intro AndroidIntro Android
Intro Android
 
Quel type de système d'exploitation mobile est-il préférable d'utiliser du po...
Quel type de système d'exploitation mobile est-il préférable d'utiliser du po...Quel type de système d'exploitation mobile est-il préférable d'utiliser du po...
Quel type de système d'exploitation mobile est-il préférable d'utiliser du po...
 
Développement d'applications mobiles
Développement d'applications mobilesDéveloppement d'applications mobiles
Développement d'applications mobiles
 

Similar a Ch1. Développement mobile

Developpement mobile vs open source
Developpement mobile vs open sourceDeveloppement mobile vs open source
Developpement mobile vs open source
Korteby Farouk
 
chapitre-1-introduction-plateforme-android (2).pdf
chapitre-1-introduction-plateforme-android (2).pdfchapitre-1-introduction-plateforme-android (2).pdf
chapitre-1-introduction-plateforme-android (2).pdf
olfaharrabi2
 
Workshop android
Workshop androidWorkshop android
Workshop android
'Med Douik
 

Similar a Ch1. Développement mobile (20)

Chapitre 1 android
Chapitre 1 androidChapitre 1 android
Chapitre 1 android
 
Environnement Android.pdf
Environnement Android.pdfEnvironnement Android.pdf
Environnement Android.pdf
 
Hackathon Android Abidjan
Hackathon Android  AbidjanHackathon Android  Abidjan
Hackathon Android Abidjan
 
Windows Phone 8 for Business - Developer Talks
Windows Phone 8 for Business - Developer TalksWindows Phone 8 for Business - Developer Talks
Windows Phone 8 for Business - Developer Talks
 
Chapitre 4 sem
Chapitre 4 semChapitre 4 sem
Chapitre 4 sem
 
Android
AndroidAndroid
Android
 
Programmation sous Android
Programmation sous AndroidProgrammation sous Android
Programmation sous Android
 
Choisir sa plateforme de développement mobile
Choisir sa plateforme de développement mobileChoisir sa plateforme de développement mobile
Choisir sa plateforme de développement mobile
 
Android
AndroidAndroid
Android
 
1 tours horizon
1 tours horizon1 tours horizon
1 tours horizon
 
Hello droid
Hello droidHello droid
Hello droid
 
introAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdfintroAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdf
 
Introduction_Android_-_Complet.pdf
Introduction_Android_-_Complet.pdfIntroduction_Android_-_Complet.pdf
Introduction_Android_-_Complet.pdf
 
Tech conf1 développement_natif_applications_mobiles
Tech conf1 développement_natif_applications_mobilesTech conf1 développement_natif_applications_mobiles
Tech conf1 développement_natif_applications_mobiles
 
Developpement mobile vs open source
Developpement mobile vs open sourceDeveloppement mobile vs open source
Developpement mobile vs open source
 
Tk04 Iphone Vs Android Fr
Tk04 Iphone Vs Android FrTk04 Iphone Vs Android Fr
Tk04 Iphone Vs Android Fr
 
chapitre-1-introduction-plateforme-android (2).pdf
chapitre-1-introduction-plateforme-android (2).pdfchapitre-1-introduction-plateforme-android (2).pdf
chapitre-1-introduction-plateforme-android (2).pdf
 
Android introvf
Android introvfAndroid introvf
Android introvf
 
Workshop android
Workshop androidWorkshop android
Workshop android
 
Passage aux applications mobiles
Passage aux applications mobilesPassage aux applications mobiles
Passage aux applications mobiles
 

Ch1. Développement mobile

  • 1. DÉVELOPPEMENT MOBILE Enseignante: Mme Haïfa Chorfi Sayari Institut Supérieur des Etudes Technologiques NIVEAU : 3ÈME ANNÉE LICENCE APPLIQUÉE DSI CHAPITRE 1: INITIATION À LA PROGRAMMATION MOBILE
  • 3. Systèmes d’exploitation mobile 3  Les appareils mobiles possèdent un système d’exploitation mobile qui est un ensemble de programmes qui gère l'utilisation des capacités de l’appareil.  4 principaux systèmes, représentant la quasi-totalité des parts de marché  Android (Google)  iOS (Apple)  Windows phone (Microsoft)  Blackberry (RIM)  Autres  Bada de Samsung  Firefox OS  MeeGo  Tizen  PalmWebOS  Symbian OS de Nokia  Ubuntu touch
  • 4. Systèmes d’exploitation mobile 4 OS Société Langage de développement Environnement de développement intégré EDI Android Google Java et Android SDK C++ et Android NDK Android Studio Eclipse avec le plugin ADT (Android DevelopmentTools) Netbeans … IOS Apple Swift(remplace Objective-C) iPhoneSDK Xcode Windows Phone Microsoft C#,VB.NET Phone SDK Visual Studio 2010 et Expression Blend.
  • 6. Pourquoi l’OS de Google? 6  Au niveau des ventes de Smartphones, Android est l’écosystème n°1 sur le segment des smartphones depuis la fin de l’année 2010 mais aussi depuis début 2012 sur le segment des tablettes.  Pourquoi Android ?  Android laisse le choix du terminal : Lorsque l’on souhaite utiliser iOS, on est obligé de faire l’acquisition d’un iPhone contrairement à Android qui permet de choisir le smartphone parmi des dizaines disponibles sur le marché.  Une mémoire extensible : Lors de l’achat d’un appareil sous iOS, il faut choisir sa capacité de mémoire définitive. De 8 Go à 32 Go, elle est inextensible. Android fait fi de ce blocage matériel en proposant un port microSDHC sur les appareils qu’il anime.
  • 7. Pourquoi l’OS de Google? 7  Android est le plus ouvert de tous : Basé sur une plateforme Linux, le système de Google est ouvert et libre.  Services intégrés : Les services Google sont parfaitement intégrés à les terminaux équipés de son OS mobile.  Le Google Play, riche en applications gratuites : Si l’App Store d’Apple et le Google Play ont maintenant un nombre similaire d’applications, les versions gratuites sont plus nombreuses sur le système mobile de Google.
  • 8. Types d’application mobile 8  Webapp  Application native  Application hybride
  • 9. WebApp 9  Application mobile exécutable via le navigateur internet via tous les appareils mobiles quelque soit leur marque et leur système d'exploitation.  Cette application est développée avec les technologies web classique, comme HTML5, CSS3 ou javascript. App.ft.com walgreens.com
  • 10. WebApp 10  Avantages :  Un seul et unique code pour les différentes plateformes  Coût de développement moins important  Compatible avec tous les navigateurs  Inconvénients :  Non accessible en mode hors connexion (sauf s’il y a une mise en cache du site)  Ne peut pas accéder aux applications natives du mobile (GPS, appareil photo…)  Pas adapté aux traitements lourds (réalité augmentée, 3D, etc.)  Difficulté d'intégrer un module de payement pour les services offerts
  • 11. Application native 11  Application que l'on télécharge et que l'on installe sur son Smartphone ou sur sa tablette via des magasins d'applications.  Cette application est développée pour un des systèmes d'exploitation utilisé par les Smartphones ou tablettes.  Elle est développée avec un langage spécifiques aux différents systèmes d'exploitation Instagram WhatsApp
  • 12. Application native 12  Avantages :  Accessibilité de l’application hors connexion  Bonne performance et rapidité  Meilleure expérience utilisateur  Meilleur référencement dut aux téléchargements sur les plateformes comme l’App Store ou le Play Store.  Inconvénients :  Pas la même application sur les différentes plateformes (Apple, Android,Windows Phone, BlackBerry) ;  Coût de développement important ;  Problème de compatibilité après les mises à jour.
  • 13. Application hybride 13  Mélange d’application native et de Web App, vous bénéficiez des avantages des applications natives sans développer l’intégralité du produit dans le langage de chaque plateforme.  Elle combine des éléments HTML5 sous forme de webApp et des éléments de l'application native.  Le développement d'application hybride repose sur des passerelles natives (phonegap/Cordova,Trigger.io, sencha space) , qui permettent de créer une application indépendante à partir de pages webs. Banana Republic BBC Olympics
  • 14. Application hybride 14  Avantages :  Un seul et unique code pour les différentes plateformes  Coût de développement moins important  Accessibilité direct de l’application hors connexion  Disponibilité de l'application mobile sur les stores (Google Play, Apple Store)  Inconvénients:  Performance de l'application par rapport à un développement natif  Toutes les fonctionnalités des appareils ne sont pas exploitables  Problème de validation des applications par les stores
  • 15. Qu’est-ce qu’Android ? 15  Android est un système d’exploitation mobile: orienté dispositif mobiles : il s’agit donc d’un ensemble de logiciels qui sert d’interface entre le matériel (Tablette, smartphone, netbook, télévision, embarqué) et les logiciels applicatifs. open source : disponibilité du code, importante communauté d’utilisateurs. basé sur le noyau Linux
  • 16. Versions d’Android 16  Les versions se succèdent rapidement et les changements qui les accompagnent sont souvent conséquents en termes de nouvelles fonctionnalités et d’améliorations  Dernière version 8.0 (Oreo : Version sortie le 21 août 2017.) http://www.dreamcatchercarriage.com/cool-drag-drop-android-7-0-nougat-features/
  • 17. Fonctionnalités d’Android 17  Android fournit un certain nombre de fonctionnalités pour vous aider à développer des applications :  Stockage : Vous pouvez packager des fichiers de données dans une application, pour y stocker ce qui ne changera jamais – les icônes ou les fichiers d’aide, par exemple.  Réseau : Les terminaux Android sont généralement conçus pour être utilisés avec Internet, via un support de communication quelconque..  Multimédia : Les terminaux Android permettent d’enregistrer et de jouer de la musique et de la vidéo.
  • 18. Fonctionnalités d’Android 18  GPS : Les fournisseurs de positionnement, comme GPS, permettent d’indiquer aux applications où se trouve le terminal. Il vous est alors possible d’afficher des cartes ou d’utiliser ces données géographiques pour retrouver la trace du terminal s’il a été volé, par exemple.  Services téléphoniques : Évidemment, les terminaux Android sont généralement des téléphones, ce qui permet à vos programmes de passer des appels, d’envoyer et de recevoir des SMS et de réaliser tout ce que vous êtes en droit d’attendre d’une technologie téléphonique moderne.
  • 19. Contraintes 19  Pour vos développements, on doit garder à l'esprit que les appareils mobiles ont :  Une puissance processeur plus faible  Une RAM limitée  Des capacités de stockage permanent limitées  De petits écrans avec de faibles résolutions  Des coûts élevés de transfert de données  Des taux de transfert plus lents avec une latence élevée  Des connexions réseau moins fiables  Des batteries à autonomie limitée
  • 21. Architecture d’Android 21 Offre les services systèmes : gestion de la mémoire , gestion processus, sécurité, réseau, pilotes de matériel Offre les fonctionnalités de la bibliothèque Java standard et la machine virtuelle ART (Android RunTime, remplaçant Dalvik officiellement depuis la version 50 en 2014) Linux Kernel HAL fournit des interfaces standard qui exposent les fonctionnalités matérielles du périphérique au frameworkAPI Java de niveau supérieur. Android Runime
  • 22. Architecture d’Android 22 fournissent un accès direct aux ressources du système. •SurfaceManager: permet l'accès au sous-système d'affichage. •Media Framework : lecture audio /vidéo •SQLite. Base de données légère et puissante. •OpenGL et SGL : Bibliothèques graphiques 3D et 2D. •FreeType : Rendu des polices de caractères. •SSL &WebKit : Moteur de rendu de pages Internet. le courrier électronique, la messagerie SMS, les calendriers, la navigation sur Internet, les contacts et ... Les applications fonctionnent à la fois comme des applications pour les utilisateurs et pour fournir des fonctionnalités clés auxquelles les développeurs peuvent accéder depuis leur propre application Bibliothèques natives C/C++ API Java fournit des classes qui seront utilisées pour la création d’applicationsAndroid (gestion des fenêtre, téléphonie, ..). Applications
  • 23. Environnement de développement 23  Langage de développement  Langage Java etAndroid SDK  C++ et Android NDK   Environnement de développement Intégré (EDI)  Android Studio  Eclipse avec le pluginADT (Android DevelopmentTools)  Netbeans  …
  • 24. Développement de l’application 24 1. Obtention des .class 2. Conversion des .class en .dex (du bytecode en DVM code) 3. Génération de l'apk (Packaging), Android Package file : Les applications doivent être signées pour être déployées (pas nécessaire en développement) 4. Téléchargement vers émulateur ou mobile pour l’exécution : il suffit de redémarrer l’application via Android Studio pour qu’elle se recharge dans le terminal.