Flutter : un projet open source qui supporte la construction d'applications mobiles 2D multiplateformes
Pour iOS et Android

Le , par Michael Guilloux, Chroniqueur Actualités
Flutter est un projet open source encore à ses débuts et qui est développé en majorité par des ingénieurs de Google. Dans une FAQ dédiée au projet, il lui est reconnu de donner aux développeurs « un moyen facile et productif pour créer et déployer des applications mobiles multiplateformes de haute performance, à la fois sur Android et iOS ».

Flutter se distingue également des autres options pour la création d’applications mobiles multiplateformes. Il n’utilise ni WebView ni les widgets OEM livrés avec les appareils. Il repose plutôt sur son propre moteur de rendu que ses développeurs estiment « de haute performance pour dessiner des widgets ».

Il dispose de trois composantes principales. Flutter fourni d’abord un moteur de rendu 2D orienté mobile qui offre en plus un support pour le texte. Il vient aussi avec un framework de style fonctionnel réactif. Inspiré par React, ce framework est toutefois optionnel, laissant aux développeurs la possibilité d’utiliser un autre framework. Il est également conçu en couches de sorte que les développeurs puissent choisir d’utiliser uniquement des parties du framework. Flutter fournit encore un ensemble de widgets Material Design, des bibliothèques, des outils et un plug-in pour Atom. À l’instar du framework, les widgets sont optionnels, ce qui signifie que les développeurs pourront également utiliser leurs propres widgets. Flutter est aussi conçu pour permettre aux développeurs de créer facilement leurs propres widgets, ou de personnaliser les modèles existants.

Le projet est construit avec les langages C, C ++ et Dart. Si le framework et les widgets sont écrits avec le langage Dart, le framework graphique sous-jacent et la machine virtuelle Dart ont été implémentés en C/C++, d’après la FAQ sur le projet. Les développeurs du projet justifient le choix de Dart pour le framework par le fait que non seulement il supporte des scripts simples, mais encore il est facilement évolutif pour les applications riches en fonctionnalités. C’est aussi un langage familier pour les développeurs JavaScript, Java et C#, qui permet encore de répondre à la nécessité d’une exécution rapide sur iOS.

Flutter repose aussi sur le moteur de rendu 2D Skia, le système de rendu de texte de Blink, ainsi que sur le système de communication interprocessus (IPC) de Mojo. À travers le système IPC de Mojo, Flutter permet aux développeurs d’accéder à tout service ou API fournis par le système d’exploitation hôte. De manière plus générale, ce système de communication interprocessus permet d’assurer l’interopérabilité entre le code de l’application Flutter et le système d’exploitation hôte.

Flutter peut être utilisé à l’intérieur des applications natives Android et iOS existantes, et les applications développées peuvent être déployées via Apple App Store ou Google Play Store. Toutefois, l’équipe projet envisage de fournir des outils pour générer facilement des fichiers .ipa et .apk (extensions respectives pour les fichiers d’applications iPod/iPhone et Android, dans un ordinateur).

Sur Android, le code C/C++ est compilé avec le kit de développement natif (NDK) Android. La machine virtuelle Dart, sur laquelle la majorité du code du framework et de l’application est exécuté, génère alors un code natif compilé à la volée. Sur iOS, le code est traduit en code natif avec LLVM par compilation anticipée.

Les applications Flutter tournent sous Android Jelly Bean 4.1.x et iOS 5, ainsi que les versions plus récentes des deux systèmes. Une variété de tablettes et téléphones de différentes gammes sont actuellement testés afin de garantir une compatibilité avec les appareils. Ces applications peuvent être développées sur Linux et Mac. Un support pour Windows est également prévu.

Sources : GitHub, FAQ Flutter

Et vous ?

Utilisez-vous des frameworks de développement mobile multiplateforme ? Si oui, lesquels et pourquoi ? Que pensez-vous de Flutter ?

Voir aussi

Forum Mobiles


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse Signaler un problème

Avatar de htoukour htoukour - Membre régulier https://www.developpez.com
le 17/11/2015 à 13:39
Un outils de plus qui va faciliter aux debutants la creation des applis pour android et iOS.
Avatar de Stéphane le calme Stéphane le calme - Chroniqueur Actualités https://www.developpez.com
le 24/06/2017 à 23:50
Un développeur donne des raisons qui peuvent justifier l'utilisation de Flutter,
le framework de Google pour créer des applications natives iOS et Android

