Apple et Google redoublent d'efforts pour que les développeurs utilisent leurs outils maison pour concevoir des applications. Après tout, ce n'est pas pour rien si les deux groupes « invitent » en Californie les développeurs du monde entier pendant une semaine. L'un des objectifs de ces conférences est de les aider à utiliser au mieux les technologies « officielles » afin de leur permettre de concevoir de meilleurs apps.
Xcode et Android Studio ont beaucoup de points en commun. On se gardera bien de les comparer précisément, on pointera juste que ce sont deux environnements de développement ultra-complets et gratuits - mais rappelons qu'Apple et Google font payer la publication d'une app sur l'App Store et Google Play.
Récemment, App Figures a publié une étude dans laquelle elle analyse entre autres les outils de développement utilisés sur les deux plateformes (lire : L'App Store moins fourni, le Play Store toujours plus garni). La chose la plus surprenante, c'est que Google est en avance sur Apple dans sa quête d'imposer son environnement de développement. En 2017, 90 % des apps sur Android étaient réalisés avec Android Studio. Un chiffre en progression de 17 point par rapport à l'année précédente. Sur iOS, Xcode n'est utilisé que dans 76 % des cas. Mais là aussi, il s'agit d'un chiffre en progression de 8 points par rapport à 2016.
Comment expliquer une telle différence ? Il y a peut-être le mode de distribution à prendre en compte. Android Studio est multi-plateforme alors que Xcode est utilisable uniquement sur macOS. Cette exclusivité a d'ailleurs été lors de la dernière décennie l'une des meilleures raisons données aux développeurs mobiles pour passer sur Mac. Apple a écoulé plusieurs centaines de milliers de machines grâce à cela. Petit bémol concernant Android toutefois, cette large adoption est quelque peu gâchée par le fait que le parc de terminaux en circulation utilise de vieilles versions d'Android.
Mais pourquoi après tout vouloir pousser les développeurs à utiliser à ce point Android Studio ou Xcode ? Les raisons sont multiples. Ces dernières années, nous avons assisté à une guerre de mouvements entre Android et iOS. Apple et Google n'ont eu de cesse de présenter de nouveaux frameworks et API pour enrichir leurs systèmes d'exploitation respectifs. Pour s'assurer que les développeurs exploitent au plus vite ces nouveautés et de la meilleure des façons, il est essentiel d'utiliser les outils proposés par les deux groupes californiens. Normalement, vous devez aussi aboutir à de meilleures performances et à des apps plus économes. Mais le facteur humain entre également en compte dans ces aspects bien entendu.
En faisant du sur-mesure sur chaque plateforme, les développeurs ont tout en mains en théorie pour faire de meilleures apps. Mais cela nécessite la maîtrise de plusieurs langages de programmation et de plusieurs environnements de développement, ainsi que de connaitre les spécificités de chaque plateforme… De loin, que ce soit pour les petites ou grosses structures, le choix du natif n'a pas que des avantages, notamment d'un point de vue économique. On peut aussi avoir l'impression d'être emprisonné dans une plateforme. Comme le montre cet article du Digital Guide de 1and1, chaque manière de faire a ses avantages et inconvénients.
Parmi les outils de développement non natifs, il y en a deux qui tirent leur épingle du jeu. Il s'agit de Cordova et d'Unity. Le premier permet de réaliser des apps pour différentes plateformes en utilisant les langages de programmation du web, alors que le second est spécialisé dans la création de jeux. Avoir des applications identiques d'une plateforme à l'autre est sans doute l'une des choses qui doit effrayer le plus Apple. Elle perd son argument de différentiation par rapport à la concurrence. Par exemple, ces derniers mois elle pousse très fort la réalité augmentée. Le management d'Apple croit pouvoir faire la différence sur ce créneau.
Un dernier exemple pour illustrer l'importance de ces enjeux. Apple devrait en toute logique présenter le projet Marzipan à la WWDC, dont l'un des grands mérites à ce que l'on dit sera de pouvoir adapter très facilement une app iPad sur Mac. Imaginez le problème pour Apple si la plupart de sa communauté de développeurs utilisait des outils incompatibles avec Marzipan…