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 :
class Post {
final String title;
final DateTime date;
Post(this.title, this.date);
void something() {}
}
Exemple avec constructeurs primaires :
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 :
@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.