Google publie les SDK Flutter 1.17 et Dart 2.8 pour le développement d'applications

Google a publié des mises à jour des SDK Flutter et Dart, apportant de nombreuses améliorations pour le développement unifié multiplateforme. Continuez à lire pour en savoir plus !

Flutter est un cadre de programmation multiplateforme, visant à résoudre les problèmes liés au développement d'applications multiplateformes sans le désordre du code non natif. Grâce à la connaissance du langage de programmation Dart, un développeur peut créer des applications pour Android, iOS, le Web et le bureau avec une interface utilisateur unifiée. Flutter 1.9 a apporté le support de macOS et Catalina dans un état alpha, tandis que La version v1.12 a fait mûrir leur support au-delà de l'état pré-alpha. Désormais, Google propose une nouvelle version v1.17 de Flutter et une version v2.8 de Dart, les marquant comme les premières versions stables pour Flutter et Dart en 2020.

Flutter 1.17

Le mois dernier, Google avait a annoncé des changements dans son processus de publication. Le processus antérieur de l'entreprise manquait de clarté sur le moment où les versions seraient construites, le code qu'elles contiendraient, etc. Désormais, Google prévoit de publier des versions stables selon un cycle environ trimestriel. Cela en soi a posé quelques défis, car l'infrastructure de publication a dû être réorganisée pour le nouveau processus de publication. Désormais, Flutter 1.17 est disponible sur le canal stable destiné aux développeurs. Google a résolu 6 339 problèmes depuis sa précédente version Flutter 1.12, et a résolu plus de bogues qu'il n'en a été ouvert cette année, ce qui a entraîné une diminution nette d'environ 800 problèmes.

En plus des corrections de bugs, Flutter 1.17 apporte des améliorations substantielles des performances, une prise en charge améliorée de Metal sur iOS et inclut de nouveaux widgets Material.

Amélioration des performances

Les applications créées avec Flutter 1.17 par rapport aux versions antérieures verront une accélération de 20 à 37 % pour le cas de navigation par défaut dans lequel il existe des itinéraires opaques sans transparence. Il y a également une amélioration considérable de la taille des applications créées avec Flutter 1.17. Par exemple, l'échantillon Flutter Gallery fait désormais 8,1 Mo en 2020 contre 9,6 Mo fin 2019. Pour l'utilisation de la mémoire, la version 1.17 apporte une réduction de 70 % de la mémoire lors du défilement rapide des grandes images.

Métal est l'API graphique de bas niveau d'Apple qui fournit un accès presque direct au GPU sous-jacent des appareils iOS. Flutter utilise désormais Metal par défaut lors de la création pour les appareils iOS pris en charge, ce qui accélère l'exécution des applications Flutter. La prise en charge améliorée de Metal améliore les vitesses de rendu des applications iOS d'environ 50 % en moyenne. Sur les appareils iOS qui ne prennent pas entièrement en charge Metal, à savoir les appareils dont les versions iOS sont inférieures à 10 et publiées avant le processeur A7, Flutter revient à OpenGL.

Flutter 1.17 ajoute la prise en charge de nouveaux widgets Material. Il existe également des mises à jour des widgets existants. Par exemple, NavigationRail aide les développeurs à ajouter des modèles de navigation d'applications réactifs aux applications et est idéal pour les applications qui peuvent basculer entre les facteurs de forme mobiles et de bureau. Les widgets de débordement DatePicker et TextSelection ont également été mis à jour: les nouveaux visuels de DatePicker correspondent aux directives matérielles mises à jour et ajoutent un nouveau mode de saisie de texte, tandis que TextSelection a désormais amélioré la fidélité pour iOS et Android lorsque les boutons sont plus longs que ce qui peut être affiché sans débordé. Enfin, Google propose également le nouveau package d'animations qui fournit des animations prédéfinies mettant en œuvre le nouveau Mouvement matériel spécification.

Autres changements dans Flutter 1.17

  • Google a terminé la mise en œuvre du Partie échelle de type de la spécification Material Design 2018 sans casser les applications Flutter existantes.
  • Polices Google pour Flutter v1.0 est également maintenant disponible. Cela permet aux développeurs d'expérimenter et d'utiliser n'importe quelle police de fonts.google.com dans leur application. Le développeur peut décider de regrouper la police avec l'APK ou si l'utilisateur reçoit la police en la téléchargeant depuis l'API.
  • Google a amélioré l'accessibilité des applications Flutter avec des correctifs concernant le défilement, les champs de texte et d'autres widgets de saisie.
  • Google se prépare également à remplacer la version actuelle de Dart DevTools par la nouvelle version Flutter. Les développeurs peuvent tester cette nouvelle version en démarrant DevTools, puis en cliquant sur l'icône « disjoncteur » dans le coin supérieur droit de DevTools. La plus grande amélioration de la nouvelle version Flutter de Dart DevTools est le nouvel onglet Réseau qui affiche le trafic réseau de votre application Flutter lorsque vous appuyez sur le bouton « Enregistrer ».
  • Une autre amélioration est une option expérimentale de « démarrage rapide » vous permettant de démarrer le débogage de l'application Flutter jusqu'à 70 % plus rapidement lorsque vous créez une application pour Android.

Google remercie également l'équipe Superformula pour avoir refait l'intégralité de Application Android MGM Resorts dans Flutter.


Fléchette 2.8

Dart est le langage de programmation utilisé pour créer des applications dans Flutter. Avec la sortie du SDK Dart 2.8, Google introduit quelques changements :

  • Des améliorations à pub outil client, utilisé pour gérer les packages téléchargés à partir du Dépôt de packages pub.dev.
    • Google a amélioré les performances de pub obtenir en ajoutant la prise en charge de la récupération parallèle des packages et du report course de pub précompilation.
    • Google a également ajouté un nouvel outil (pub obsolète) pour garantir que les dépendances des packages sont maintenues à jour.
  • Préparation à la sécurité Sound null, car les références null sont une source courante de plantages d'application qui se produisent lorsque le code tente de lire une variable ayant une valeur nulle.
    • Google se prépare à ajouter la prise en charge de la sécurité sonore nulle dans Dart, ce qui garantira que toutes les variables exprimées contiennent des valeurs non nulles.
    • La mise en œuvre d'une sécurité nulle sonore est une entreprise énorme qui entraînera dans un premier temps des ruptures dans le langage et les bibliothèques Dart. Google veut que les développeurs soient conscients ces changements radicaux et déposer tout problème sur leur Traqueur d'incidents.

Vous pouvez en savoir plus sur ces changements et sur d'autres changements en détail dans les messages d'annonce de Flutter 1.17 et Dart 2.8.