Il y a deux ans, Google a annoncé Flutter, un projet open source que ses ingénieurs ont présenté dans une FAQ dédiée comme « un moyen facile et productif pour créer et déployer des applications mobiles multiplateformes de haute performance, à la fois sur Android et iOS ». Google a récemment annoncé son nouveau framework permet de créer des applications mobiles natives qui fonctionnent sur Android, iOS et le nouveau système d'exploitation Fuchsia de Google.

David Ford, un développeur logiciel, s’est laissé aller à énoncer quelques raisons qui, selon lui, sont très intéressantes à propos de ce framework :
  1. Son architecture est presque similaire à celle de React, un point positif pour ceux qui, comme David, aiment React ;
  2. Flutter est basé sur Dart, un langage de programmation moderne (développé par Google) qui est très facile à apprendre si vous connaissez déjà Java ou JavaScript. Dart a une vérification facultative du type statique. Dart peut également se compiler sur JavaScript. En fait, Dart a d'abord été conçu comme un langage de compilation JavaScript. Et il y a une machine virtuelle Dart. Vous pouvez donc utiliser Dart pour les applications côté serveur et les utilitaires de ligne de commande (tout comme Node). Et, bien sûr, Dart peut être compilé pour fonctionner sur les téléphones mobiles. Cela met Dart en concurrence avec d'autres langages « full stack » de seconde génération comme Kotlin ;
  3. Qu'est-ce que Polymer, GWT et Adobe Flex ont en commun et dont React ne dispose pas ? Une bibliothèque de widgets UI intégrée. Ceci, pour David, est l’une des grosses faiblesses de React. Raison pour laquelle il estime que si vous avez déjà travaillé avec un framework comme Flex, vous saurez apprécier le fait qu’il soit livré avec un ensemble de composants de haute qualité ;
  4. L'approche de Flutter à l'IU multiplateforme est unique. David assure que Flutter n'est pas comme Cordova ou PhoneGap qui sont essentiellement des applications JavaScript/HTML/CSS déguisées en applications natives mobiles. Les applications Cordova et PhoneGap s'exécutent dans un navigateur mobile enveloppé dans un composant natif (une vue web). Ceux-ci sont lancés comme des applications natives, mais au fond sont des applications Web. Ils n'utilisent pas de widgets mobiles. Au lieu de cela, ils utilisent les éléments Web familiers (<input>, <select>, etc.) pour créer l'interface utilisateur.
    Flutter n'est pas non plus comme React Native (ou NativeScript). React Native utilise les widgets natifs. Cela signifie que vous devez créer des applications distinctes pour Android et iOS. Cela signifie également que l'application ressemble et se comporte plus nativement que, par exemple, une application qui est passée par Cordova ou PhoneGap.
    David avance que Flutter réinvente sa propre bibliothèque de composants UI de zéro. Ces composants sont dessinés à l'aide des primitives graphiques de bas niveau des plateformes. Ainsi, les composants UI de Flutter ne sont pas des éléments HTML ni des widgets Android/iOS natifs. Ce sont des widgets Flutter. Ils ont un look-and-feel enfichable. Ils peuvent donc ressembler à des widgets natifs iOS ou à des widgets natifs Android. C'est essentiellement la même approche que JavaSwing ;
  5. Il n'existe pas de DSL UI externes (c'est-à-dire des fichiers HTML ou XML). Toute l'interface utilisateur est écrite en Dart. Ceci, pour David, est une grande victoire. Il avoue avoir une opinion étrange selon laquelle les DSL externes sont la racine de tout le mal. Ils réduisent considérablement la quantité d'aide qu'un vérificateur de type statique (ou IDE) peut vous fournir. Ils éliminent la refactorisation et la réutilisation du code. C'est l'une des raisons pour lesquelles il aime React.
    Avec Flutter, les UI sont codées dans le même langage que le reste de l'application : Dart. En outre, il n'y a pas d'équivalent JSX dans Flutter. Donc, quand il dit que Flutter est comme React, ce qu’il veut dire, c'est que Flutter est comme React sans JSX. Pour lui, le code privé de JSX est assez indigeste dans la combinaison React/JavaScript, mais plutôt élégant dans la combinaison Flutter/Dart ;
  6. Enfin, Flutter dispose d’un support de première classe pour son IDE préféré (JetBrains).

