Entrar em Contato

Programa do Curso

Introdução

Semana 1: Visão Geral do Desenvolvimento Móvel

  • Ecossistema Móvel e Plataformas
    • Visão geral dos sistemas operacionais móveis (iOS e Android)
    • Diferenças-chave entre desenvolvimento para iOS, Android e multiplataforma
    • Lojas de aplicativos populares (Apple App Store, Google Play Store)
    • Introdução ao desenvolvimento nativo, híbrido e multiplataforma
  • Nativo vs Híbrido vs Multiplataforma
    • Vantagens e desafios de cada método de desenvolvimento
    • Visão geral de Swift (para iOS), Kotlin (para Android) e React Native (multiplataforma)
    • Como o código é convertido para plataformas móveis (JavaScript para código nativo no React Native)
  • Fundamentos da Programação
    • Introdução a conceitos de programação (variáveis, tipos de dados, funções, fluxo de controle)
    • Comparação das sintaxes de Swift, Kotlin e JavaScript
    • Escrita de programas simples usando Swift, Kotlin e JavaScript
  • Configuração de Ambientes de Desenvolvimento
    • Instalação do Xcode e Android Studio
    • Configuração do React Native CLI e Expo
    • Execução de aplicativos básicos "Hello World" em simuladores e emuladores

Semana 2: Introdução ao Swift, Kotlin e JavaScript

  • Programação em Swift para iOS
    • Variáveis, constantes e tipos de dados no Swift
    • Estruturas de fluxo de controle (if, switch, loops)
    • Funções e parâmetros no Swift
    • Introdução à interface do Xcode e ao Swift Playgrounds
  • Programação em Kotlin para Android
    • Variáveis, tipos de dados e funções no Kotlin
    • Compreensão da segurança contra nulos do Kotlin
    • Estruturas de fluxo de controle e loops
    • Introdução à interface do Android Studio e ao Kotlin Playground
  • JavaScript para React Native
    • Variáveis, constantes e fluxo de controle no JavaScript
    • Recursos ES6: arrow functions, template literals e destructuring
    • Escrita e execução de programas básicos em JavaScript no React Native usando Expo

Semana 3: Design de Interface do Usuário para iOS

  • Elementos de UI no iOS
    • Introdução ao UIKit e SwiftUI
    • Adição e personalização de elementos de UI como botões, rótulos e campos de texto
    • Uso do Interface Builder para projetar UI
    • Trabalho com Storyboards e design de UI multi-tela
  • Auto Layout e Constraints
    • Compreensão do sistema Auto Layout
    • Uso de constraints para layouts responsivos em diferentes tamanhos de tela
    • Criação de stack views e ajuste dinâmico de elementos de UI
  • Fundamentos do SwiftUI
    • Introdução ao design de UI declarativa no SwiftUI
    • Criação de componentes de UI simples usando SwiftUI

Semana 4: Design de Interface do Usuário para Android

  • Layouts XML no Android
    • Introdução ao design de layout baseado em XML
    • Trabalho com layouts comuns: LinearLayout, RelativeLayout, ConstraintLayout
    • Adição e personalização de elementos de UI: botões, textos e imagens
    • Uso do ConstraintLayout para layouts responsivos e dinâmicos
  • Material Design
    • Integração dos princípios do Material Design (cores, ícones, tipografia)
    • Uso de componentes do Material (botões, floating action buttons, cards)
    • Implementação de temas e estilização para aplicativos Android

Semana 5: Design de Interface do Usuário no React Native

  • Layout Flexbox no React Native
    • Compreensão do Flexbox para design de layout responsivo
    • Criação de layouts baseados em colunas e linhas
    • Estilização de componentes de UI com propriedades do Flexbox (justifyContent, alignItems, etc.)
  • Componentes do React Native
    • Trabalho com componentes básicos como Text, View, TextInput e Button
    • Criação de elementos de UI interativos, como formulários e botões
    • Uso do componente ScrollView para conteúdo dinâmico

Semana 6: Manipulação de Dados no iOS e Android

  • Manipulação de Dados no iOS
    • Uso do UserDefaults para persistência simples de dados
    • Introdução ao Core Data para armazenamento local de dados complexos
    • Recuperação de dados de APIs usando URLSession
    • Parsing de dados JSON e exibição na UI
  • Manipulação de Dados no Android
    • Uso do SharedPreferences para armazenar pequenas quantidades de dados
    • Introdução ao SQLite e Room Persistence Library para gerenciamento de bancos de dados
    • Recuperação de dados de APIs usando Retrofit
    • Parsing de JSON e manipulação de respostas de API

