Applications mobile
Quels choix ?
27/01/2015
Olivier Demarez
Nantes DC
AGENDA
Les plateformes mobiles d’aujourd’hui
Applications web
Applications hybrides
Le meilleur choix ?
Applications natives
Les plateformes mobiles d’aujourd’hui
● Hétérogénéité des OS
● Hétérogénéité du matériel
● Cas particulier de Windows 8 que l’on trouve également sur des
tablettes
Octobre 2014 Netmarketshare
Différents types d’application
Mobile
browser
WEB PAGE
/
WEB CODE
MOBILE WEB
Container
natif
WEB CODE
Plugins
Device APIs
HYBRIDE
Application
native
Device APIs
NATIF
Backend
HTML
REST
JSON HTML
REST
JSON
REST
JSON
SOAP
XML
AGENDA
Les plateformes mobiles d’aujourd’hui
Applications web
Applications hybrides
Le meilleur choix ?
Applications natives
Web mobile
+ +
Build
Deploy
Technologies web
server side (jsp..)
Web browsers
Single page
application
Web mobile
Technologies / Frameworks
Client Serveur
MV
C
Foundation
Web mobile
● Avantages:
○ Technologies traditionnelles du web donc compétences largement
disponibles.
○ Directement accessible dans un navigateur (pas de store).
● Inconvénients:
○ Accès limité au matériel.
○ Pas totalement optimisé pour un usage tactile.
○ Impossible de respecter parfaitement le design spécifique de chaque
plateforme.
○ Peut poser des problèmes de performances.
● Contraintes / bonnes pratiques:
○ Design adapté à une utilisation sur smartphone ou tablette.
○ Implémentation Responsive Design / Adaptative Design.
○ Nouvelle génération d’application de type SPA. Evolution facile vers
l’hybride.
AGENDA
Les plateformes mobiles d’aujourd’hui
Applications web
Applications hybrides
Le meilleur choix ?
Applications natives
Applications hybrides
+ Codenatif
(plugins)
+ +
Build
Deploy
Single page
application
Applications hybrides
Code natif
Package natif
Applications hybrides
Technologies / Frameworks
Client Serveur
MV
C
Foundation
Plugins
Natifs
Applications hybrides
● Avantages:
○ Technologies traditionnelles du web donc compétences largement
disponibles.
○ Possibilité d’étendre le container natif par un système de plugin natif
permettant d’accéder à toutes les APIs natives.
○ Coût du multiplateforme relativement faible si peu de plugins à
développer.
● Inconvénients:
○ Nécessite de multiple compétences.
○ Un peu usine à gaz.
○ Pas totalement optimisé pour un usage tactile.
○ Impossible de respecter parfaitement le design spécifique de chaque
plateforme.
○ Peut poser des problèmes de performances.
● Contraintes / bonnes pratiques:
○ Design adapté à une utilisation sur smartphone ou tablette.
Applications hybrides
● Focus infra / déploiement
○ Le résultat d’une application hydride est une application packagée
pour chaque plateforme.
○ Cela impose d’avoir à disposition du matériel et un système pour
chaque plateforme cible.
Window 8
SDK .Net / Visual studio
Souscription programme développeur
ou entreprise
SDK Android
Android Studio
Mac OS X
Xcode
Souscription programme développeur
ou entreprise
AGENDA
Les plateformes mobiles d’aujourd’hui
Applications web
Applications hybrides
Le meilleur choix ?
Applications natives
Applications natives
Build
Deploy
C# Java
Objective-c
Swift
Applications natives
Technologies / Frameworks
Client Serveur
MV
C
Applications natives
● Avantages:
○ Permet de développer avec design respectant chaque plateforme.
○ Accès total et performant au gestures.
○ Permet d’accéder facilement au dernières nouveautés des SDK /
matériel.
● Inconvénients:
○ Nécessite de multiples compétences.
○ Nécessite autant de développements que de plateformes cibles.
○ Maintenance plus compliquée.
○ Nécessite de multiples environnements.
Synthèse comparative
Natif Web Hybride
Expérience utilisateur Excellente Bonne Bonne
Performance Excellente Moyen à bonne Moyen à bonne
Coût de développement Moyen Moyen Moyen
Coût du multiplateforme Elevé Faible Moyen
Compétences disponibles Moyen Elevé Moyen
Distribution via AppStore Oui Non Oui
Accès au matériel / au système Complet Très partiel Complet
Accès aux nouveautés des plateformes Simple Impossible Possible
Intégration dans usine de développement Compliqué Simple Compliqué
Cas particulier
70% de code commun
30% de code spécifique (l’interface utilisateur)
En C#
AGENDA
Les plateformes mobiles d’aujourd’hui
Applications web
Applications hybrides
Le meilleur choix ?
Applications natives
Le meilleur choix ?
● Il n’y a pas de meilleur choix, le choix dépend clairement du
contexte.
● les questions à se poser:
○ Application grand public ?
○ Application de gestion interne ?
○ Comment va se faire la mise à disposition ?
○ La performance est-il un critère important ?
Merci.
Des questions ?

