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
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
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
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
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* »