Semana 7: Gerenciamento de Estado e APIs no React Native

  • Estado e Props no React Native
    • Gerenciamento do fluxo de dados dentro dos componentes do React Native
    • Uso do hook useState para gerenciar o estado local do componente
    • Passe de dados entre componentes pais e filhos via props
  • Recuperação de Dados no React Native
    • Uso da API Fetch e Axios para fazer requisições HTTP
    • Exibição dos dados recuperados em listas (usando FlatList, SectionList)
    • Persistência de dados localmente usando AsyncStorage no React Native

Semana 8: Navegação no iOS e Android

  • Navegação no iOS
    • Introdução aos navigation controllers e gerenciamento de múltiplas telas
    • Uso de segues para transição entre view controllers
    • Passe de dados entre view controllers
    • Implementação do TabBar e NavigationBar para navegação estruturada
  • Navegação no Android
    • Trabalho com Activities e Intents para aplicativos multi-tela
    • Passe de dados entre Activities usando Bundles
    • Criação de Navigation Drawer e BottomNavigationView
    • Implementação de fragments para navegação de UI flexível

Semana 9: Navegação no React Native

  • Fundamentos do React Navigation
    • Instalação e configuração do React Navigation
    • Uso do Stack Navigator para transições entre telas
    • Implementação do Tab Navigator e Drawer Navigator para navegação complexa
    • Passe de parâmetros entre telas e gerenciamento do estado de navegação

Semana 10: Recursos Avançados

  • Recursos Avançados no iOS:
    • Core Location e mapas
      • Acesso à localização do dispositivo com Core Location
      • Exibição de mapas usando MapKit
      • Manipulação de geolocalização e rastreamento da localização do usuário
    • Câmera e mídia
      • Acesso à câmera e biblioteca de fotos do dispositivo
      • Captura e exibição de imagens com UIImagePickerController
      • Armazenamento e recuperação de arquivos de mídia
  • Recursos Avançados no Android
    • Localização e mapas
      • Uso da API do Google Maps para exibir mapas e localização do usuário
      • Acesso aos dados de GPS e manipulação de geolocalização
    • Câmera e mídia
      • Uso do CameraX para capturar fotos e gerenciar permissões de câmera
      • Exibição de imagens e gerenciamento de armazenamento de mídia
  • Recursos Avançados no React Native
    • Mapeamento no React Native
      • Integração de mapas usando react-native-maps
      • Manipulação de serviços baseados em localização (geolocalização, roteamento)
    • Acesso à câmera e mídia
      • Uso da biblioteca React Native Camera para captura de fotos
      • Acesso ao armazenamento de mídia do dispositivo e gerenciamento de arquivos

Semana 11: Depuração e Testes

  • Depuração e Testes no iOS
    • Uso do depurador do Xcode
      • Definição de breakpoints e inspeção de variáveis no Xcode
      • Uso do console para depuração em tempo real
      • Problemas comuns de depuração e como resolvê-los
    • Testes unitários no iOS
      • Escrita e execução de testes unitários usando o framework XCTest
      • Mocking de objetos e teste de componentes de UI
  • Depuração e Testes no Android
    • Uso do Logcat no Android Studio
      • Logging e análise de erros usando o Logcat
      • Depuração de aplicativos Android com breakpoints
    • Testes unitários no Android
      • Escrita de testes unitários usando JUnit
      • Teste de componentes de UI do Android com Espresso
  • Depuração e Testes no React Native
    • Ferramentas de depuração do React Native
      • Uso do Chrome DevTools e React Native Debugger para depuração em tempo real
      • Logs de console e inspeção de requisições de rede
    • Testes unitários no React Native
      • Escrita de testes unitários usando Jest e Enzyme
      • Teste de componentes do React Native e gerenciamento de casos de teste

Semana 12: Implantação de Aplicativos e Projeto Final

  • Implantação e Distribuição
    • Submissão à App Store para iOS
      • Preparação do aplicativo para distribuição (ícones, certificados, provisioning profiles)
      • Uso da App Store Connect para submeter o aplicativo para revisão
      • Uso do TestFlight para testes beta
    • Submissão à Play Store para Android
      • Preparação do APK e assinatura do aplicativo para distribuição
      • Uso do Google Play Console para submissão e acompanhamento do aplicativo
      • Compreensão das políticas e diretrizes da Play Store
  • Desenvolvimento do Projeto Final
    • Desenvolvimento do projeto final
      • Criação de um aplicativo totalmente funcional à sua escolha
      • Incorporação de recursos avançados, como chamadas de API, navegação, mídia e localização
      • Apresentação e demonstração do aplicativo final para colegas e instrutores

Resumo e Próximos Passos

Requisitos

  • Compreensão básica de conceitos de programação
  • Conhecimento básico de JavaScript

Público-Alvo

  • Desenvolvedores móveis
  • Programadores
 420 Horas

Número de participantes


Preço por participante

Testemunhos de Clientes (3)

Próximas Formações Provisórias

Categorias Relacionadas