Applications mobiles - quels choix ?

  • 1.
    Applications mobile Quels choix? 27/01/2015 Olivier Demarez Nantes DC
  • 2.
    AGENDA Les plateformes mobilesd’aujourd’hui Applications web Applications hybrides Le meilleur choix ? Applications natives
  • 3.
    Les plateformes mobilesd’aujourd’hui ● Hétérogénéité des OS ● Hétérogénéité du matériel ● Cas particulier de Windows 8 que l’on trouve également sur des tablettes Octobre 2014 Netmarketshare
  • 4.
    Différents types d’application Mobile browser WEBPAGE / WEB CODE MOBILE WEB Container natif WEB CODE Plugins Device APIs HYBRIDE Application native Device APIs NATIF Backend HTML REST JSON HTML REST JSON REST JSON SOAP XML
  • 5.
    AGENDA Les plateformes mobilesd’aujourd’hui Applications web Applications hybrides Le meilleur choix ? Applications natives
  • 6.
    Web mobile + + Build Deploy Technologiesweb server side (jsp..) Web browsers Single page application
  • 7.
    Web mobile Technologies /Frameworks Client Serveur MV C Foundation
  • 8.
    Web mobile ● Avantages: ○Technologies traditionnelles du web donc compétences largement disponibles. ○ Directement accessible dans un navigateur (pas de store). ● Inconvénients: ○ Accès limité au matériel. ○ Pas totalement optimisé pour un usage tactile. ○ Impossible de respecter parfaitement le design spécifique de chaque plateforme. ○ Peut poser des problèmes de performances. ● Contraintes / bonnes pratiques: ○ Design adapté à une utilisation sur smartphone ou tablette. ○ Implémentation Responsive Design / Adaptative Design. ○ Nouvelle génération d’application de type SPA. Evolution facile vers l’hybride.
  • 9.
    AGENDA Les plateformes mobilesd’aujourd’hui Applications web Applications hybrides Le meilleur choix ? Applications natives
  • 10.
    Applications hybrides + Codenatif (plugins) ++ Build Deploy Single page application
  • 11.
  • 12.
    Applications hybrides Technologies /Frameworks Client Serveur MV C Foundation Plugins Natifs
  • 13.
    Applications hybrides ● Avantages: ○Technologies traditionnelles du web donc compétences largement disponibles. ○ Possibilité d’étendre le container natif par un système de plugin natif permettant d’accéder à toutes les APIs natives. ○ Coût du multiplateforme relativement faible si peu de plugins à développer. ● Inconvénients: ○ Nécessite de multiple compétences. ○ Un peu usine à gaz. ○ Pas totalement optimisé pour un usage tactile. ○ Impossible de respecter parfaitement le design spécifique de chaque plateforme. ○ Peut poser des problèmes de performances. ● Contraintes / bonnes pratiques: ○ Design adapté à une utilisation sur smartphone ou tablette.
  • 14.
    Applications hybrides ● Focusinfra / déploiement ○ Le résultat d’une application hydride est une application packagée pour chaque plateforme. ○ Cela impose d’avoir à disposition du matériel et un système pour chaque plateforme cible. Window 8 SDK .Net / Visual studio Souscription programme développeur ou entreprise SDK Android Android Studio Mac OS X Xcode Souscription programme développeur ou entreprise
  • 15.
    AGENDA Les plateformes mobilesd’aujourd’hui Applications web Applications hybrides Le meilleur choix ? Applications natives
  • 16.
  • 17.
    Applications natives Technologies /Frameworks Client Serveur MV C
  • 18.
    Applications natives ● Avantages: ○Permet de développer avec design respectant chaque plateforme. ○ Accès total et performant au gestures. ○ Permet d’accéder facilement au dernières nouveautés des SDK / matériel. ● Inconvénients: ○ Nécessite de multiples compétences. ○ Nécessite autant de développements que de plateformes cibles. ○ Maintenance plus compliquée. ○ Nécessite de multiples environnements.
  • 19.
    Synthèse comparative Natif WebHybride Expérience utilisateur Excellente Bonne Bonne Performance Excellente Moyen à bonne Moyen à bonne Coût de développement Moyen Moyen Moyen Coût du multiplateforme Elevé Faible Moyen Compétences disponibles Moyen Elevé Moyen Distribution via AppStore Oui Non Oui Accès au matériel / au système Complet Très partiel Complet Accès aux nouveautés des plateformes Simple Impossible Possible Intégration dans usine de développement Compliqué Simple Compliqué
  • 20.
    Cas particulier 70% decode commun 30% de code spécifique (l’interface utilisateur) En C#
  • 21.
    AGENDA Les plateformes mobilesd’aujourd’hui Applications web Applications hybrides Le meilleur choix ? Applications natives
  • 22.
    Le meilleur choix? ● Il n’y a pas de meilleur choix, le choix dépend clairement du contexte. ● les questions à se poser: ○ Application grand public ? ○ Application de gestion interne ? ○ Comment va se faire la mise à disposition ? ○ La performance est-il un critère important ?
  • 23.

Notes de l'éditeur

  • #23 Par exemple si l’application doit passer par les stores publiques, il faut être attentif au design La mise à dispo MAM u store l’hybride peut poser des problèmes de perf Est-il nécessaire d’utiliser la plateforme de manière intensive, NFC, finder print...