Flutter : le framework UI de Google, en plus du mobile, prend désormais en charge le desktop,
Le Web et l'embarqué

Le , par Bill Fassinou

25PARTAGES

8  0 
L’équipe de Google qui travaille sur le développement de Flutter, son framework gratuit et open source d’interface utilisateur, a annoncé hier qu’après plusieurs mois de travail, le framework étend désormais son utilisation à d’autres types de plateformes. À l’avenir, vous pouvez enrichir l’expérience de vos utilisateurs sur les plateformes telles que le Web, les applications de bureau et sur les périphériques de petites tailles. Cette nouvelle arrive environ deux mois après la publication de la version 1.2 du framework livrée avec Dart DevTools, une suite d’outils de programmation et la version 2.2 du langage de programmation Web Dart.

Flutter est un framework de développement d'interface utilisateur gratuit et open source créé par Google. Jusque-là, il était utilisé pour développer des applications pour Android et iOS et constitue également la méthode principale de création d'applications pour Google Fuchsia. Cependant, grâce aux possibilités qu’offre le langage de programmation Web Dart et aux nouveaux outils de développement mis en place aujourd’hui par les navigateurs, Google a pu étendre dans un premier temps le support du framework Flutter vers le Web puis dans un second temps vers les applications bureautiques exécutées par Windows, Mac OS et Linux et à d'autres plateformes. Désormais, a indiqué Google, le framework Flutter devient un framework d’interface utilisateur portable pour tous les écrans.


À travers cette mise à jour du framework, Google entend permettre aux entreprises d’offrir de meilleures expériences à leurs clients sur tous les types d’écrans notamment par le biais d’applications mobiles, de bureau et de Web. « Pour les startups, la possibilité de joindre des utilisateurs sur un mobile, sur le Web ou sur un ordinateur de bureau par le biais de la même application leur permet d’atteindre l’ensemble de leur public dès le premier jour, au lieu d’avoir des limites pour des raisons techniques. En particulier pour les grandes entreprises, la possibilité de fournir la même expérience à tous les utilisateurs avec une base de code réduit la complexité et les coûts de développement, et leur permet de se concentrer sur l'amélioration de la qualité de cette expérience », a déclaré l’équipe en charge du développement du framework.

Flutter n’est donc plus un framework mobile, mais un framework multiplateforme qui peut vous aider à atteindre vos utilisateurs où qu'ils soient. Voici listés ci-dessous les nouveaux apports de Google au framework d’interface utilisateur Flutter :

Flutter pour le Web

Flutter pour le Web est une implémentation de Flutter compatible avec le code et rendue à l'aide de technologies Web standard telles que HTML, CSS et JavaScript. Avec Flutter pour le Web, vous pouvez compiler le code Flutter existant écrit avec le langage de programmation Dart en une expérience client qui peut être incorporée dans le navigateur et déployée sur n’importe quel serveur Web. Vous pouvez utiliser toutes les fonctionnalités de Flutter et vous n'avez pas besoin d'un plug-in de navigateur. Bien que Flutter pour le Web soit encore en développement, Google l’a essayé en partenariat avec le New York Times (NYT) pour développer une nouvelle interface du jeu de Puzzle KenKen que le journal américain propose à ses abonnés. Le jeu a été actualisé et utilise le même code sur Android, iOS, Web, Mac et Chrome OS.

« Les mots croisés du New York Times comptent plus de 400 000 abonnements indépendants et constituent un rituel quotidien pour les personnes qui résolvent des énigmes. Parallèlement à ce dernier, nous avons élargi notre portefeuille de puzzles numériques qui atteint plus de deux millions de résolveurs chaque mois. Nous commencions déjà à explorer Flutter comme solution potentielle au défi de développer rapidement des expériences mobiles attrayantes et de grande qualité. Maintenant, l'ajout de la possibilité de publier sur le Web fait de Flutter une option encore plus attrayante pour un déploiement rapide sur toutes nos plateformes d'utilisateurs. Cette mise à jour de notre ancien jeu KenKen basé sur Flash dans une expérience jouable multiplateforme est quelque chose que nous sommes ravis d'apporter à nos solveurs cette année », a déclaré Eric Von Coelln, directeur exécutif de Puzzles au New York Times à propos de ses expériences avec Flutter.

