Flutter (Dart) Feuille de rappel

Certaines constructions de base du langage Dart sont décrites

Sommaire

Voici un cheat sheet pour Flutter (Dart) contenant les commandes et constructions de langage les plus utiles :

développeur jouant de la flûte et lançant des fléchettes Au-dessus, une image générée par IA (modèle Flux 1 dev) représentant le développeur jouant de la flûte et lançant des fléchettes.

Commandes CLI Flutter

Créer un nouveau projet Flutter :

flutter create <project_name>

Exécuter une application Flutter :

flutter run

Construire un APK de version finale :

flutter build apk

Analyser le code Dart :

flutter analyze

Exécuter les tests :

flutter test

Obtenir les packages :

flutter pub get

Mettre à jour Flutter :

flutter upgrade

Vérifier l’installation de Flutter :

flutter doctor

Constructions du langage Dart

Variables et types de données :

int age = 30;
double price = 9.99;
String name = 'John';
bool isActive = true;
var dynamicVar = 'Peut être de tout type';
final constantVar = 'Ne peut pas être réassigné';
const compiletimeConstant = 'Constante à la compilation';

Sécurité Null :

String? nullableString;
String nonNullableString = 'Hello';

Fonctions :

void simplePrint() {
  print('Hello');
}

int add(int a, int b) => a + b;

void namedParams({required String name, int? age}) {
  // Corps de la fonction
}

void optionalParams(String name, [int? age]) {
  // Corps de la fonction
}

Flux de contrôle :

if (condition) {
  // code
} else if (anotherCondition) {
  // code
} else {
  // code
}

for (var i = 0; i < 5; i++) {
  // code
}

while (condition) {
  // code
}

switch (variable) {
  case value1:
    // code
    break;
  default:
    // code
}

Listes et dictionnaires :

List<int> numbers = [1, 2, 3];
Map<String, int> ages = {'Alice': 30, 'Bob': 25};

Classes :

class Person {
  String name;
  int age;

  Person(this.name, this.age);

  void sayHello() {
    print('Hello, I am $name');
  }
}

Programmation asynchrone :

Future<void> fetchData() async {
  try {
    var result = await someAsyncOperation();
    print(result);
  } catch (e) {
    print('Erreur : $e');
  }
}

Flux :

Stream<int> countStream(int max) async* {
  for (int i = 0; i < max; i++) {
    yield i;
  }
}

Gestion des erreurs :

try {
  // Code susceptible de lever une exception
} on SpecificException {
  // Gérer une exception spécifique
} catch (e) {
  // Gérer toute exception
} finally {
  // Toujours exécuté
}

Ce cheat sheet couvre les commandes et constructions du langage Dart les plus essentielles pour les développeurs Flutter, offrant une référence rapide.

Sécurité Null dans Flutter / Dart

La gestion de la sécurité null dans Dart pour les applications Flutter est cruciale pour écrire un code robuste et exempt d’erreurs. Voici un guide simple sur la manière de travailler avec la sécurité null :

Déclaration des variables

Variables non nulles :

int age = 30;
String name = 'John';

Variables nulles :

int? nullableAge;
String? nullableName;

Travail avec les types nuls

Opérateurs de sécurité null :

  1. Opérateur d’accès sécurisé (?.)
String? name;
print(name?.length); // Accès sécurisé à la longueur si name n'est pas null
  1. Opérateur de coalescence null (??)
String? name;
String displayName = name ?? 'Invité';
  1. Opérateur d’affectation sécurisée (??=)
String? name;
name ??= 'John'; // Affecter 'John' si name est null

Opérateur d’assertion null (!) Utilisez cet opérateur avec prudence, car il peut entraîner des erreurs à l’exécution si la valeur est null :

String? nullableName = 'John';
String nonNullableName = nullableName!;

Analyse de flux

L’analyse de flux de Dart permet de déterminer quand une variable nulle est en toute sécurité à utiliser :

String? getName() => 'John';

void printName() {
  String? name = getName();
  if (name != null) {
    print(name.length); // Sécurisé pour utiliser name ici
  }
}

Variables tardives

Utilisez late pour les variables non nulles initialisées après la déclaration :

late String lateInitializedName;
void initializeName() {
  lateInitializedName = 'John';
}

Gestion des paramètres nuls

void greet(String name, {String? title}) {
  if (title != null) {
    print('Bonjour, $title $name');
  } else {
    print('Bonjour, $name');
  }
}

Travail avec les collections

Listes nulles :

List<String>? nullableList;
List<String?> listOfNullableStrings = ['Bonjour', null, 'Monde'];

Filtrage des valeurs nulles :

List<String?> mixedList = ['a', null, 'b', null, 'c'];
List<String> nonNullList = mixedList.whereType<String>().toList();

En suivant ces pratiques, vous pouvez efficacement gérer la sécurité null dans vos applications Dart et Flutter, réduisant ainsi le risque d’erreurs liées à la nullité et améliorant la qualité globale du code.

Liens utiles