IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

La version 2 du SDK Flutter de Google est disponible avec la prise en charge des applications de bureau et Web,
Ainsi que le support pour les appareils pliables et embarqués

Le , par Stan Adkens

221PARTAGES

10  0 
Lors de l'événement en ligne "Flutter Engage" mercredi, Google a fait passer Flutter, son SDK open source de développement d'applications massivement multiplateformes, à la version 2.0, apportant de nombreuses prises en charge. Alors que Flutter a commencé par se concentrer sur le mobile lors de son lancement il y a deux ans, il a pris son envol ces dernières années et, avec la version 2, Flutter prend désormais en charge les applications Web et de bureau. Grâce à cela, les utilisateurs de Flutter peuvent désormais utiliser la même base de code pour créer des applications pour iOS, Android, Windows, MacOS, Linux et le Web.

Si vous venez de découvrir Flutter, il s’agit de l'effort continu de Google pour permettre aux développeurs de créer des applications pour Android, iOS, le Web – y compris les PWA installables – Fuchsia, les systèmes embarqués et les plateformes de bureau, le tout avec le même code Dart. Avec Flutter 2, vous pouvez utiliser la même base de code pour fournir des expériences Web ciblant des navigateurs tels que Chrome, Firefox, Safari ou Edge. Flutter peut même être intégré dans les voitures, les téléviseurs et les appareils ménagers intelligents, offrant ainsi « l’expérience la plus complète et la plus portable pour un monde informatique ambiant », selon Google.


« La grande chose qui justifie le changement de numéro de version est, bien sûr, la disponibilité du support Web et de bureau », a dit dans une déclaration Tim Sneath, chef de produit chez Flutter. « Et c'est juste un pivot assez profond. Il est rare que les produits aient soudainement tous ces terminaux supplémentaires ».

Il a noté qu'en raison de la nature open source de Flutter, le support Web et de bureau a été « cuisiné en open » pendant un certain temps, donc l'ajout de ces terminaux n'est pas une surprise. Une grande partie du travail de préparation de ces nouvelles plateformes pour la version 2.0 a consisté à améliorer les performances de ces nouvelles plateformes.

Il faut noter, cependant, que la prise en charge du bureau Flutter est toujours en retard sur la version stable de Flutter et Google dit que les développeurs devraient considérer cela comme un "instantané bêta". Le support Web, cependant, est passé de la version bêta à la version stable et est devenu une cible de plus pour la création d'applications avec Flutter.


Flutter pour le Web

Bien que Flutter offre un certain support pour les navigateurs Web depuis plus d'un an maintenant, cela a toujours été dans les canaux bêta et n'a jamais été tout à fait prêt pour la production. Avec le lancement de Flutter 2, cela change, car le Web est maintenant prêt à être utilisé dans les versions stables, et la commande par défaut "flutter create" comprend maintenant le framework nécessaire pour que votre application puisse se compiler pour le Web.

Le lancement de la prise en charge Web dans Flutter 2 est dû à une poignée d'aspects clés. Premièrement, Google a réussi à améliorer les performances de Flutter pour le Web sur les navigateurs haut de gamme grâce à un nouveau "Canvas Kit", tandis que les navigateurs mobiles utiliseront par défaut la version de l'application au format HTML, le tout géré automatiquement par le nouveau mode "auto" lors de la compilation de votre application.

« Cela signifie que nous pouvons maintenant contourner le HTML de base – une sorte de partie de la plateforme Web centrée sur les documents – et utiliser réellement les parties de la plateforme Web centrées sur les applications sans laisser [derrière] les choses comme la saisie automatique de texte ou de mots de passe et toutes les choses qui font que le Web reste très unique », a déclaré Sneath.

Deuxièmement, Flutter gagne en fonctionnalités pour être plus natif dans le navigateur Web, notamment des utilitaires de prise en charge des lecteurs d'écran, du texte sélectionnable et modifiable, une meilleure prise en charge de la barre d'adresse, le remplissage automatique, et bien plus encore.

Flutter 2 pour le bureau, les appareils pliables et les dispositifs embarqués

Au-delà des appareils mobiles traditionnels et du Web, Flutter s'étend de plus en plus à d'autres types d'appareils, et Google a mis en évidence certains de ses partenariats lors du lancement de la version 2 de son kit de développement.

