Lancer son application Flutter avec la fonction main()


Avatar de Pierre Courtois

La fonction main est à la base de toute application faite avec Flutter. Revoyons rapidement à quoi celle-ci sert et comment la mettre en place dans Visual Studio.


Pourquoi commencer son application Flutter, par la fonction main() ?

La fonction main() est le point d’entrée de toutes les applications codées en Dart, et donc celles créées avec Flutter. Elle joue un rôle central dans l’exécution du code de votre application et détermine son « point d’entrée ».

En effet, cette fonction est utilisée pour initialiser l’environnement de l’application et appeler la méthode runApp() qui va quant à elle généralement contenir le premier widget de votre application (sous-entendu ici, première page).

Mise en place d’une fonction main() simple

Pour une application Flutter dans laquelle vous n’avez pas encore intégré la solution Firebase, la fonction main() se limite souvent à l’initialisation et à l’appel de la méthode runApp(). En voici un exemple simple :

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Mon application Flutter',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: Scaffold(
        appBar: AppBar(
          title: Text('Bienvenue !'),
        ),
        body: Center(
          child: Text('Hello, Flutter !'),
        ),
      ),
    );
  }
}

Ici, la fonction main(), contient la méthode runApp(), qui elle-même prend comme argument le widget MyApp, représentant une page de votre application.

Mise en place de la fonction main() avec Firebase

Si vous avez mis en place la solution Firebase, vous devrez légèrement modifier votre fonction main(), pour pouvoir l’initialiser au démarrage de votre application. Dans ce cas, modifiez la, comme suit :

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp(
    options: DefaultFirebaseOptions.currentPlatform,
  );
  runApp(MyApp());
}

Conclusion

Votre application Flutter a désormais un point de départ, vous allez maintenant pouvoir commencer à coder les pages de votre application. Revoyons donc les bases avec les stateless et stateful widgets :

Avatar de Pierre Courtois