こんにちは、フラメルです。
今回は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でアプリ開発をしていく上で両方とも必要となります。
以上です。