Lancement du langage de programmation Dart 2.8

A eu lieu version du langage de programmation Dart 2.8, qui poursuit le développement d'une branche Dart 2 radicalement repensée, recentrée sur le développement pour les systèmes Web et mobiles et optimisée pour la création de composants côté client.

Dart 2 diffère du langage Dart d'origine par son utilisation d'un typage statique fort (les types peuvent être déduits automatiquement, la spécification de type est donc facultative, mais le typage dynamique n'est plus utilisé et le type initialement calculé est attribué à une variable et une vérification de type stricte est appliqué par la suite). Pour le développement d'applications Web proposé un ensemble de bibliothèques spécifiques, telles que dart:html, ainsi que le framework web Angular. Un cadre est en cours de promotion pour la création d'applications mobiles Battement, sur la base duquel, entre autres, est construit le shell utilisateur du nouveau système d'exploitation à micro-noyau en cours de développement chez Google Fuchsia.

Dans la nouvelle version :

  • Ajout de moyens permettant d'utiliser en toute sécurité la valeur Null, rompant ainsi la compatibilité ascendante. Par exemple, une erreur de compilation sera désormais générée si une tentative est faite pour attribuer la valeur « Null » à une variable d'un type non défini, tel que « int ». Des restrictions ont également été introduites sur la compatibilité des variables avec les types Nullable et non Nullable, telles que « int ? et "int" (une variable de type "int" peut se voir attribuer une variable de type "int", mais pas l'inverse). Il en va de même pour les variables renvoyées dans l'instruction « return » - si dans le corps de la fonction une variable avec un type qui ne permet pas l'état « Null » ne se voit pas attribuer de valeur, le compilateur affichera une erreur. Ces changements vous permettront d'éviter les plantages provoqués par les tentatives d'utilisation de variables dont la valeur est indéfinie et définie sur « Null ».
  • dépôt pub.dev a dépassé la barre des 10 2.8 colis. Dans le cadre du cycle de provisionnement de Dart 6.5, les performances de récupération des packages à partir de pub.dev ont été considérablement améliorées en prenant en charge la récupération des packages dans plusieurs threads parallèles lors de l'exécution de la commande "pub get", ainsi que la précompilation paresseuse lors de l'exécution de " commande "pub run". Le test de la commande « pub get » pour un nouveau projet basé sur Flutter a montré une diminution du temps de fonctionnement de 2.5 à 15 secondes, et pour des applications plus volumineuses telles que la galerie Flutter, de 3 à XNUMX secondes.
  • Ajout d'une nouvelle commande "pub outdated" pour maintenir à jour toutes les dépendances des packages installés. À l'aide de la commande "pub outdated", vous pouvez évaluer, sans apporter de modifications au fichier pubspec, s'il existe des versions majeures plus récentes de toutes les dépendances associées à un package spécifié. Contrairement à "pub update", la nouvelle commande vérifie non seulement les versions correspondant à pubspec, mais également les branches les plus récentes. Par exemple, pour un package avec des dépendances épinglées « foo : ^1.3.0 » et « bar : ^2.0.0 », l'exécution de « pub outdated » affichera la présence à la fois de branches disponibles et de branches plus récentes :

    Dépendances Actuelles Améliorables Résolvables Dernières
    foo 1.3.0 1.3.1 1.3.1 1.3.1
    barre 2.0.1 2.1.0 3.0.3 3.0.3

Caractéristiques du langage Dart :

  • Syntaxe familière et facile à apprendre, naturelle pour les programmeurs JavaScript, C et Java.
  • Assurer un lancement rapide et des performances élevées pour tous les navigateurs Web modernes et divers types d'environnements, des appareils portables aux serveurs puissants ;
  • La capacité de définir des classes et des interfaces qui permettent l'encapsulation et la réutilisation de méthodes et de données existantes ;
  • La spécification de types facilite le débogage et l'identification des erreurs, rend le code plus clair et plus lisible et simplifie sa modification et son analyse par les développeurs tiers.
  • Les types pris en charge incluent : différents types de hachages, tableaux et listes, files d'attente, types numériques et chaînes, types permettant de déterminer la date et l'heure, expressions régulières (RegExp). Peut être créer le vôtre les types;
  • Pour organiser l'exécution parallèle, il est proposé d'utiliser des classes avec l'attribut isolate dont le code est exécuté entièrement dans un espace isolé dans une zone mémoire distincte, interagissant avec le processus principal en envoyant des messages ;
  • Prise en charge de l'utilisation de bibliothèques qui simplifient la prise en charge et le débogage de grands projets Web. Des implémentations tierces de fonctions peuvent être incluses sous la forme de bibliothèques partagées. Les applications peuvent être divisées en parties et confier le développement de chaque partie à une équipe distincte de programmeurs ;
  • Un ensemble d'outils prêts à l'emploi pour prendre en charge le développement dans le langage Dart, y compris la mise en œuvre d'outils de développement et de débogage dynamiques avec correction de code à la volée (« modifier et continuer ») ;
  • Pour simplifier le développement dans le langage Dart, il est livré avec SDK, directeur chargé d'emballage pub, analyseur de code statique dart_analyzer, ensemble de bibliothèques, environnement de développement intégré Jeu de fléchettes et plugins compatibles Dart pour IntelliJ IDEA, WebStorm, Emacs, Sublime text 2 и Vim;
  • Des packages supplémentaires avec des bibliothèques et des utilitaires sont distribués via le référentiel pub, qui compte plus de 10 XNUMX packages.

Source: opennet.ru

Ajouter un commentaire