Source : Code Burst

Et vous ?

Avez-vous déjà utilisé Flutter ? Qu'en pensez-vous ?
Quels sont les points que vous préférez ?
Quels sont ceux qui vous intéressent le moins ?
Avatar de moueza moueza - Membre du Club https://www.developpez.com
le 01/07/2017 à 19:25
Reste à voir Flutter vs Titanium !??
Avatar de Michael Guilloux Michael Guilloux - Chroniqueur Actualités https://www.developpez.com
le 27/02/2018 à 23:42
Google lance la première version bêta de Flutter
son nouveau kit de développement d’applications mobiles pour Android et iOS

Au Mobile World Congress 2018 à Barcelone aujourd'hui, Google a annoncé la sortie de la première bêta de Flutter, son nouveau framework d'interface utilisateur mobile pour aider les développeurs à créer des interfaces natives de haute qualité pour iOS et Android.

Dans une FAQ sur ce projet open source, Google explique que Flutter fournit un moteur de rendu 2D extrêmement optimisé mobile avec un excellent support pour le texte. Il vient aussi avec un framework de style réactif. Inspiré par React, ce framework est optionnel, laissant ainsi aux développeurs la possibilité d’utiliser un autre framework. Il est également conçu en couches de sorte que les développeurs puissent choisir d’utiliser uniquement des parties du framework. Flutter offre encore un riche ensemble de widgets pour Android et iOS, mais permet aussi aux développeurs de créer facilement leurs propres widgets ou personnaliser les widgets existants. En plus du moteur de rendu 2D, le framework et les widgets, Flutter vient avec des API pour les tests unitaires et d'intégration et bien d'autres outils.

En ce qui concerne les technologies sur lesquelles reposent Flutter, il faut noter que le framework et les widgets sont écrits avec le langage Dart de Google, mais le framework graphique sous-jacent et la machine virtuelle Dart ont été implémentés en C/C++. Flutter repose aussi sur le moteur de rendu 2D Skia.


Flutter a été dévoilé fin 2015 et après une version alpha publiée l’année dernière, Google sort aujourd’hui la première version bêta de son framework. Depuis la version alpha l'an dernier, Google a introduit de nouvelles fonctionnalités et apporté des améliorations à son framework, y compris le support d'Android Studio, de Visual Studio Code, de nouvelles factorisations pour vous aider à gérer le code de votre widget, etc. Notons que la version bêta de Flutter fonctionne également avec la préversion de Dart 2, publiée la semaine dernière et qui apporte un bon lot d’améliorations au langage de programmation Web de Google.

Sources : Blog Google, FAQ Flutter

Et vous ?

Qu’en pensez-vous ?
Y a-t-il de la place pour Flutter sur le marché de développement mobile ?

Voir aussi :

Flutter : un projet open source qui supporte la construction d'applications mobiles 2D multiplateformes pour iOS et Android
Un développeur donne des raisons qui peuvent justifier l'utilisation de Flutter, le framework de Google pour créer des apps natives iOS et Android
Dart 2.0 est disponible, le langage de Google a été optimisé pour le développement Web et mobile côté client
Avatar de redcurve redcurve - Membre averti https://www.developpez.com
le 28/02/2018 à 10:58
Mouais bof les trucs google je préfère éviter, et puis la seconde version sera complètement incompatible avec lol
Avatar de doug92 doug92 - Candidat au Club https://www.developpez.com
le 05/03/2018 à 17:14
je pense bien que ''Flutter'' auras une places!!!!
Avatar de Francky Francky - Membre émérite https://www.developpez.com
le 10/05/2018 à 0:34
Google lance la troisième version bêta de Flutter
son kit de développement d'applications Android et iOS peut désormais être utilisé en production

Google a sorti cette semaine la version Beta 3 de Flutter, le SDK (Software Development Kit) qui permet de développer des applications natives dont le code fonctionne sous Android et sous iOS en même temps.

La plupart du temps, les développeurs d’applications mobiles sont obligés de créer leurs applications pour Android et pour iOS. Ce qui revient à créer deux fois la même application. Google a donc créé Flutter pour résoudre ce problème et accroître la productivité des développeurs. « C'est pourquoi nous avons construit Flutter : pour offrir une nouvelle voie pour le développement mobile, centrée avant tout sur les performances natives, les visuels avancés et l'amélioration considérable de la vitesse et de la productivité des développeurs », a déclaré un membre de l’équipe Flutter dans un article de blog.

