Anatomia de um aplicativo

Entenda a estrutura de pastas e arquivos de um projeto

Ao iniciarmos um projeto com o Flutter, a seguinte estrutura é criada:

Estrutura de um projeto em Flutter
android
ios
lib
main.dart
test
pubspec.yaml
pubspec.lock

Contém arquivos específicos da plataforma Android.

Contém arquivos específicos da plataforma iOS.

Contém o código Dart do aplicativo. É possível criar pastas e subpastas aqui dentro, porém o arquivo main.dart deve estar na raiz.

O ponto de partida de qualquer aplicativo em Flutter. Dentro dele, deve conter a chamada ao método main().

Pasta que contém os arquivos de testes do aplicativo.

Este arquivo contém várias informações do aplicativo, como nome, versão, descrição, pacotes/dependências. Também contém o caminho para arquivos estáticos, como imagens e fontes.

Neste tipo de arquivo, YAML, a identação é extremamente importante. Utiliza-se 2 espaçoes em branco.

Contém metadados dos pacotes/dependências do aplicativo.

A pasta .idea e o arquivo *.iml são utilizados apenas pela IDE IntelliJ.

main.dart

O método main() é o ponto de partida para todo aplicativo Flutter. O seu retorno é sempre void.

main.dart
void main() => runApp(MeuAplicativo());

A função runApp() recebe um widget como parâmetro, ou seja, todo nosso aplicativo também é um widget.