Panorama des
Technologies mobiles
Juillet 2021
Abdoulaye Dieng 1
Objectifs
• Connaître les principales technologies utilisées pour
développer des applications mobiles
• Savoir quelle technologie est la mieux adaptée pour un
projet
2
Sommaire
1) Navigation Web : mobile vs ordi
2) Native
3) Web app
4) PWA
5) Hybride
6) Choix
3
Navigation Web : mobile vs ordi
4
Native
présentation
• Una application native est développée en utilisant les
technologies spécifiques à la plateforme (IOS, Androïd,
Windows) choisie
• Langages
oObjective-C et Swift pour IOS
oJava et Kotlin pour Androïd
oC# pour Windows Mobile
5
Native
avantages
• Accès total à toutes les fonctionnalités du téléphone
• Profiter de la puissance de calcul du téléphone
• Performances optimales
• Navigation fluide
• Utilisation offline
• Compatibilité avec des objets connectés
6
Native
inconvénients
• Plusieurs développements (1 dev par OS)
• Compétences rares
• Coûts de développement élevés
• Distribution soumise aux exigences des stores
• Difficulté à persuader les utilisateurs à installer l’app (taille,
permissions, …)
• Évolution et maintenance coûteuses
• Contenu non indexé par les moteurs de recherche et non
« backlinkable »
7
Web app
présentation
• Une Web app est développé avec les technologies Web dans
le but d’être consultable depuis un navigateur mobile
• Langages : HTML, CSS, JavaScript
8
Web app
avantages
• Accessibilité depuis tout type de mobile (androïd, iphone,
Windows phone)
• Facilité d’accès avec un navigateur
• Technos web maîtrisées par beaucoup de développeurs
• Coûts peu élevés
• Disponibilité immédiates des modifications de l’application
• Contenu indexé par les moteurs de recherche et
« backlinkable »
9
Web app
inconvénients
• Pas installable
• Moins « user friendly » (convivial)
• Pas accès à l’environnement de l’OS
• Connexion internet obligatoire
• Ne figure pas sur les stores
10
Progressive Web app
présentation
• Une PWA est moins une technologie qu’une amélioration
progressive (« progressive enhancement ») des Web app
• Une PWA profite des nouveautés sur les navigateurs
Web notamment avec les
 Services workers : gestion du cache pour l’accès hors-ligne,
notifications push, etc?
 les fichiers manifest : app installable avec icône, …
• PWA est créé et soutenu par Google
11
Progressive Web app
avantages
• Tous les avantages d’une Web app
• installation sur le terminal
• Accessible hors ligne
• Notifications push
12
Progressive Web app
inconvénients
• Moins « user friendly » (convivial)
• Accès réduit à l’environnement de l’OS mais en constante
amélioration
• Ne figure pas sur Apple Store
13
Hybride
présentation
• Une application hybride est une alliance entre Web app et
app native
• Après leur développement avec les technologies Web
 certaines sont intégrées dans une coquille vide appelée
WebView
 d’autres sont compilées en natif pour les différents
systèmes visés
• Langages : HTML, CSS, JavaScript
• Outils
oWebView : Ionic, Angular, React, …
onatifs : React Native, Flutter, …
14
Hybride
avantages
• Réutilisation du code : écrit une fois et déployé ensuite sur
toutes les plateformes mobiles.
• Réduction du temps et du coût de développement
• Optimisation des coûts de maintenance évolutives
15
Hybride
inconvénients
• Ergonomie unique pour tous les OS
• Exploitation partielle des fonctionnalités du terminal
16
Choix d’une technologie
17
Choix de la technologie
questions à se poser
• Accès aux fonctionnalités du terminal (caméra, GPS, contact, …)
• Compétences de l’équipe de développement ?
• Accessibilité de l’application en mode offline ?
• Notifications push ?
• Sur quelle plateforme sera-t-elle disponible ?
• …
18
Références
• https://www.inflexsys.com/choisir-technologie-mobile/
• https://fr.followanalytics.com/blog/definition-application-
mobile-native/
• https://www.blogdumoderateur.com/pwa-progressive-web-
apps-dev-web-mobile/
• https://www.inflexsys.com/push-notification-ce-quil-y-a-a-
savoir/
19