Sur le bureau, Google a annoncé que Canonical fait le choix de Flutter et en fait le choix par défaut de toutes ses futures applications de bureau et mobiles. L'équipe d’ingénieurs, contribuant au code pour soutenir le développement et le déploiement sur Ubuntu, a réécrit sa nouvelle application d'installation avec Flutter. Les ingénieurs en ont fait une première démo lors du lancement de Flutter 2.


Microsoft, également, étend son soutien à Flutter et travaille avec Google sur la prise en charge de Windows pour Flutter. Étant donné l'intérêt de Microsoft pour Android, ce n'est peut-être pas une grande surprise, et selon Google, Microsoft a publié mercredi des contributions au moteur Flutter pour aider à la prise en charge des appareils Android pliables. Ces appareils présentent de nouveaux modèles de conception, avec des applications qui peuvent soit élargir le contenu, soit tirer parti de la nature à double écran pour offrir des expériences côte à côte.

Le constructeur automobile Toyota a également annoncé son intention d'apporter une nouvelle expérience numérique à ses véhicules, en construisant des systèmes d'infodivertissement alimentés par Flutter. En utilisant l'API d'intégration de Flutter, Toyota est capable d'adapter Flutter aux besoins uniques d'un système embarqué, selon Google.

Cette mise à jour contient également une douzaine d'autres mises à jour plus petites de Flutter. Au total, note Google, il y a maintenant plus de 15 000 paquets pour Flutter et Dart venant des sociétés comme Amazon, Microsoft, Adobe, Huawei, Alibaba, eBay et Square. Il existe déjà plus de 150 000 applications Flutter sur Play Store, chaque application bénéficiant d'une mise à jour gratuite avec Flutter 2.


Pour l'avenir, Sneath a noté que l'équipe Flutter prévoit de passer plus de temps sur Flutter en tant que Framework pour les appareils embarqués et d'autres plateformes quelque peu non traditionnelles. Il a également noté que l'équipe s'intéresse à la manière dont Flutter peut contribuer à alimenter les expériences informatiques ambiantes.

« Lorsque nous pensons au monde de l'informatique ambiante, il y a ces prémisses derrière les aspects de l'informatique ambiante – des choses comme : peut-on faire des recherches facilement ? Les gens peuvent-ils gagner de l'argent avec les applications qu'ils construisent et le faire de manière responsable ? Nous mettons en place une prise en charge pour ce genre de services. De meilleures analyses, de meilleurs frameworks publicitaires, une connectivité avec des choses comme Firebase et Google Cloud, afin que les gens puissent non seulement profiter de Flutter, mais aussi des services écosystémiques plus larges que Google fournit », a explique Sneath.

La version 2.12 de Dart est sortie

Dart est le langage de programmation Web de Google. Bien qu'il y ait une tonne d'améliorations importantes dans le framework Flutter, une nouvelle version de Dart apporte également des améliorations assez substantielles. La première d'entre elles est l'ajout de ce que l'on appelle la "sound null safety". Cela signifie que vous pouvez maintenant écrire un code dont l'analyseur Dart peut être certain qu'il ne retournera jamais "null". Cela est utile lorsque vous écrivez du code, car vous êtes obligé de vous préparer ou d'éliminer la possibilité qu'une variable particulière soit nulle, et l'analyseur Dart peut afficher des avertissements utiles sur les points où votre code n'est pas sûr. Plus important encore, une sécurité "null" solide devrait vous aider à réduire encore la taille de votre application lors de sa compilation.

Un autre ajout majeur est Dart FFI, qui permet d'intégrer des bibliothèques basées sur le C et de compiler du code hautement performant. Cela a nécessité l'ajout de types de données classiques spécifiques à l'ABI comme les "structs", ainsi qu'un outil permettant de générer des liens FFI basés sur des fichiers d'en-tête C.

Il ne s'agit là que d'un aperçu du grand nombre de changements que Google a annoncés mercredi avec Flutter 2.0 et Dart 2.12. Vous pouvez installer et essayer Flutter 2.0 dès maintenant.

Source : Google

Et vous ?

Qu’en pensez-vous ?
Allez-vous installer Flutter 2.0 ou c’est déjà fait ?
Quels sont les changements qui vous intéressent ?

Voir aussi :

Dart devient officiellement une norme de l'Ecma, la première spécification du langage de programmation Web de Google a été publiée
Dart 2.0 : le langage de programmation de Google sort officiellement en version stable, avec des améliorations de productivité et de performances
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
Flutter de Google : 2 millions de développeurs, hausse de l'utilisation par les entreprises, et révélation d'un nouveau processus de mise à jour du framework

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

