Constructeurs primaires & Macros en 1 minute

Jeudi 19/12/24
165 Mots
1 Minutes

Cette semaine de décembre 2024, Flutter a annoncé l'implémentation prochaine des constructeurs primaires. Déjà présents dans d'autres langages comme Kotlin et C#, ils permettront de réduire le nombre de lignes nécessaires pour déclarer les variables d'une classe et son constructeur.

Grâce aux constructeurs primaires, la déclaration et l'assignation se feront en une seule ligne.

Exemple actuel :

dart
class Post {
  final String title;
  final DateTime date;

  Post(this.title, this.date);
  
  void something() {}
}

Exemple avec constructeurs primaires :

dart
class Post(final String title, final DateTime date) {
  void something() {}
}

Cette nouvelle syntaxe rend le code plus lisible et accélère le développement.

Combinés aux macros, également annoncés récemment, les constructeurs primaires faciliteront grandement la déclaration de classes à encoder/décoder en JSON. On peut imaginer une syntaxe comme celle-ci :

dart
@JsonCodable()
class Post(final String title, final DateTime date){}

Cette annotation générera automatiquement les méthodes fromJson et toJson, ce qui est très pratique.

Note importante : Ces deux nouveautés ne sont pas encore disponibles dans le SDK Dart au 19 décembre 2024, mais elles devraient être intégrées prochainement.