こんにちは、フラメルです。
今回はmain()とrunApp()の違いについて紹介します。
目次
main()の役割
main()はFlutter(Dart)におけるエントリーポイントです。
よってmain()で書いた処理が上から順に実行されます。下記コードではプログラムを実行すると「Hello World」の後に「Good Afternoon」が表示されます。
void main() {
print('Hello World');
print('Good Afternoon');
}runApp()の役割
runApp()はウィジェットツリーの始まり(ルート)を定め、任意のウィジェットをスクリーンに反映できます。
下記コードではMyApp()がウィジェットツリーのルートとなりMyApp()がスクリーンに反映されます。
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text('Flutter')),
body: Center(
child: Text(
'Hello World',
style: TextStyle(
fontSize: 30,
),
),
),
),
);
}
}
結論:Flutterではmain()・runApp()の両方が必要
main()はエントリーポイント、runApp()はウィジェットツリーの始まりを定めてスクリーンに反映することからFlutterでアプリ開発をしていく上で両方とも必要となります。
以上です。

