L'OS Android de Google est une force mobile avec laquelle il faut désormais compter. Les smartphones sous Android ont rapidement atteint le sommet, et les tablettes sous Android deviennent un concurrent sérieux à l'iPad d'Apple. La nature «ouverte» d'Android a contribué à son succès, mais le manque de contrôle sur l'écosystème de l'OS de Google a favorisé l'installation d'un environnement déroutant pour les développeurs d'applications et pourrait, à terme, nuire à la plate-forme.
Une enquête réalisée par Appcelerator en janvier auprès des développeurs d'applications a montré que 88 % d'entre eux estimaient qu'Android était la plate-forme mobile la plus ouverte, et 76 % pensaient qu'elle était «la mieux placée pour être intégrée à l'avenir dans un nombre important de périphériques connectés. » Près des deux tiers des personnes interrogées considèrent qu'Android est, parmi les plateformes mobiles, celle qui offre les meilleures perspectives à long terme.
Android, combien de versions ?
Cependant, une question se pose de plus en plus : « de quel Android parle-t-on? » La popularité de l'OS mobile de Google ouvre sur un marché potentiellement lucratif pour les développeurs d'applications. Mais, pour eux, le problème est de savoir pour quel Android ils développement : un smartphone sous Android ou une tablette Android ? Pour quelle version ? Est-ce que l'application sera optimisée pour fonctionner avec différents matériels exécutant un certain Android ? Quelle plate-forme distribuera l'application ? Al Hilwa, analyste chez IDC, reconnaît que la fragmentation de la plate-forme devient un problème.
La variété des appareils et les options logicielles disponibles ajoutent à la complexité pour concevoir et tester des applications. Il devient donc plus difficile de produire une application unique qui fonctionne dans tout l'écosystème Android. Mais selon l'analyste, la vraie préoccupation est ailleurs : plutôt que de faire l'effort d'optimiser une application pour tirer parti des différents scénarios matériels, les développeurs vont répondre au plus petit dénominateur commun, ce qui finira par dégrader l'expérience globale et nuira à Android en réduisant son potentiel. Selon Al Hilwa « ce n'est pas irrémédiable, mais c'est comme demander à un pétrolier de modifier sa route, il faut une intervention ferme et durable de la part de Google pour redresser la situation. »
Une fragmentation sur plusieurs niveaux
Scott Schwarzhoff, vice-président du marketing chez Appcelerator, souligne qu'il existe plusieurs niveaux de fragmentation pour les développeurs d'applications en général. Un développeur doit faire face à la fragmentation au niveau de l'OS - Android vs iOS vs Windows Phone 7, plus la fragmentation des différentes versions d'Android en fonction de la plate-forme matérielle et du fabricant ; au niveau des compétences lors de la programmation - Java vs Objective-C vs .Net; au niveau du périphérique - smartphone vs tablette ; et au niveau de la distribution - App Store vs Android Market vs MarketPlace sans parler des plates-formes alternatives de vente d'applications Android (Amazon par exempe). « Dans ce contexte, le risque pour le développement mobile est extrêmement élevé, si un développeur ne s'arrange pas pour mieux organiser et optimiser ses équipes et pour construire une architecture mobile intégrée capable d'évoluer pour répondre aux problèmes de fragmentation évoqués, » explique-t-il.
Google a déjà plus ou moins admis que le terme «ouvert» est plus un buzz marketing qu'une culture pour Android. Il est «ouvert» par rapport à iOS d'Apple, mais ne s'ouvre pas dans le vrai sens d'un projet open source, ouvert aux ajouts de développeurs tous azimuts. Google continue d'ailleurs de contrôler le code source, comme il décide de la sortie et de la distribution des nouvelles versions. Cependant, Google doit travailler plus étroitement avec les fournisseurs de terminaux tournant sous Android et établir des contraintes matérielles minimales pour les appareils. Il doit inciter aussi à une plus grande cohérence dans la livraison des mises à jour de l'OS, de sorte que les développeurs d'applications Android n'aient pas à subir cette multiplicité d'options possibles, très déroutantes pour eux.