использование нового ключевого слова во флаттере

Недавно начал следовать курсу "флаттер udacity" и, экспериментируя с созданием базовых приложений, я наткнулся на то, что мне было непонятно. При добавлении виджетов я заметил, что выполнение обоих new Widget() и Widget() [где Widget - это любой виджет, добавляемый в дерево], дает одинаковый результат. Есть ли конкретное время, когда вы должны использовать new Widget() и время, когда вы должны опускать new ключевое слово?

Например:

return MaterialApp(
  debugShowCheckedModeBanner: false,
  home: new Scaffold(
    appBar: new AppBar(
      title: Text('My app name')
  ),
)

Text('My app name') работает, но new Text('My app name') также работает. Есть ли шанс, что я мог бы получить некоторые советы и рекомендации по лучшим практикам с этим?

Ответ 1

new был сделан необязательным, начиная с Dart 2.0, поэтому некоторые примеры или учебники по-прежнему используют new а новые или обновленные - нет.

Вы можете просто всегда опускать это.

const может быть опущен, когда контекст требует const