-
-
Utiliser Flutter : quels avantages et inconvénients ?

Utiliser Flutter : quels avantages et inconvénients ?

Flutter, ses avantages et ses inconvénients

Qu'est-ce que Flutter ?

Flutter est un système développé par Google permettant de concevoir des applications multiplateformes pour Android, iOS ou encore Web. Il utilise un langage programmation créé par Google : le Dart. C’est un langage de programmation orientée-objet comme Swift ou Kotlin.

Flutter permet de développer 2 versions d’une application mobile (Android et iOS) en utilisant le même code source.

Pour bien comprendre l’écosystème technique actuel des applications mobiles :

  • Les applications sous Android utilisent les langages de programmation Kotlin et Java
  • Les applications sous iOS utilisent le langage de programmation d’Apple : Swift

Les applications développées en Kotlin/Java et Swift sont dites « natives ». Flutter va, depuis son code en Dart, générer une application native.

Flutter, un module de développement cross-plateforme

Avantages de la plateforme

Réduction des coûts

Flutter est une bonne solution si vous souhaitez réduire les coûts de développement de votre application mobile. En effet, au lieu d’effectuer deux développements natifs en parallèle, développer une application mobile en Flutter permet de réduire le temps de développement. Il convient cependant de bien évaluer la pertinence de ce choix en amont sur la base de plusieurs critères.

Les performances

Flutter se démarque de ses concurrents (React Native, NativeScript, IOnic) par ses performances.

En effet, Google a décidé de s’éloigner des paradigmes habituels en ayant une stratégie proche des technologies du jeu vidéo. Prenons un exemple, en comparant avec son principal concurrent : React Native, qui lui utilise le langage Javascript.

Pour React Native, tous les éléments visibles à l’écran sont appelés des composants (image, bouton etc..). Lors de la compilation en application native, le moteur va traduire chaque composant de votre interface en composant natif similaire sur Android et iOS, ayant des performances et une intégration qui peuvent parfois être assez aléatoire. Cette incertitude peut impliquer des changements à faire spécifiques pour Android et iOS, et donc, entrainer du temps de développement supplémentaire.

Pour Flutter, nous retrouvons la même idée de composants, appelés widgets. Flutter utilise un moteur graphique, comme dans un jeu vidéo, qui va créer un « canvas » (= toile) et va « dessiner » ses widgets sur cette toile. Seule cette toile sera ensuite traduite en langage natif, et non pas les widgets qui la compose.

Cette méthode permet d’assurer un comportement et des performances similaires sur Android et iOS. Le moteur de rendu de Flutter est développé en C++, qui est un langage offrant de meilleures performances que celui de React Native, développé en Javascript.

Inconvénients de la plateforme

Les performances (encore)

Aujourd’hui, Flutter est le meilleur framework de développement d’applications multiplateformes en terme de performances. Cependant, ses performances ne dépassent pas celles d’une application développée directement en langage natif. C’est un stade technique qui sera, de toute façon, quasiment impossible d’atteindre. Cet article illustre bien les limites actuelles en particulier avec l’utilisation d’animations par exemple.

Flutter est jeune

La première version alpha de Flutter date de 2017.

Pour un framework de développement, cette information a une importance capitale. Un outil jeune veut dire moins de développeurs capables de l’utiliser. Ce qui implique à son tour une communauté réduite. 

Cependant cette information est à nuancer étant donné que si on regarde les dernières informations à ce sujet, Flutter vient de dépasser iOS en nombre de tickets (source ici), ce qui signifie que la communauté grandit de jour en jour.

La communauté autour d’un langage ou d’un framework est un élément essentiel lors de la phase de développement. En cas de problème, les chances sont plus grandes pour qu’un autre développeur ait déjà rencontré ce problème et ait trouvé une solution.

Flutter, récapitulatif des ses avantages et de ses inconvénients

Flutter avec Appstud pour votre business

Chez Appstud, nous avons estimé que les avantages surpassaient largement les inconvénients.

Notre objectif est de produire des applications de la meilleure qualité possible, et nous sommes convaincus que Flutter nous permet de mieux y parvenir. De ce fait, nous formons certains de nos collaborateurs et recrutons des développeurs spécialisés dans cette technologie pour vous partager l’expérience Flutter.

Cette méthode, comme expliqué précédemment, vous permet une économie de coûts et de temps de 25% par rapport à un développement classique sur les deux plateformes mobiles, Android et iOS.

 

Vous avez une idée, Appstud vous aide à la développer !

Product thinking • Design • Développement • Acquisition • Evolution de produits
Écrit par

Ces articles pourraient également vous intéresser

Plongez dans un univers où design et durabilité se rejoignent : l’UX/UI Design au service d’un numérique durable.
73
Dribbble : bien plus qu’une simple galerie d’images. Découvrez comment cette plateforme peut transformer votre passion en opportunités !
105
Découvrez comment Apple répond à la pression réglementaire de l’Union européenne en annonçant des changements majeurs dans l’écosystème iOS.
107