Eddie Vassallo, est fondateur d'Entropy, un éditeur d'applications mobiles. Son équipe travaille autant sur iOS, Android, Windows Phone qu'en HTML5.
Que s'est-il passé ? Android n'est-il pas censé être une plaie pour les développeurs et leurs clients ? La plate-forme n'oblige-t-elle pas à :
- Faire la part belle au plus petit dénominateur commun. A utiliser d'anciens SDK ou des API archaïques pour fonctionner sur le plus grand nombre d'appareils.
- S'arracher les cheveux pour le design et les tests avec une centaine de tailles d'écrans, de versions de système, de caractéristiques matérielles ou de modes de saisie.
- Une audience réduite pour son application, parce que seul un faible pourcentage d'utilisateurs Android aura accès à certains applications, sur certaines appareils.
Mais les choses ont changé. Si développer pour Android reste un défi, la fragmentation, elle, n'est plus qu'un mythe. Depuis 2012, Google a fait d'énormes progrès. Certes, un large pourcentage d'utilisateurs ne bénéficie toujours de la dernière édition du système, la version 4.4 Kitkat. Google est d'ailleurs le premier à le reconnaître avec les derniers chiffres publiés sur son portail développeur :
Utilisation d'Android sur 7 jours glissants au 12 aout, 2014
A première vue, la fragmentation reste flagrante. Après tout, plus de 90% des utilisateurs iOS profitent, au quotidien, de la dernière version du système (iOS 7). Mais les développeurs se trompent de métrique. Ils devraient s'intéresser à la part d'installation des services Google Play, bien plus pertinente quand il faut concevoir une application. Pourquoi ? Parce ces services téléchargent en tâche de fond les composants nécessaires pour faire tourner les applications Android. Or 93 % des utilisateurs Android utilisent la dernière version des Services Google Play.
Mieux : Google bascule doucement des composants clés d'Android, des API et des éléments applicatifs du cœur du système vers les services Google Play. Cela permet aux développeurs de garantir à leurs applications un fonctionnement fluide sur l'ensemble des appareils reposant sur l'infrastructure Google Play. La version 5.0 de ces services est actuellement en cours de déploiement sur tous les appareils Android, de la version 2.3 Gingerbread à la version 4.4 Kitkat.
« On s'arrache beaucoup moins les cheveux »
Contrairement à l'idée reçue, les développeurs ne sont donc pas enchaînés aux anciennes API de l'OS pour assurer la compatibilité de leurs applications. Ils peuvent s'appuyer sur les derniers services Google Play. Voilà un premier argument contré. Mais qu'en est-il des différentes tailles d'écran qui obligent à multiplier les tests et compliquent le dessin de l'interface ?Un excellent billet de Russell Ivanovic, développeur iOS et Android, vient relativiser la question. Selon lui, « on s'arrache beaucoup moins les cheveux que certains l'imaginent. » La raison ? Le canevas sur lequel on peut dessiner une application Android (avec les différentes tailles d'écran) ne ressemble pas à l'horrible graphique ci-dessous :
Rapport sur la fragmentation Android, source OpenSignal 2013.
Selon Russell Ivanovic, la réelle variation de tailles d'écrans serait plus proche de ce schéma :
Un designer n'a donc pas à re-organiser son interface pour chaque taille d'écran imaginable. En utilisant judicieusement des graphismes haute-définition, et ne tenant compte que de quelques variations mineures en largeur et en hauteur, quasiment toutes les tailles d'écran peuvent être couvertes.
Donc pour en revenir au téléphone principal dans notre poche, en tant que développeurs, nous sommes ravis de ce que nous avons pu voir sur Android ces dernières années. Si l'on casse le mythe de la fragmentation, les raisons de ne pas s'engager sur Android s'évaporent rapidement. Evidemment, on adore toujours iOS. Mais développer pour Android est devenu bien trop attirant pour l'ignorer plus longtemps.
Chronique traduite de l'anglais et précédemment publiée par notre partenaire GigaOM