La dernière version 2.7 du langage de programmation Dart développé par Google a été dotée de méthodes d'extension qui permettent aux développeurs d'ajouter des fonctionnalités à n'importe quel type, même à des types qui ne sont pas sous leur contrôle.

Les méthodes d'extension ont la brièveté et l'expérience d’autocomplétion des appels de méthode courants. Un exemple figurant dans un avis publié par Google sur Dart 2.7 montre aux développeurs comment étendre la classe String. Les développeurs de la communauté Dart ont déjà expérimenté des méthodes d'extension, y compris le développement d'un paquet de caractères temporel utilisant des extensions sur numcode, la classe de base pour les « ints » et les « doubles », utilisée pour construire des objets Duration.

Les méthodes d'extension peuvent fonctionner avec l'inférence de type de Dart. Étant donné que les méthodes d'extension sont distribuées dynamiquement, elles ne peuvent pas être appelées sur des variables dont le type est dynamique. Les méthodes d'extension sont résolues statiquement, ce qui signifie qu'elles sont aussi rapides que l'appel d'une méthode d'aide ou d'une fonction statique, mais avec une syntaxe d'invocation plus conviviale. De plus, les méthodes d'extension peuvent avoir des variables de type et sont en fait des « extension members », une nouvelle fonction importante, attendue de longue date, apparue dans la version 2.6 de Dart.

Dart 2.7 est accessible depuis dart.dev ou via la version 1.12 de Flutter.

Parmi les autres fonctionnalités de Dart 2.7, on peut citer :

- Le pack de caractères : il supporte les chaînes de caractères considérées comme des séquences de caractères perçus par l'utilisateur, également connus sous le nom de grappes de graphèmes Unicode. Le pack est disponible sous forme d’aperçu technique sur pub.dev.

- Un aperçu de l'analyse statique de « sécurité null » : les auteurs de Dart avaient fait part de leur intention d’ajouter le support de la « sécurité null », qui permet charge un accès sécurisé aux références d'objets sans déclencher d'exceptions de référence « null ».

Pressenti un temps comme rival potentiel de JavaScript, Dart se positionne aujourd'hui comme un langage optimisé par le client pour créer rapidement des applications sur n'importe quelle plate-forme. Selon ses auteurs, le langage Dart est facile à apprendre pour les développeurs qui programment déjà en Java, JavaScript, ou Swift.