Dart est un langage de programmation Web développé par Google qui, comme de nombreux autres, vise à remplacer le JavaScript. C’est un langage optimisé par le client pour des applications rapides sur n'importe quelle plateforme. Michael Thomsen, chef de produit chez Google, travaillant sur Dart et Flutter, nous présente un aperçu de ce que contient cette nouvelle version du langage de programmation Dart.
Les méthodes d'extension
Dart 2.7 apporte une nouvelle fonctionnalité longtemps demandée et puissante : les méthodes d'extension. Celles-ci vous permettent d'ajouter de nouvelles fonctionnalités à n'importe quel type, y compris d’autres types que vous ne contrôlez pas, et elles ont la brièveté et l'expérience de l'autocomplétion des appels de méthode réguliers. Elles sont résolues et distribuées statiquement, cela signifie que vous ne pouvez pas les appeler sur des variables dont le type est dynamique. Les méthodes d'extension fonctionnent bien avec l'inférence de type de Dart.
Code dart : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 | extension ParseNumbers on String { int parseInt() { return int.parse(this); } double parseDouble() { return double.parse(this); } }main() { int i = '42'.parseInt(); print(i); } |
D’un autre côté, en raison du fait que les méthodes d'extension sont résolues statiquement, elles sont aussi rapides que l'appel d'une fonction statique ou d'une méthode d'aide, mais avec une syntaxe d'invocation beaucoup plus conviviale.
Un nouveau paquet pour gérer les chaînes de caractères spéciaux
La classe String standard de Dart utilise l'encodage UTF-16. C'est un choix courant dans les langages de programmation, en particulier ceux qui offrent une prise en charge de l'exécution native sur les périphériques et sur le Web. Les chaînes UTF-16 fonctionnent généralement bien, et l'encodage est transparent pour le développeur. Cependant, lorsque vous manipulez des chaînes de caractères, et en particulier lorsque vous manipulez des chaînes entrées par des utilisateurs, vous pouvez constater une différence entre ce que l'utilisateur perçoit comme un caractère et ce qui est codé comme une unité de code dans UTF-16.
Selon Google, si tout ce que vous faites est de recevoir, passer et remettre des chaînes entières, l'encodage interne est transparent. Mais si vous avez besoin d'itérer les caractères d'une chaîne de caractères ou de manipuler le contenu d'une chaîne, vous pouvez avoir des problèmes. Pour remédier à cela, Dart 2.7 introduit un nouveau paquet, "les caractères", pour traiter ces cas. Ce paquet supporte les chaînes de caractères considérées comme des séquences de caractères perçus par l'utilisateur, également connues sous le nom de grappes de graphèmes Unicode.
Avec le paquet de caractères, vous pouvez fixer votre code avec une petite modification du code qui raccourcit le texte. Un aperçu technique de ce nouveau package est disponible en avant-première sur pub.dev.
La sécurité null
Dart 2.7 inclut un aperçu préliminaire des nouvelles fonctionnalités de "sécurité null" du langage qui aident les développeurs à détecter les erreurs potentielles liées à la nullité inattendue d'une variable. De ce fait, en marquant dans le code les variables qui pourraient être nulles, les outils de Dart peuvent s'assurer que votre code est préparé pour les moments où elles sont nulles. Pour tester ces fonctions de sécurité null sans apporter de modifications majeures à votre propre code, Google a lancé une version spéciale de DartPad avec la sécurité null activée.
Par ailleurs, selon la note de version de Dart 2.7, il y a aussi de nombreuses autres nouvelles fonctionnalités, améliorations, ainsi que des correctifs de sécurité. Selon Michael Thomsen, la firme de Mountain View a également ajouté une nouvelle fonctionnalité “Like” pour les paquets sur pub.dev, disponible avec la sortie de Dart 2.7. Ceci introduit un nouveau “signal humain” pour indiquer les paquets que vous aimez. Pour aimer un paquet, cliquez simplement sur l'icône qui se trouve à côté de l'information détaillée du paquet.
Enfin, Thomsen a indiqué que Google va accélérer le calendrier de Dart à partir de l’année prochaine. « Nous avons des plans audacieux pour 2020, y compris la livraison de versions stables de fonctionnalités comme “dart:ffi” et “null safety” et l'introduction de nouvelles fonctionnalités. Nous vous invitons à commencer à utiliser Dart 2.7 dès aujourd'hui. Il est disponible sur dart.dev, dans la version actuelle de Flutter 1.12, et sur le DartPad récemment redessiné », a-t-il conclu.
Source : Michael Thomsen
Et vous ?
Qu'en pensez-vous ?
Voir aussi
Flutter 1.12 est disponible avec la prise en charge du Web, de macOS et de nombreuses améliorations
Dart 2.0 est disponible, le langage de Google a été optimisé pour le développement Web et mobile côté client
Dart devient officiellement une norme de l'Ecma, la première spécification du langage de programmation Web de Google a été publiée
Google : le SDK Dart 2.5 va « Supercharger » les développeurs, avec un aperçu de la complétion automatique du code alimentée par le Machine Learning. Flutter 1.9 est également disponible