Aula 15 - Desenvolvimento Mobile 📱
Agenda 📅
- O Ecossistema Mobile
- Nativo vs Multiplataforma
- Dart e Flutter (Google)
- Árvore de Widgets
- Kotlin (Android Nativo)
1. O Mundo Mobile 🌍
Dois gigantes dominam o mercado.
- Android (Google): ~70% do mercado mundial. Aberto. Baseado em Linux/Java.
- iOS (Apple): ~29% do mercado. Fechado. Hardware Premium.
2. Abordagens de Desenvolvimento 🛠️
Como criar apps para eles?
-
Nativo:
- Performance Máxima.
- Acesso total ao hardware (GPS, Bluetooth).
- Problema: Precisa fazer 2 vezes (Kotlin para Android, Swift para iOS).
-
Multiplataforma:
- Escreve uma vez, roda nos dois.
- Flutter (Dart) ou React Native (JS).
- Vantagem: Velocidade de entrega.
3. Flutter e Dart 💙
- Dart: A linguagem (parece Java + JS).
- Flutter: O Kit de Ferramentas (UI Toolkit).
- Renderiza pixels direto na tela (como um jogo).
Tudo é um Widget 🧱
Botão é widget. Texto é widget. Layout é widget.
graph TD;
App[MaterialApp] --> Home["Tela Principal"];
Home --> AppBar[Barra Superior];
Home --> Body[Corpo];
Body --> Center;
Center --> Button["Botão Clique"];
style App fill:#f9f;
Código Flutter Básico
import 'package:flutter/material.dart';
void main() {
runApp(MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text("Meu App")),
body: Center(child: Text("Olá Mundo!")),
),
));
}
4. O Estado (State) ⚡
Apps são interativos. Se o usuário clica, a tela muda.
- StatelessWidget: Estático (Ícone, Texto).
- StatefulWidget: Dinâmico (Checkbox, Contador).
Ciclo de Vida do Estado
graph LR;
User["Usuário Clica"] --> Acao[setState];
Acao --> Build[Reconstruir Tela];
Build --> UI[Nova UI];
5. Kotlin (Android Nativo) 🤖
Para quando você precisa de poder bruto.
- Oficial do Google.
- 100% Compatível com Java.
- Conciso e seguro (sem NullPointerException).
Termynal: Criando App 📱
flutter create meu_app
Criando arquivos...
flutter run
Compilando APK...
App rodando no Emulador!
Resumo ✅
- Nativo: Melhor performance, mais trabalho.
- Multiplataforma: Menor custo, velocidade.
- Flutter: Desenha a tela do zero.
- Widgets: Blocos de construção.
Próxima Aula 🚀
- Sair do Cliente (Celular).
- Voltar para o Servidor (Backend).
- A tecnologia que roda 77% da Web.
- PHP e Arquitetura MVC.
👉 Tarefa: Rodar o "Counter App" do Flutter!