Annoncé pour la première fois avec sa version alpha en 2017, Flutter peut maintenant, selon les ingénieurs de Google, être utilisé en production. Des outils de développement sous Android Studio, Visual Studio Code, Dart 2 et bien d’autres supports ont été mis à la disposition des développeurs pour leur permettre de se familiariser avec le SDK.


Flutter offre plusieurs fonctionnalités telles que le rechargement automatique qui permet un développement rapide, des designs expressifs et flexibles avec des widgets d’interface utilisateur personnalisables et des bibliothèques d’animation. D'après Google, il offre également des expériences de haute qualité sur tous les appareils et plateformes.

Google affirme être agréablement surpris par la forte adoption du SDK dont la version Beta 1 a été lancée il y’ a juste 10 semaines au Mobile World Congress. Plusieurs applications développées avec les SDK ont été publiées. Google déclare que « l'un des plus populaires est l'application compagnon de la comédie musicale primée Hamilton Broadway, construite par Posse Digital, avec des millions d'utilisateurs mensuels, et une note moyenne de 4,6 sur Play Store ».

Par ailleurs, Alibaba a annoncé cette semaine l’adoption de Flutter pour son application Xianyu qui compte plus de vingt millions d'utilisateurs actifs par mois. La société Groupon utilise également Flutter pour son application marchande.

Google prévoit de livrer la version 1.0 de Flutter l’année prochaine et met à la disposition des développeurs assez de contenus techniques, une nouvelle série de codelabs et un cours Udacity pour apprendre à utiliser le nouveau SDK.

Source : Google Developers Blog

Et vous ?

Que pensez-vous du SDK ?
L'avez-vous essayé ? Si oui, quelles ont été vos impressions ?

Voir aussi

Flutter : un projet open source qui supporte la construction d'applications mobiles 2D multiplateformes pour iOS et Android

Un développeur donne des raisons qui peuvent justifier l'utilisation de Flutter, le framework de Google pour créer des apps natives iOS et Android

Google lance la première version bêta de Flutter, son nouveau kit de développement d'applications mobiles pour Android et iOS
Avatar de codec_abc codec_abc - Membre averti https://www.developpez.com
le 10/05/2018 à 13:35
Je trouve que c'est un peu irresponsable de la part de Google de recommander l'utilisation en production d'une techno encore en béta auprès des développeurs. Surtout que c'est pas juste un upgrade de version c'est une nouvelle techno. Ça veut dire que pour la plupart ceux qui vont l'utiliser partent de 0. Et partir avec une techno qui n'a jamais passé la 1.0 stable il faut oser quand même.
Avatar de alves1993 alves1993 - Membre confirmé https://www.developpez.com
le 10/05/2018 à 21:06
Citation Envoyé par codec_abc Voir le message
Je trouve que c'est un peu irresponsable de la part de Google de recommander l'utilisation en production d'une techno encore en béta auprès des développeurs. Surtout que c'est pas juste un upgrade de version c'est une nouvelle techno. Ça veut dire que pour la plupart ceux qui vont l'utiliser partent de 0. Et partir avec une techno qui n'a jamais passé la 1.0 stable il faut oser quand même.
Google a utilisé Flutter pour l'application mobile Google Ad Words.
Je pense que si Google dit que Flutter peut être utilisé en production alors ça peut vraiment être utilisé en production. Le risque vient dans la nature du projet dans lequel Flutter sera utilisé.
Google est dans une optique d'adoption du langage Dart chez les développeurs, elle n'a pas donc intérêt a dit des mensonges qui seront tôt ou tard découverts.
Avatar de Kriskev Kriskev - Membre à l'essai https://www.developpez.com
le 10/05/2018 à 23:47
Je ne comprend pas la stratégie de google. L'an dernier, c’était les louanges de Kotlin vu leur partenariat avec JetBrain pour le dev mobile, maintenant on parle de Flutter.

Finalement on est censé utiliser quoi Java, Kotlin, Flutter(Dart) ? Ça commence à faire beaucoup.
Contacter le responsable de la rubrique Accueil