Avatar de codec_abc
Membre confirmé https://www.developpez.com
Le 05/03/2021 à 2:01
Citation Envoyé par archqt Voir le message
Avant canonical disait utiliser QML pour ses applications, et maintenant c'est Flutter+Dart, ça change

Je reste quand même sur un truc gênant, dommage qu'ils n'aient pas fait 2 parties séparées sur l'UI de façon à pouvoir avoir des "bindings" vers d'autres langages. Là il faut encore se farcir un autre langage...Dart. Certes cela ressemble au C++/C#/Java mais bon.

Cela aurait permis d'avoir le choix. Celui qui ne veut pas du "web" il ne fait pas en Dart.
Dart est de loin largement meilleur que QML en tant que langage. Et puis comme tu le dis ça ressemble beaucoup à C#/Java donc ça s'apprend en une journée (autrement, une remise en question s'impose). Concernant les bindings vers d'autres langages ça nécessiterait un taf énorme et on retomberai dans certains problèmes (notamment la compilation JIT qui n'est pas possible sous iOS).

Je ne suis pas aussi sur que celui qui ne veut pas du "web" il ne fait pas en Dart. Ça me semble la meilleur techno pour mobile aujourd'hui. Et comme le support desktop arrive en version stable cette année ça pourrait devenir "le" framework multiplateforme. Parce que mis à part Qt (qui a des licences contraignantes et dont la société évolue dans le sens contraire des mentalités) les alternatives ne sont pas légions. Seul .Net Maui peut lui faire de l'ombre.
2  0 
Avatar de archqt
Membre émérite https://www.developpez.com
Le 07/03/2021 à 22:25
Citation Envoyé par codec_abc Voir le message
Et tu fais comment pour l'IHM ? Parce que la partie UI qui est pure C++ c'est les QWidgets qui ne sont pas disponibles sur mobile.
Bien sûr que si ils sont disponibles pour mobile. Sauf que le rendu sera celui d'une application Bureau. Raison pour laquelle QML est apparu. De plus, sauf pour l'embarqué, la LGPL suffit (PC/Mobile). Par contre les nouveaux composants qui sortent sous QML sont uniquement en GPL (et commercial).

Après celui qui veut, peut faire juste QML+Javascript OU QML+logique métier en C++ (demande une compilation). On peut aussi mixer les 3.
1  0 
Avatar de archqt
Membre émérite https://www.developpez.com
Le 04/03/2021 à 14:55
Avant canonical disait utiliser QML pour ses applications, et maintenant c'est Flutter+Dart, ça change

Je reste quand même sur un truc gênant, dommage qu'ils n'aient pas fait 2 parties séparées sur l'UI de façon à pouvoir avoir des "bindings" vers d'autres langages. Là il faut encore se farcir un autre langage...Dart. Certes cela ressemble au C++/C#/Java mais bon.

Cela aurait permis d'avoir le choix. Celui qui ne veut pas du "web" il ne fait pas en Dart.
0  0 
Avatar de archqt
Membre émérite https://www.developpez.com
Le 05/03/2021 à 15:47
Dart est de loin largement meilleur que QML en tant que langage. Et puis comme tu le dis ça ressemble beaucoup à C#/Java donc ça s'apprend en une journée (autrement, une remise en question s'impose). Concernant les bindings vers d'autres langages ça nécessiterait un taf énorme et on retomberai dans certains problèmes (notamment la compilation JIT qui n'est pas possible sous iOS).
Dart en lui même ne fait pas l'IHM, c'est Flutter qui le fait, et d'une façon qui ressemble quand même beaucoup à du "classique" comme QWidgets. Donc comparer Dart à QML n'a pas de sens, comparer Flutter+Dart à QML+javscript+C++ là Oui.
On a quand même vis à vis de la compacité un truc plus clair en QML qu'en "Flutter". Et ça s'apprend aussi assez rapidement, avec de gros avantages.

