Applications mobiles - quels choix ?

23
Applications mobile Quels choix ? 27/01/2015 Olivier Demarez Nantes DC

Transcript of Applications mobiles - quels choix ?

Applications mobileQuels 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

HTMLREST

JSON HTMLREST

JSONREST

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 natifPackage 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# JavaObjective-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 ?