📱 Semana 1 – Introdução à Programação Mobile

O desenvolvimento mobile representa uma das áreas mais dinâmicas da computação, com impacto direto na vida das pessoas por meio de aplicativos utilizados diariamente.

Mobile Development
🌍 Contexto Histórico e Evolução

O desenvolvimento mobile ganhou força com o lançamento do iPhone (2007) e a chegada do Android (2008). A explosão de aplicativos começou com as lojas App Store e Google Play.

Hoje, os sistemas Android e iOS dominam o mercado, com a Huawei também se destacando no cenário asiático com seu próprio ecossistema de apps.

📱 Evolução dos Aplicativos Mobile

🤖 História do Android

📲 HarmonyOS da Huawei

💡 O que é Programação Mobile?
  • Apps Nativos: Android (Kotlin/Java), iOS (Swift).
  • Web Apps: PWA acessados por navegador.
  • Multiplataforma: Um só código para várias plataformas (Flutter, React Native).

🔗 Site oficial do Flutter

🔗 Site oficial do React Native

🎯 Paradigmas da Programação Mobile
  • Orientação a Eventos: ações do usuário disparam eventos.
  • Componentização: uso de widgets e componentes reutilizáveis.
  • Arquitetura Reativa: alterações nos dados atualizam a interface automaticamente.
  • Padrões Arquiteturais: como MVC e MVVM.
Diagrama do Modelo MVC
Fonte: Wikipedia – Diagrama do processo MVC
📊 Panorama de Mercado

O crescimento do uso de dispositivos móveis impulsionou a demanda por aplicativos em diversas áreas. Segundo a plataforma Statista, foram registrados mais de 255 bilhões de downloads de apps em 2023. Isso evidencia a importância da programação mobile no mercado atual.

  • 💙 Flutter
  • ⚛️ React Native
  • 🟪 Swift (iOS)
  • 🟩 Kotlin (Android)
  • 🐍 Flet (Python)
🚧 Desafios Reais de Quem Começa a Programar para Mobile

Ao iniciar no desenvolvimento mobile, é comum enfrentar obstáculos que vão além do código. Abaixo estão alguns dos principais desafios, seguidos de um vídeo introdutório que ajuda a esclarecer o caminho para iniciantes:

  • 💾 Ambiente: instalar Flutter, Android Studio e configurar emuladores pode ser desafiador.
  • 📐 Layout responsivo: aprender Row, Column, Expanded é essencial.
  • 🔄 Ciclo de vida: apps têm comportamentos específicos ao minimizar ou fechar.
  • 🚨 Erros pouco claros: mensagens podem ser confusas; usar Stack Overflow ou ChatGPT ajuda bastante.
  • 🧠 Mentalidade diferente: o layout é programado, não "desenhado" como no HTML/CSS tradicional.

🎥 Veja o vídeo abaixo: ele aborda desde a configuração do ambiente até as práticas iniciais no Flutter.

🔗 Site oficial do Flutter

🔗 Roadmap Flutter