Un avantage de Flutter c'est le "hot reload" aussi et la licence.
0  0 
Avatar de air-dex
Membre expert https://www.developpez.com
Le 05/03/2021 à 20:18
Citation Envoyé par codec_abc Voir le message
Je ne suis pas aussi sur que celui qui ne veut pas du "web" il ne fait pas en Dart. Ça me semble la meilleur techno pour mobile aujourd'hui. Et comme le support desktop arrive en version stable cette année ça pourrait devenir "le" framework multiplateforme. Parce que mis à part Qt (qui a des licences contraignantes et dont la société évolue dans le sens contraire des mentalités) les alternatives ne sont pas légions. Seul .Net Maui peut lui faire de l'ombre.
Et encore MAUI n'est pas disponible sur Linux, ou plutôt y sera limité à un développement communautaire.
0  0 
Avatar de codec_abc
Membre confirmé https://www.developpez.com
Le 05/03/2021 à 23:17
Citation Envoyé par archqt Voir le message
Dart en lui même ne fait pas l'IHM, c'est Flutter qui le fait, et d'une façon qui ressemble quand même beaucoup à du "classique" comme QWidgets. Donc comparer Dart à QML n'a pas de sens, comparer Flutter+Dart à QML+javscript+C++ là Oui.
On a quand même vis à vis de la compacité un truc plus clair en QML qu'en "Flutter"
Flutter d'un point de vue développeur, c'est une API Dart (même ci dessous ce n'est pas uniquement du Dart). Donc cela fait sens de comparer Dart à QML. D'autant plus, pour les plateformes. Parce que sans QML, Qt n'est pas aussi cross-platform (adieu Android et iOS). Donc si son veut, comparer Flutter et Qt, comparer Dart (puisque Flutter s'utilise uniquement via Dart) à QML (qui est une sorte de mix Js/Json et qui n'a pas besoin de code C++) fait sens. Et clairement le premier est meilleur (typage statique, moins de suprises, etc...)
0  0 
Avatar de gstratege
Membre actif https://www.developpez.com
Le 07/03/2021 à 11:21
C'est un framework basé si des composants, donc si tu as besoin d'un composant fantaisiste non disponible, c'est la galère
0  0 
Avatar de air-dex
Membre expert https://www.developpez.com
Le 07/03/2021 à 15:49
Citation Envoyé par codec_abc Voir le message
Flutter d'un point de vue développeur, c'est une API Dart (même ci dessous ce n'est pas uniquement du Dart). Donc cela fait sens de comparer Dart à QML. D'autant plus, pour les plateformes. Parce que sans QML, Qt n'est pas aussi cross-platform (adieu Android et iOS). Donc si son veut, comparer Flutter et Qt, comparer Dart (puisque Flutter s'utilise uniquement via Dart) à QML (qui est une sorte de mix Js/Json et qui n'a pas besoin de code C++) fait sens. Et clairement le premier est meilleur (typage statique, moins de suprises, etc...)
Tu peux toujours faire une appli Qt en C++ pour Android.

Citation Envoyé par gstratege Voir le message
C'est un framework basé si des composants, donc si tu as besoin d'un composant fantaisiste non disponible, c'est la galère
Pour le moment oui. Mais si ça devient populaire t'en auras à toutes les sauces comme avec les plugins jQuery fut un temps et comme les composants React de nos jours.
0  0 
Avatar de codec_abc
Membre confirmé https://www.developpez.com
Le 07/03/2021 à 19:52
Citation Envoyé par air-dex Voir le message
Tu peux toujours faire une appli Qt en C++ pour Android.
Et tu fais comment pour l'IHM ? Parce que la partie UI qui est pure C++ c'est les QWidgets qui ne sont pas disponibles sur mobile.
0  0 
Avatar de codec_abc
Membre confirmé https://www.developpez.com
Le 07/03/2021 à 23:52
Citation Envoyé par archqt Voir le message
Bien sûr que si ils sont disponibles pour mobile. Sauf que le rendu sera celui d'une application Bureau. Raison pour laquelle QML est apparu. De plus, sauf pour l'embarqué, la LGPL suffit (PC/Mobile). Par contre les nouveaux composants qui sortent sous QML sont uniquement en GPL (et commercial).

Effectivement ça à l'air de "fonctionner" (dans le sens que tu as une appli qui compile) mais vu qu'il y a 0 doc sur le site de Qt ni même un screenshot j'ai pas l'impression que c'est censé être utiliser ni même que ça fonctionne à peu près correctement. Après pour l'histoire de la LGPL, c'est plus contraignant. Sur mobile, il va falloir donner un moyen aux utilisateurs d'ouvrir l'APK de remplacer les .so et de re-signer le tout (et c'est à peu près la même histoire sous iOS). Bien que théoriquement faisable, peu de gens le font en pratique et comme Qt commence à durcir le ton (ma SSII s'est fait bloquer les accès) ce n'est clairement pas une solution d'avenir (pour la LGPL). D'autant plus, comme tu le dis, certains modules qML sont GPL uniquement (ou commercial).
0  0