runAppに直接Widgetを配置することもできますが、推奨されない方法とのこと。アプリケーションが複雑になるとmain関数の内容も複雑になってしまうかららしいです。一般的には、以下のようにStatelessWidgetを継承したクラスでbuildメソッドをオーバーライドし、その内部にWidgetを配置していく方法がとられます。
main.dartvoid main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text('ホーム')),
body: Center(child: Text('コンテンツ')),
),
);
}
}
ChatGPTに教えてもらいました。ChatGPTの回答内容と手元にある書籍のmain関数の書き方が一致しているので、信じていい内容かと思います。