Ответ
MaterialApp — это корневой виджет, который настраивает инфраструктуру приложения под дизайн-систему Material. Я использую его для:
- Навигации: Объявления именованных маршрутов (
routes) или генерации их на лету (onGenerateRoute). - Темы: Задания единой светлой или темной темы (
theme,darkTheme) для всех дочерних виджетов. - Локализации: Подключения поддержки нескольких языков через
localizationsDelegates. - Глобальных настроек: Указания заголовка приложения (
title), который виден в меню переключения задач, и управления отладочной баннерной меткой.
Пример минимальной структуры:
void main() => runApp(
MaterialApp(
theme: ThemeData(primarySwatch: Colors.blue),
home: MyHomePage(),
),
);
Для приложений под iOS с нативным look & feel можно использовать CupertinoApp.