Flutter pour le desktop

Ce projet a été créé à l'origine pour développer les implémentations de Flutter sous Windows, Mac OS, Chrome OS et Linux. Des travaux sont en cours pour étendre Flutter au support de bureau en tant qu’environnement cible, permettant aux développeurs de créer des applications sur les plateformes précitées avec Flutter. À long terme, cet effort créera une solution totalement intégrée dans laquelle flutter create, flutter runet flutter build fonctionnera pour les plateformes de bureau comme pour les plateformes mobiles, mais cet effort est toujours en cours, a annoncé Google. Bien que ces cibles ne soient pas encore prêtes pour la production, l’équipe de Google Flutter dit avoir publié les premières instructions pour développer des applications Flutter à exécuter sur Mac, Windows et Linux.

Flutter pour les périphériques intégrés

La portabilité de Flutter s’étend également vers les périphériques intégrés c’est-à-dire des appareils de plus petites tailles telles que les Raspberry Pi et Google Home Hub. À ce stade, explique Google, l’une des plateformes intégrées les plus omniprésentes où Flutter est déjà en cours d’exploitation repose sur le système d’exploitation d’affichage intelligent qui alimente les goûts de Google Home Hub. Cela dit, amener Flutter sur une nouvelle plateforme nécessite de porter le moteur Flutter sur la cible, ainsi que de mettre en œuvre une imbrication. Le moteur Flutter est intrinsèquement multiplateforme et peut fonctionner avec diverses API de rendu client (rendu OpenGL, Vulkan et logiciel). Il inclut la machine virtuelle d'exécution Dart.

Flutter pour le mobile

Pour le mobile, Google a annoncé la mise à jour du framework vers sa version 1.5. Selon Google, Flutter 1.5 inclut des centaines de modifications en réponse aux commentaires des développeurs, notamment des mises à jour pour les nouvelles exigences du SDK iOS d'App Store, des mises à jour des widgets iOS et Matériau, la prise en charge des nouveaux types de périphériques par le moteur et Dart 2.3 qui intègre les nouvelles fonctionnalités du langage UI-as-code. Google a annoncé avoir mis au point au cours des derniers mois des packages de qualité production pour les affichages Web, Google Maps et Firebase ML Vision. Google a ajouté ensuite cette semaine la prise en charge initiale des paiements intégrés à l'application. Enfin, avec plus de 2 000 packages open source disponibles pour Flutter, des options sont disponibles pour la plupart des scénarios.

« Flutter est rapide ! Des fonctionnalités qui nous ont pris plusieurs jours à implémenter peuvent être terminées en une seule journée. De nombreux problèmes sur lesquels nous passions beaucoup de temps ne se produisent tout simplement plus. Notre équipe peut désormais se concentrer sur la création d’expériences utilisateur plus raffinées et sur la fourniture de fonctionnalités. Flutter nous permet de dépasser nos attentes. », a déclaré Larry McKenzie, développeur senior chez eBay à propos de Flutter.

Pour finir, Google informe que, LinkedIn a récemment mené une étude qui montrait que Flutter était la compétence la plus rapide parmi les ingénieurs en logiciel, selon les membres du site qui l'ont déclarée dans leur profil au cours des 12 derniers mois. De plus, continue Google, dans une récente enquête sur les développeurs StackOverflow de 2019, Flutter figurait parmi les infrastructures de développement les plus appréciées par les développeurs UI (user interface).

Source : Google

Et vous ?

Que pensez-vous de Flutter ?
Parviendra-t-il à concurrencer Electron ?
Entre Flutter et Electron, lequel préféreriez-vous ? Pourquoi ?

