Qu’est-ce que Flutter, l’outil permettant de créer des applications Android et iOS ?

 Vous ne le savez peut-être pas, mais les applications que vous téléchargez sur le Google Play ont pu être conçues de nombreuses manières différentes.

La plus connue, et la plus répandue, est une application dite native utilisant le SDK fourni par Google. L’avantage de cette solution est d’offrir les meilleures performances, tout en utilisant l’intégralité des capacités d’Android. Elle a toutefois un inconvénient majeur : son coût. Imaginons qu’un service soit également disponible sur iOS, il va falloir développer une deuxième application identique. L’entreprise doit alors recruter et gérer deux équipes, qui, pour simplifier, vont développer la même chose une deuxième fois. En plus de cela, il faudra exécuter de nombreux tests pour s’assurer que le comportement est bien celui souhaité sur les deux plateformes.

Si le choix du natif est incontestablement le meilleur, l’idée d’utiliser des frameworks multiplateforme a rapidement émergé. Les entreprises y voient un formidable moyen pour baisser les coûts de développement, tout en essayant de coller au mieux aux deux plateformes. Jusqu’à présent, différentes solutions se sont ainsi livré bataille.

La plus simple qui vient à l’esprit est de partir sur du Web, puisqu’elle est logiquement compatible avec toutes les plateformes. Ce choix séduisant sur le papier l’est un peu moins dans les faits, puisque les performances ne sont pas optimales. Par ailleurs, toutes les APIs ne sont pas nécessairement disponibles et les développeurs doivent tant bien que mal gérer les différentes versions des WebView (le composant interne affichant des pages web).

LES APPLICATIONS MULTIPLATEFORME

D’autres solutions, comme React Native, propulsée par Facebook, essaient de satisfaire les deux mondes, en partant sur un langage du Web (le JavaScript) et en utilisant les vues natives d’Android et d’iOS. Bien que l’expérience soit très nettement supérieure, ces applications ne sont toujours pas natives. Cela veut dire qu’au lieu d’avoir une application optimisée pour le téléphone, le code sera interprété au fur et à mesure de son exécution par l’utilisateur.



Commentaires