Il y a encore deux ans, développer une application mobile se résumait à coder une application pour Iphone, véritable révolution du mobile et des places de marché.
Depuis, d’autres acteurs importants se sont également lancés sur ce marché, créant un véritable cauchemar pour les développeurs. En effet, que ce soit Apple, Google, BlackBerry, Nokia, Palm ou maintenant Microsoft, chaque plateforme possède son propre écosystème d’outils et d’APIs, obligeant les développeurs à devoir faire des choix ou à coder plusieurs fois le même produit.
Le but de tout cela, pour les entreprises derrières ces places de marché, est bien évidemment de garder les développeurs sur leur plateforme pour que leurs applications attirent plus de consommateurs. Mais du point de vue du créateur d’application, l’intérêt est, au contraire, de publier sur un maximum d’environnement afin de maximiser ses revenues.
Un langage pour les gouverner tous
Heureusement, cette demande de plus en plus importante de la communauté commence à être entendue et des solutions arrivent. Adobe l’avait compris assez rapidement en proposant la compilation d’applications IPhone depuis son système AIR … c’était sans compter sur la faculté d’Apple à verrouiller ses systèmes.
D’autres entreprises, moins importante, se sont également fait une place comme Appcelerator avec leur Titanium ou encore le projet PhoneGap. Ces produits se positionnent comme des frameworks qui permettent, à partir du même code, de créer des applications sur plusieurs plateformes.
Un parenthèse sur ces solutions : elles sont pour la plupart une extension de technologie Web (HTML5, Flash, JavaScript) ce qui montre un peu plus le rapprochement des technologies mobiles et Web, le chaînons manquant étant les WebApp, encore bien trop méconnues, mais ou là encore, Apple possède une grande longueur d’avance.
Titanium, la solution toute en un
Commençons avec Appcelerator dont le produit Titanium Mobile est surement le plus avancé sur ce sujet. Ce dernier se présente sous la forme d’un framework JavaScript qui donne accès aux APIs d’IOS et d’Android. Une fois l’application codée, le programme s’occupe, via un compilateur local ou un service en cloud, de transcoder le JavaScript en langage natif de chaque plateforme. On obtient exactement le même résultat qu’une application codée nativement. Le framework est gratuit et Appcelerator propose des formations vidéos payantes, ce qui explique la documentation limitée et une prise en main difficile.
Il est également bon de noter qu’ils proposent également un Titanium Desktop qui reprend le même principe mais pour les ordinateurs personnels sous Windows, Mac ou Linux.
PhoneGap, un navigateur dans ton application
Autre solution mais avec un fonctionnement complètement différent : PhoneGap. Le projet est open-source et supporté par une entreprise qui propose du développement pour mobile ainsi qu’un tout nouveau service de compilation en cloud.
Ici, le fonctionnement est totalement différent et se repose simplement sur le moteur WebKit embarqué sur IOS et Android. L’application ne fait que lancer un navigateur sans décoration vers un répertoire local contenant les fichiers HTML, CSS et JavaScript. Il n’y a donc pas de compilation dans ce cas. Ce fonctionnement permet de créer des applications très rapidement et sans limite, car elles sont conçues comme des sites Internet. La simplicité de la solution permet également un fonctionnement sur beaucoup plus de plateformes, on retrouve donc, en plus d’IOS et d’Android, BlackBerry, Symbian, Palm et bientôt Microsoft.
Un inconvenant découle directement de ce fonctionnement très simple, les performances sont bien moins bonnes qu’une application native et aspect visuel doit être entièrement fait à la main, produisant souvent des applications peu attractives.
Et les autres
Je ne vais pas m’étendre plus loin sur les autres solutions car je ne les connais pas assez. Il est à parier que ces produits sont l’avenir du développement mobile car même si elle n’apporte pas une réponse à toutes les problématiques - et là je pense aux jeux vidéo sur mobile - elles permettent de déployer rapidement des applications sur un maximum de médias pour un cout faible, ce qui conviendra à la majorité des développeurs mobiles.
Apple a longtemps lutté contre ces solutions, avec l’exemple le plus marquant d’Adobe, ce qui a fait douter les développeurs sur la pérennité de ces technologies. Mais depuis leur dernier SDK, le géant à la pomme autorise les applications codé depuis d’autres langages, ce qui ouvre enfin la grande porte aux développements multi-plateforme.
Posted via email from Un blog ? Pour quoi faire ? | Comment »