Voir aussi

Google lance Flutter 1.2, son SDK open source de développement d'apps mobiles iOS et Android et Dart DevTools, une suite d'outils de programmation

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

Flutter va bientôt permettre d'écrire de véritables applications multiplateformes y compris pour le desktop et pourrait rivaliser avec Electron

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de smarlytomtom
Membre averti https://www.developpez.com
Le 08/05/2019 à 17:22
C'est une bonne nouvelle à mon goût ! J'espère qu'on commencera à mettre de côté toutes ses applications basées sur Electron qui mange notre mémoire ! Peut-être même les réécrire ?
Hâte de voir comment les développeurs vont l'accueillir .
Avatar de blbird
Membre éprouvé https://www.developpez.com
Le 08/05/2019 à 17:37
Citation Envoyé par smarlytomtom Voir le message
J'espère qu'on commencera à mettre de côté toutes ses applications basées sur Electron qui mange notre mémoire ! Peut-être même les réécrire ?.
Sur Windows 10, mon Discord prend moins de 220 Mo en mémoire. A côté, Firefox avec 5 onglets prend prêt de 1000 Mo. Je ne sais pas d'où sort cette idée qu'Electron est consommateur de mémoire plus que d'autres applications.
Avatar de Uther
Expert éminent sénior https://www.developpez.com
Le 08/05/2019 à 18:42
Donc ton Firefox fait lui aussi environ 200 Mo par onglet.
Donc le problème est bien là : Electron consomme autant qu'une appli Web alors qu'en théorie, il pourrait être bien plus léger.
Avatar de blbird
Membre éprouvé https://www.developpez.com
Le 08/05/2019 à 19:00
Citation Envoyé par Uther Voir le message
Donc ton Firefox fait lui aussi environ 200 Mo par onglet.
Donc le problème est bien là : Electron consomme autant qu'une appli Web alors qu'en théorie, il pourrait être bien plus léger.
En fait c'est critiquer juste pour le plaisir ou bien? Mon Discord est ouvert avec 12 serveurs, soit 12 onglets. Skype est proche des 300 Mo alors qu'il n'est même pas ouvert. Chrome prend 420 Mo avec un pauvre onglet ouvert VIDE. Krita vide prend 250Mo de mémoire sans rien d'ouvert.

Et oui, Discord est une application très complète, qui ne consomme pas beaucoup en mémoire comparativement à la plupart des applications Windows actuelles équivalentes. Sa consommation mémoire n'a rien de déraisonnable du tout.

Je ne dit pas qu'elle pourrait ne pas être moindre, mais elle n'est clairement pas déraisonnable comme vous semblez chercher à le faire croire.
Avatar de archqt
Membre averti https://www.developpez.com
Le 08/05/2019 à 21:24
S'il pouvait faire en sorte
  • que l'on puisse l'utiliser en C++ ce serait encore mieux
  • Et un langage de description d'interface plutôt que du code (style QML pourquoi pas, j'aime bien le format JSON pour cela)


Je n'ai rien contre Dart mais disons que cela permettrait de rassembler encore plus de monde autour de ce projet.

PS Je sais qu'il y a un "pluging" pour pouvoir se greffer sur un noyau C++ mais c'est dommage d'avoir un truc codé en C++ (Skia) et ensuite de ne pas pouvoir facilement utiliser le langage de base de la bibliothèque graphique.
Avatar de Jiai972
Nouveau membre du Club https://www.developpez.com
Le 09/05/2019 à 9:42
Je comprends l'attrait en performances de C++, mais je ne vois pas vraiment en quoi cela populariserait plus Flutter.
Typiquement moi je ne m'y serais pas interessé si c'était du C++, à cause de la complexité de la gestion de la mémoire.

