Un seul code source pour développer de vraies applis mobiles sous iOS et Android : Flutter, le langage lancé par Google en 2018, fait gagner beaucoup de temps, sans concessions sur la qualité. Chez E-webcode, nous l’avons testée avec curiosité, puis adoptée avec conviction. Voici pourquoi.
Si Flutter nous a attirés au départ, c’est qu’il répondait à une difficulté récurrente des studios d’applis mobiles : le double codage sous iOS et sous Android, très chronophage lors du développement, des tests, de la maintenance et des mises à jour.
Vous faites le travail deux fois et vous n’obtenez jamais tout à fait la même chose. Un peu comme si un chef préparait son plat du jour avec des ingrédients différents cuisinés sur deux modèles de fourneaux différents.
Flutter, un code open source accessible à tous
Flutter représente donc un progrès majeur et pérenne. Il est publié et maintenu par Google, tout comme Android qui est le système le plus utilisé au monde : difficile de trouver un acteur plus légitime.
Pour autant, Flutter n’est pas un code propriétaire mais un projet open source accessible à tous. Plus de 600 contributeurs contribuent à l’enrichir. Sur le site GitHub, premier site mondial d’hébergement de codes open source, 91 000 développeurs en ont fait leur code favori.
Nous avons mené en 2018 un premier projet avec Flutter. Il s’agissait d’un Minimum Viable Product (MVP), autrement dit un prototype destiné à tester une appli avec de vrais utilisateurs. Et en effet, nous avons gagné beaucoup de temps.
Un seul développement et des applis mobiles plus performantes
Les projets qui ont suivi ont confirmé ce gain et nous avons fait de Flutter notre outil de référence. En moyenne, nous réduisons les temps de développement de 40%. Et bien entendu, ces applis iOS et Android sont aussi performantes que si elles étaient développées avec les outils habituels.
Rappelons que les applis actuelles demandent de plus en plus d’intelligence et d’autonomie par rapport aux serveurs. Elles sont de plus en plus complexes. Pourtant, leurs versions iOS et Android doivent avoir un comportement cohérent. C’est bien plus facile si elles sont issues d’un seul et même code source.
Mais au fait, pourquoi 40% de gain de temps et non 50% ? Parce qu’une appli sous Flutter continue à interagir avec les mondes iOS et Android et nécessite des modules dans ces deux langages. Par exemple, un plug-in iOS pour activer le micro d’un iPhone, ou un module Android pour acheter sur le Play Store le contenu payant d’une appli.
Des tests plus simples, des applis plus fiables
Flutter apporte un autre avantage : la simplification des tests menés pour valider les applis. Plus besoin d’un émulateur lancé par un serveur comme pour les applis iOS. Plus besoin de connecter physiquement un mobile au serveur comme pour les applis Android. Les tests sont effectués directement sur un ordinateur !
En prime, ils sont plus rapides. Imaginons qu’un test ait échoué et qu’il faille le répéter plusieurs dizaines de fois avant de comprendre ce qui se passe. Avec une grosse appli sous Android, chaque relance peut imposer plusieurs minutes d’attente. Sous Flutter, c’est immédiat.
En fin de compte, une appli sous Flutter bénéficie d’une bien meilleure couverture de test. Elle est plus fiable et ne devra pas être débuguée par la suite au prix de multiples surcoûts. Elle se fera sa place sur le marché, au lieu d’être massivement désinstallée parce qu’elle plante à la première utilisation.
Flutter, le bon outil pour 90% des applis mobiles
Flutter s’est assez étoffé en deux ans d’existence pour permettre de développer 90% des applis mobiles.
Il est parfait pour montrer et manipuler des informations, y accéder, mobiliser les périphériques du téléphone (GPS, webcam, altimètre, son…).
En revanche, il n’est pas à la hauteur des outils Microsoft pour la 3D et la réalité augmentée, présentes dans beaucoup de jeux. Ce n’est pas une faiblesse, mais un choix : Google a décidé d’axer Flutter sur les applis mobiles et s’y tient.
Enfin, précisons que « code open source » ne signifie pas « à la portée du premier venu ». Il est plus difficile de coder une appli mobile en Flutter qu’une page web. Le développeur doit se l’approprier (il n’existe pas de formation labellisée), tout en étant bien armé sur iOS et Android.
Chez E-Webcode, nous formons à Flutter les collaborateurs que nous intégrons. Nous pouvons ainsi développer des applis plus complexes, plus riches en fonctionnalités, et garantir leur bon fonctionnement. Bref, vous faire gagner du temps et de l’argent.