‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ 

Edition spéciale (09 décembre 2021)

Ouvrir la newsletter dans le navigateur

arrow

💙️ Soutenir la newsletter 💙️

arrow

Flutter 2.8 : beaucoup de Dart, peu de Flutter

L'équipe de Flutter vient tout juste de mettre à disposition une nouvelle version stable : la 2.8. Opensource oblige, cette sortie était hautement prévisible, dans la mesure où la 2.5 naissait le 08 septembre dernier et que le rythme de publication est trimestriel.

Dans l'ensemble, si l'on devait résumer : principalement, des nouveautés pour Dart et peu de changements pour Flutter.

Les nouveautés de Flutter 2.8 et Dart 2.15

Image Des chiffres, des chiffres !

En septembre, Google avait annoncé peu de nouveautés chiffrées, mais ils rattrapent leur retard dans cette édition : • 375 000 applications Flutter sont disponibles sur le Google Play (contre 200 000 en mai) • 20 000 issues ont été fermées en 2021

Image Dart 2.15

Qui dit nouvelle version de Flutter, dit désormais nouvelle version de Dart ! Cette version apporte un lot conséquent de nouveautés flag_lng, qui sont expliquées à la suite. Dans les moins visibles, certaines se démarquent pourtant avec le mot clé unawaited qui gère le null, les enums qui se dotent d'un getter name ou encore de fonctions pour comparer par index ou name.

Petite opinion personnelle : il est dommage de synchroniser les deux sorties, car cela associe les deux technologies, alors que Dart est pourtant multiplateforme.

Image Dart 2.15 : L'usage des

Déjà évoqué dans une précédente édition flag_lng, l'intégration des serveurs auto-hébergés pour Pub est maintenant facilitée avec l'authentification par token. Vous devez pour cela vous appuyer sur la commande dart pub token et utiliser comme argument add/list/remove.

Pour les "Pub" auto-hébergés vous pouvez soit, partir sur une installation dans le cloud de Google flag_lng soit, utiliser une image Docker via unpubd flag_lng.

Image Pub : Supprimer une version est maintenant possible

Vous avez publié une nouvelle version d'un package ou d'un plugin sur Pub.dev, mais patatra, vous l'avez publiée trop tôt ou vous avec laissé vos tests en plein milieu ? Désormais, vous disposerez de 7 jours pendant lesquels vous pourrez vous "rétracter".

Attention "rétracter", ne veut pas dire supprimer. Si un développeur souhaite utiliser "de force" cette version, il le pourra. Plus d'informations sont disponibles sur la documentation flag_lng.

Image Dart 2.15 : L'arrivée des groupes d'Isolates

C'est une fonctionnalité qui date d'il y a fort longtemps (j'en parlais notamment dans une newsletter du mois de mars flag_lng) : les Isolate groups. Concrètement, les performances vont être boostées de manière significative : plus de 100x plus rapides, un usage mémoire réduit de 10 à 100% !, une gestion plus efficiente du garbage collector… grâce à la mise en commun au sein d'un même heap. Et bonne nouvelle : vous n'avez rien à faire, si ce n'est de bien utiliser l'API Isolate.spawn() ou la méthode compute() en Flutter.

La documentation a été mise à jour afin de mieux comprendre le mécanisme flag_lng ; [des exemples de code GITHUB]](https://github.com/dart-lang/samples/tree/master/isolates) sont à disposition.

Image Dart 2.15 : Les constructeurs

Déjà présentée en détail dans la newsletter de début novembre flag_lng, je "m'auto-cite" :

Imaginons que vous ayez la classe suivante :

class A {

String a;

A(this.x);

}

Pour créer un nouvel objet, vous devez logiquement indiquer A("Une valeur"). Grâce aux tear-offs, vous pouvez désormais écrire :

[CODE]List<String> list = ["1", "2", "3"];

for (String e in list.map(A.new)) {}

[/CODE]

Le A.new équivaut à appeler le constructeur, mais sans avoir à écrire le callback (String val) => A(val). A noter que pour les constructeurs nommés, vous n'avez qu'à changer le new par le bon nom.

Image Dart 2.15 : Les

Trois grandes fonctionnalités sont apportées : Generic type literals flag_lng, Explicit generic method instantiations flag_lng et Generic instantiation of function objects flag_lng. L'idéal est de consulter le changelog pour avoir des exemples de code et comprendre les changements.

Image Flutter 2.8

A la lecture de l'article sur Medium flag_lng, on se dit tout de suite que la version 2.8 est essentiellement là pour l'habituel : amélioration des performances et correction de bugs. En pratique, Tim Sneath flag_lng évoque les performances au lancement, l'utilisation mémoire et le dessin à l'écran (graphics rendering). Les releases notes sont disponibles sur ce lien flag_lng (lien KO au moment d'écrire la newsletter).

De manière plus obscure, le product manager de chez Google évoque des améliorations pour la productivité des développeurs. Il semble vouloir évoquer des plugins/packages dont l'usage serait simplifié, en prenant pour exemple Firebase Auth qui gère les cas d'erreurs pour vous.

Image Flutter 2.8 : les Breaking changes

Le site de Flutter a commencé à recenser les "breaking changes" qui interviendront dans les versions "pas encore sorties en version stable" (comprendre la 2.8). Tout d'abord, la version de Kotlin est à minima la 1.5.31 flag_lng et ensuite un certain nombre de classes et attributs vont être dépréciés flag_lng.

Image Flame passe en 1.0

Flame est un moteur de jeu spécialement dédié à Flutter. Son équipe a annoncé récemment se recentrer uniquement sur le développement de la technologie, raison expliquant probablement la mise en avant par Google.

Concrètement, vous avez accès à des démonstrations directement depuis votre navigateur, des tutoriaux flag_lng ou encore une liste de jeux déjà publiés flag_lng.

Image Desktop en stable : c'est raté !

Lors de la sortie de Dart 2.0 en mars dernier, Google indiquait : "Dans cette version [NDLR : 2.0], nous avons le plaisir d'annoncer que le support du desktop est disponible sur le channel stable via un flag dédié. Cela signifie que nous sommes prêts pour que vous testiez" … "Vous pouvez considérer cela comme un "beta snapshot" qui préfigure la version stable finale qui arrivera plus tard cette année".

La 2.8 marque la dernière version stable majeure de cette année. Il s'agit donc d'une promesse non tenue : il vaut toutefois mieux ne rien avoir, qu'utiliser un produit totalement buggé.

Prochains évènements

08-09
décembre

En ligne

Flutter Global Summit

02-03
février

En ligne & Oslo

Flutter Vikings

25
avril

Montrouge, France

Android Makers
Votre avis sur ce numéro
😍😆🙄😡👍👎