Pour savoir où on va, il faut savoir d'où l'on vient

Vous avez
une question ?
Un projet ?

Contactez nous !
 

Contactez-nous

Vous avez une question ? un projet ? 
Vous souhaitez plus d'informations sur un produit ? sur notre offre ? 
Contactez-nous, on vous répond sous 4H.

retour

Le "cross-platform"

Le "cross-platform"

Principe

Il faut veiller à ce que le site mobile et/ou l’application soit compatible avec les différents OS disponibles sur le marché. Sur terminaux mobiles, à chaque OS correspond un langage, des règles de compatibilité, un SDK (kit de développeur) et un processus de distribution spécifique... Les solutions cross-platform open source (aussi appelées multi- plateformes) telles que Titanium ou PhoneGap, visent à répondre à la problématique de l’absence de standards de développement dans le monde du mobile.

Screenshot from 2015-04-23 14:22:47

Ergonomie et design

Screenshot from 2015-04-23 14:24:07
Et l’expérience utilisateur ?
  • Malgré les écarts d’apparence parfois constatés entre des applications iOS et Android les applications cross-platforms peuvent l’être avec une seule           ergonomie et design
  • Les ergonomies mobiles et tactiles sont encore très variées mais des principes sont devenus universels:
    • Un large dénominateur commun existe entre tous les OS:
      • Structure de mise en page
      • Gestuelles
      • Taille des zones cibles
      • Organisation des contenus
      • Principes de boutons, onglets, transitions, guides visuels
    • Les grands principes d’ergonomie évoqués dans ce guide sont également tous « cross-platform »
  • Une charte graphique neutre peut également être choisie:
    • Ni stylé iOS, ni Android, ni Window Phone
    • Des grandes tendances se dégagent entre ces OS
    • Certaines librairies / framework ont fait leur preuve : sencha, jquery
    • Mais le mieux reste de définir soit même en CSS3 sa propre charte !
Exemples d’ergonomies cross-platform : Facebook et Allociné

Screenshot from 2015-04-23 14:28:13
Développements et solutions cross-platform : Phonegap et Titanium

Part de spécifique vs tronc commun
  • La promesse :
    • Un seul code
    • « n » plateformes cibles
    • Simple à maintenir et faire évoluer
  • En pratique :
    Screenshot from 2015-04-23 14:32:32
    • Des technos web : faciles à prendre en main
    • Un tronc commun (80% du code)
    • Des adaptations à faire pour chaque plateforme cible : gestion du bouton retour pour Android et Windows Phone, Push de notifications...
  • Estimation de charge de développement:
    • Si le développement d’une appli native nécessite « Y », le développement de la même appli en natif pour « n » OS coutera approximativement « n x Y »
    • Le même développement en cross-platform coutera entre « (n x Y) / n » et « (n x Y) / (n / 2) » selon les spécificités des fonctionnalités utilisées (ex: calibrage du gyroscope, utilisation de la caméra, etc.)
    • Autrement dit, le cross-platform est financièrement intéressant au-delà du deuxième OS, mais dès le départ il assure une bonne pérennité et maintenabilité du code
Screenshot from 2015-04-23 14:34:33
Screenshot from 2015-04-23 14:35:26
Les tests cross-platform : communs et particuliers
  • Des montages et développements testés sur navigateur web
    • Pour que les tests sur matériel ne soient qu’une validation
  • Des tests sur simulateurs
    • Pour une plus grande simplicité de débogage et de déploiement
  • Des tests sur matériel
    • A chaque version il faut générer l’application pour chaque OS...
    • Croisements OS, versions et terminaux avec ciblage pragmatique
    • Tests unitaires sur terminaux durant la phase de développement
  • Des tests « on the fly » pour le client (TestFlightApp pour iOS, dépôt web pour Android...)
    • Pour éviter l’effet tunnel

Retours d'expérience techniques

PhoneGap (Apache cordova)
  • Des « - »
    • Des interfaces non-natives, privilégier des interfaces uniformes entre les OS
    • Se méfier des librairies graphiques (type jQuery Mobile) dont il est difficile de sortir.
    • Mieux vaux s’en passer et faire un montage et une création graphique dédiée
    • Un outil très complet, mais bien sûr en cours de développement. De nouvelles fonctionnalités sont supportées au fur et à mesure
  • Des « + »
    • 7 plateformes supportées : un gain de temps considérable
    • Une prise en main rapide : développement JS, HTML5, CSS3
    • Une grande liberté : plugins, JS, etc.
    • Outil « PhoneGap Build » qui peut se charger de la génération des applis (mais le code est dans le cloud...)
Titanium
  • Des « - »
    • Seulement 2 plateformes supportées, mais les principales : iOS, Android
    • Un manque d’outil de gestion d’interface/layout
    • Des mises à jour qui peuvent impacter lourdement les développements (une
    • application développée avec Titanium 1.5 ne compilera pas sous Titanium 2.0)
    • La documentation...
  • Des « + »
    • Des interfaces natives
    • De nombreuses fonctionnalités gérées par le SDK (Push, intégration Facebook, etc.)
    • Une communauté active et des plugins