De plus, une des options les plus mises en avant de Flutter est d'offrir des options de modifications du code à la volée en mode debug, et je ne suis pas certain que celà puisse être appliqué avec du C++.
Avatar de AoCannaille
Membre émérite https://www.developpez.com
Le 09/05/2019 à 11:49
Citation Envoyé par Jiai972 Voir le message
Typiquement moi je ne m'y serais pas interessé si c'était du C++, à cause de la complexité de la gestion de la mémoire.
En C++ récent, dés que tu t'astreint à utiliser unique_ptr et shared_ptr, tes problèmes de mémoire s'envolent... C'est clair que c'est pas aussi simple que de ne pas s'en occuper du tout, mais c'est pas comme ça qu'on obtient des performances.
Avatar de archqt
Membre averti https://www.developpez.com
Le 09/05/2019 à 15:35
Citation Envoyé par Jiai972 Voir le message
Je comprends l'attrait en performances de C++, mais je ne vois pas vraiment en quoi cela populariserait plus Flutter.
Typiquement moi je ne m'y serais pas interessé si c'était du C++, à cause de la complexité de la gestion de la mémoire.
En utilisant les "smart pointers" ce n'est pas un soucis puisque l'on délègue la gestion de la mémoire à un objet, qui supprimera celle-ci une fois tous les objets accédant à la mémoire disparus.
De plus, une des options les plus mises en avant de Flutter est d'offrir des options de modifications du code à la volée en mode debug, et je ne suis pas certain que celà puisse être appliqué avec du C++.
C'est un avantage indéniable. Mais il faudrait voir si cling permet de compenser cela et de faire la même chose

L'intérêt du C++ est
  • performance certes car Dart est jusque 10 fois plus lent, et je suis large, que C++ (pire que Java)
  • tous ceux qui, comme moi utilisent Qt en C++ ne vont pas forcément faire la bascule pour passer en Dart
  • utilisation des bibliothèques de la STL
  • gain de taille de l'application (pas besoin de la Dart VM)
Avatar de AoCannaille
Membre émérite https://www.developpez.com
Le 09/05/2019 à 17:15
Citation Envoyé par archqt Voir le message
  • performance certes car Dart est jusque 10 fois plus lent, et je suis large, que C++ (pire que Java)
  • tous ceux qui, comme moi utilisent Qt en C++ ne vont pas forcément faire la bascule pour passer en Dart
  • utilisation des bibliothèques de la STL
  • gain de taille de l'application (pas besoin de la Dart VM)
J'ajouterais :
  • Portabilité : N'importe quel processeur à un compilateur C/C++ disponible.
Avatar de Jiai972
Nouveau membre du Club https://www.developpez.com
Le 10/05/2019 à 11:02
Citation Envoyé par archqt Voir le message
En utilisant les "smart pointers" ce n'est pas un soucis puisque l'on délègue la gestion de la mémoire à un objet, qui supprimera celle-ci une fois tous les objets accédant à la mémoire disparus.

C'est un avantage indéniable. Mais il faudrait voir si cling permet de compenser cela et de faire la même chose

L'intérêt du C++ est
  • performance certes car Dart est jusque 10 fois plus lent, et je suis large, que C++ (pire que Java)
  • tous ceux qui, comme moi utilisent Qt en C++ ne vont pas forcément faire la bascule pour passer en Dart
  • utilisation des bibliothèques de la STL
  • gain de taille de l'application (pas besoin de la Dart VM)
Sauf erreur de ma part, le code final est compilé, donc les problèmatiques de performances et de taille de l'application sont liées à Flutter lui même, pas à Dart
https://flutter.dev/docs/resources/f...ter-built-with
Je prend note cependant de l'argument pour la STL.

Citation Envoyé par AoCannaille Voir le message
J'ajouterais :
  • Portabilité : N'importe quel processeur à un compilateur C/C++ disponible.
Je ne suis pas certain de voir l’argument de la portabilité universelle de C++ dans le cadre de Flutter.
Contacter le responsable de la rubrique Programmation

Partenaire : Hébergement Web