Introdução ao Flutter
Flutter é um framework de UI desenvolvido pela Google para criar aplicações nativas compiladas para mobile, web, desktop e embedded devices a partir de um único código base.
Características principais
- Widget-based: Tudo em Flutter é um widget
- Hot Reload: Alterações no código são refletidas instantaneamente
- Performance: Compilação nativa para alta performance
- Multiplataforma: Um código para Android, iOS, Web, Windows, macOS e Linux
- Material Design e Cupertino: Suporte nativo aos designs da Google e Apple
Arquitetura
Flutter usa uma arquitetura em camadas:
- Framework: Widgets, rendering, gestos, etc.
- Engine: Renderização, compilação, etc.
- Embedder: Interface com o sistema operacional
Exercícios
-
Configuração do ambiente: Instale o Flutter SDK no seu computador. Verifique a instalação executando
flutter doctorno terminal. Crie um novo projeto Flutter usandoflutter create meu_app. -
Primeira aplicação: Crie um aplicativo Flutter básico que exiba "Olá, Flutter!" no centro da tela. Use um
ScaffoldcomAppBarebodycontendo umCentereText. -
Hot Reload: Modifique o texto do exercício anterior para "Olá, Mundo!". Use o Hot Reload (salve o arquivo) para ver as mudanças instantaneamente.
Soluções
Ver solução do exercício 1
# Verificar instalação do Flutter
flutter doctor
# Criar novo projeto
flutter create meu_app
# Navegar para o projeto
cd meu_app
# Executar o projeto
flutter run
Ver solução do exercício 2
import 'package:flutter/material.dart';
void main() {
runApp(MinhaApp());
}
class MinhaApp extends StatelessWidget {
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Minha App'),
),
body: Center(
child: Text('Olá, Flutter!'),
),
),
);
}
}
Ver solução do exercício 3
import 'package:flutter/material.dart';
void main() {
runApp(MinhaApp());
}
class MinhaApp extends StatelessWidget {
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Minha App'),
),
body: Center(
child: Text('Olá, Mundo!'),
),
),
);
}
}
Salve o arquivo e observe o Hot Reload atualizando a tela automaticamente.