En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies pour vous proposer des offres adaptées à vos centres d'intérêt, recueillir des données de statistiques et permettre le partage de pages sur les réseaux sociaux.
  • Accueil
  • Blog
  • Flutter pour des applications mobiles, faut il y aller?

Flutter pour des applications mobiles, faut il y aller?

0%
Temps de lecture : 4 minutes

Un point sur les techs actuelles

La majorité des appareils mobiles fonctionnent aujourd’hui sur iOS ou bien sur Android. Dans les deux cas, les applications mobiles utilisées sont susceptibles de se baser sur différents langages de programmation. Pour les applications natives, les plus répandues sur les smartphones, les langages spécifiques à iOS et Android sont employés pour leur élaboration. Les applications dites iOS natives sont codées avec Swift ou Objective-C, alors que Kotlin ou Java servent aux apps Android natives. Offrant la meilleure expérience utilisateur, les applications natives sont cependant plus chères à développer.

Les apps hybrides reprennent le principe des applications web et sont construites à l’aide de langages incontournables du net tels que JavaScript, HTML et CSS. Un navigateur simplifié dans l’application, la WebView, permet leur exécution. Les frameworks Cordova, Titanium ou Ionic sont de la partie pour leur conception. Il va sans dire que ces applications n’offrent pas les mêmes garanties que les applications natives. Moins performantes, elles n’assurent pas une expérience utilisateur optimale.

Enfin, les applications cross-platform tendent à tirer leur épingle du jeu ces dernières années. Des outils spécifiques permettent le développement d’applications mobiles multi-plateformes en utilisant une base de code fonctionnant aussi bien sur iOS que sur Android. Jusqu’ici, les deux technologies majeures employées dans ce domaine étaient Xamarin et React Native. Le premier, développé par Microsoft, permet de partager 90 % environ du code créé. Proposé par Facebook en 2015, le second permet de concevoir une application mobile native sur iOS et Android à l’aide d’une base de code unique écrite en JavaScript et React. 

Ce marché, visant à proposer une expérience utilisateur située à mi-chemin entre application native et hybride, à vu arriver un nouveau venu en Décembre 2018, Flutter.

Les atouts de Flutter

Consacré lui aussi au développement d’application multi-plateforme, ce framework conçu par le géant Google a le même objectif que Xamarin et React Native, à savoir de coder une seule fois des applications compatibles aussi bien sur iOS et sur Android. Pour cela, il s’appuie sur un langage maison développé par Google depuis 2011 appelé Dart.

La principale motivation de Flutter est de proposer une expérience utilisateur aussi fluide qu’une application native tout en étant une technologie cross-plateforme, déployable sur iOS et Android à partir d’un seul développement.

Pour réaliser cette prouesse technique, les ingénieurs chez Google ont tout simplement décidé d’écrire un moteur graphique de rendu indépendant de la plateforme. Ils se sont inspiré d’une industrie bien connue qui possède les mêmes problématiques: le jeu vidéo. Imaginez un jeu vidéo avec des monstres et des paysages à l’écran: les développeurs n’ont pas développés deux versions différentes de ce jeu mais ont utilisés un moteur graphique qui permet de faire fonctionner leur code et d’afficher ce monde virtuel sur différentes plateformes.

Néanmoins pour Flutter, il n’est pas question d’afficher des monstres, mais bien des Widgets: de petits composants permettant de construire une interface d’application mobile. On retrouve un panel complet de Widget pré-construits avec la possibilité pour le développeur de rajouter ses propres composants si besoin. 

Google nous propose même des variantes de ces widgets pour coller aux interfaces natives: Cuppertino qui simule au pixel près l’interface iOS et Material Design pour son propre système mobile.

Concrètement, la conception d’applications cross-platform à l’aide du langage proposé par Google permet de gagner du temps et de l’argent pour les entreprises du secteur. Un développement plus rapide des apps allié à une réduction drastique des coûts sont deux avantages cruciaux. Pour les utilisateurs, le confort est total puisque les applications mobiles créées de cette façon affichent des performances similaires à celles des applications natives destinées à l’une ou l’autre plateforme.

Un des avantages derrière Flutter vient du fait que le moteur soit indépendant de la plateforme. Google a déjà annoncé travailler sur un moteur à destination des navigateurs web, nom de code Hummingbird, qui permettra de faire fonctionner notre code Flutter sur notre navigateur web avec des performances proches d’une application bureau lourde.

Quelques limites à signaler

Comme tout système, ce nouveau framework affiche encore des limites qu’il est bon de connaître avant de se lancer dans son utilisation. Tout d’abord, il est la propriété de Google et ce mastodonte de la tech a donc toute latitude pour encourager ou freiner son développement à tout moment. Si le soutien de Google venait à baisser, le projet en serait profondément affecté. La création d’application mobile peut aussi être retardée dans le cas où un élément d’interface indispensable n’a pas été intégré à la base de widgets disponibles. Enfin, la communauté de développeurs Dart est faible, contrairement aux technologie JS. En vous lançant dans une telle technologie, vous aurez donc peu de support.

Si ce langage offre des perspectives très intéressantes, il est important de se souvenir qu’il est jeune et donc perfectible. Pour résumer, Flutter est une technologie prometteuse que vous devriez suivre. Néanmoins, attention à ne pas se lancer tête baissée dans un projet ambitieux avec cette technologie. Nous conseillons de développer ses connaissances sur le sujet, mais pour le moment de se contenter d’applications simples, et non névralgiques pour votre métier.

Laisser un commentaire