In Dart, main() acts as the entry point for the program whereas runApp() attaches the given widget to the screen . According to this post, it’s possible to establish configuration variables before actually attaching the first widget. This makes the separation between main() and runApp() pretty useful.15 Kas 2019