Panorama des Technologies mobiles

  • 1.
  • 2.
    Objectifs • Connaître lesprincipales technologies utilisées pour développer des applications mobiles • Savoir quelle technologie est la mieux adaptée pour un projet 2
  • 3.
    Sommaire 1) Navigation Web: mobile vs ordi 2) Native 3) Web app 4) PWA 5) Hybride 6) Choix 3
  • 4.
    Navigation Web :mobile vs ordi 4
  • 5.
    Native présentation • Una applicationnative est développée en utilisant les technologies spécifiques à la plateforme (IOS, Androïd, Windows) choisie • Langages oObjective-C et Swift pour IOS oJava et Kotlin pour Androïd oC# pour Windows Mobile 5
  • 6.
    Native avantages • Accès totalà toutes les fonctionnalités du téléphone • Profiter de la puissance de calcul du téléphone • Performances optimales • Navigation fluide • Utilisation offline • Compatibilité avec des objets connectés 6
  • 7.
    Native inconvénients • Plusieurs développements(1 dev par OS) • Compétences rares • Coûts de développement élevés • Distribution soumise aux exigences des stores • Difficulté à persuader les utilisateurs à installer l’app (taille, permissions, …) • Évolution et maintenance coûteuses • Contenu non indexé par les moteurs de recherche et non « backlinkable » 7
  • 8.
    Web app présentation • UneWeb app est développé avec les technologies Web dans le but d’être consultable depuis un navigateur mobile • Langages : HTML, CSS, JavaScript 8
  • 9.
    Web app avantages • Accessibilitédepuis tout type de mobile (androïd, iphone, Windows phone) • Facilité d’accès avec un navigateur • Technos web maîtrisées par beaucoup de développeurs • Coûts peu élevés • Disponibilité immédiates des modifications de l’application • Contenu indexé par les moteurs de recherche et « backlinkable » 9
  • 10.
    Web app inconvénients • Pasinstallable • Moins « user friendly » (convivial) • Pas accès à l’environnement de l’OS • Connexion internet obligatoire • Ne figure pas sur les stores 10
  • 11.
    Progressive Web app présentation •Une PWA est moins une technologie qu’une amélioration progressive (« progressive enhancement ») des Web app • Une PWA profite des nouveautés sur les navigateurs Web notamment avec les  Services workers : gestion du cache pour l’accès hors-ligne, notifications push, etc?  les fichiers manifest : app installable avec icône, … • PWA est créé et soutenu par Google 11
  • 12.
    Progressive Web app avantages •Tous les avantages d’une Web app • installation sur le terminal • Accessible hors ligne • Notifications push 12
  • 13.
    Progressive Web app inconvénients •Moins « user friendly » (convivial) • Accès réduit à l’environnement de l’OS mais en constante amélioration • Ne figure pas sur Apple Store 13
  • 14.
    Hybride présentation • Une applicationhybride est une alliance entre Web app et app native • Après leur développement avec les technologies Web  certaines sont intégrées dans une coquille vide appelée WebView  d’autres sont compilées en natif pour les différents systèmes visés • Langages : HTML, CSS, JavaScript • Outils oWebView : Ionic, Angular, React, … onatifs : React Native, Flutter, … 14
  • 15.
    Hybride avantages • Réutilisation ducode : écrit une fois et déployé ensuite sur toutes les plateformes mobiles. • Réduction du temps et du coût de développement • Optimisation des coûts de maintenance évolutives 15
  • 16.
    Hybride inconvénients • Ergonomie uniquepour tous les OS • Exploitation partielle des fonctionnalités du terminal 16
  • 17.
  • 18.
    Choix de latechnologie questions à se poser • Accès aux fonctionnalités du terminal (caméra, GPS, contact, …) • Compétences de l’équipe de développement ? • Accessibilité de l’application en mode offline ? • Notifications push ? • Sur quelle plateforme sera-t-elle disponible ? • … 18
  • 19.
    Références • https://www.inflexsys.com/choisir-technologie-mobile/ • https://fr.followanalytics.com/blog/definition-application- mobile-native/ •https://www.blogdumoderateur.com/pwa-progressive-web- apps-dev-web-mobile/ • https://www.inflexsys.com/push-notification-ce-quil-y-a-a- savoir/ 19

Notes de l'éditeur

  • #3 https://www.inflexsys.com/choisir-technologie-mobile/ https://fr.followanalytics.com/blog/definition-application-mobile-native/
  • #13 La notification push est un message (généralement court) qui est envoyé depuis un serveur vers le terminal mobile (smartphone, tablette) des utilisateurs de l’application, qu’ils soient en train de l’utiliser ou pas. Elle a pour objectif de « déclencher une session utilisateur ou d’apporter une information instantanée* »
  • #15 https://www.blogdumoderateur.com/pwa-progressive-web-apps-dev-web-mobile/