Programa do Curso

Introdução

Semana 1: Introdução a Mobile Development

  • Ecossistema de aplicações móveis e tendências
    • Introdução ao panorama das aplicações móveis (iOS e Android)
    • Diferenças entre aplicações nativas, híbridas e multiplataforma
    • Visão geral do fluxo de trabalho e das ferramentas de desenvolvimento de aplicações móveis
  • Desenvolvimento nativo vs. multiplataforma
    • Principais diferenças entre o desenvolvimento de aplicações para uma única plataforma (nativo) e para várias plataformas (multiplataforma)
    • Vantagens e desvantagens de cada abordagem
    • Visão geral das plataformas nativas comuns (iOS, Android) e das ferramentas multiplataforma (React Native, Flutter)
  • Introdução ao JavaScript Programming
    • Sintaxe básica e estrutura do JavaScript
    • Variáveis, constantes e tipos de dados (número, cadeia de caracteres, booleano, objeto)
    • Operadores e expressões
    • Fluxo de controlo: if, else, switch
    • Introdução às funções e ao âmbito de aplicação (âmbito global vs âmbito local)
  • Configuração do Xcode para desenvolvimento iOS
    • Introdução ao IDE Xcode: interface, ferramentas e fluxo de trabalho
    • Instalação do Xcode e execução do simulador iOS
    • Introdução à linguagem de programação Swift
    • Escrever uma aplicação básica Swift e executá-la no simulador iOS
  • Configurar o Android Studio para Android Desenvolvimento
    • Instalar o Android Studio e configurar o ambiente
    • Configurar e utilizar o emulador Android
    • Introdução à linguagem de programação Kotlin e sintaxe básica
    • Escrever uma aplicação Kotlin básica e executá-la no emulador Android
  • Configuração do ambiente de desenvolvimento nativo do React
    • Instalação do Node.js e do React Native CLI
    • Introdução à Expo e criação de um projeto com a Expo
    • Execução de uma aplicação "Hello World" simples nos emuladores iOS e Android

Semana 2: Fundamentos de iOS e Android

  • Introdução ao Swift e ao Xcode IDE
    • Variáveis e tipos de dados em Swift (Int, Float, String, Bool, etc.)
    • Constantes com let e variáveis com var
    • Instruções de fluxo de controlo(if, switch, loops)
    • Funções e parâmetros em Swift
    • Tratamento de erros em Swift
  • Conceção da interface do utilizador em iOS
    • Introdução aos storyboards e ao Xcode Interface Builder
    • Conceber layouts de aplicações utilizando o Auto Layout e restrições
    • Adicionar componentes de IU: botões, etiquetas, campos de texto, imagens
    • Tratamento de interações e eventos do utilizador (por exemplo, cliques em botões)
    • Criar um formulário de início de sessão simples e validar a entrada do utilizador
  • Introdução ao Kotlin e ao Android Studio IDE
    • Sintaxe básica do Kotlin (variáveis, tipos de dados e funções)
    • Compreender a segurança nula e as classes de dados do Kotlin
    • Introdução à arquitetura e aos componentes da aplicação Android (Activities, Fragmentos)
    • Lidar com o ciclo de vida da atividade em aplicações Android
  • Desenho da interface do utilizador em Android
    • Projetar UIs Android usando arquivos de layout XML
    • Trabalhar com gestores de layout (LinearLayout, RelativeLayout, ConstraintLayout)
    • Adicionar componentes interactivos (botões, vistas de texto, editar textos)
    • Utilização de Java/Kotlin para tratar a entrada do utilizador e as transições de atividade
    • Construir um formulário de login com validação de entrada
  • Noções básicas de depuração no Xcode e no Android Studio
    • Como utilizar pontos de interrupção, registos e a consola do depurador
    • Ferramentas e técnicas de depuração comuns para iOS (Xcode Instruments, Simulator)
    • Ferramentas de depuração comuns para Android (Logcat, Android Debug Bridge)
  • Testar e executar aplicativos em dispositivos reais
    • Conectando dispositivos físicos ao Xcode e ao Android Studio
    • Implantação de aplicativos em dispositivos físicos (iPhones e Android telefones)
    • Simulação de diferentes condições de rede, níveis de bateria e métricas de desempenho

Semana 3: Desenvolvimento multiplataforma com React Native

  • Introdução ao React Native e ao JavaScript para dispositivos móveis
    • O que é React Native e por que usá-lo?
    • Visão geral de como o React Native traduz o JavaScript em código nativo
    • Sintaxe JSX: Escrever estruturas do tipo HTML em JavaScript
    • Componentes React: Componentes funcionais versus componentes baseados em classes
    • Estado e Props: Gerir o fluxo de dados em componentes React Nativos
  • Estilos em React Nativo
    • Introdução ao Flexbox e sua importância no design de layout
    • Criação de layouts responsivos para iOS e Android
    • Aplicação de estilos específicos da plataforma utilizando o módulo Platform do React Native
  • React Navegação para aplicações multiplataforma
    • Introdução à React Navegação e aos contentores de navegação
    • Criar a navegação em pilha para transições de ecrã
    • Implementação da navegação por separadores e gavetas para aplicações mais complexas
    • Passagem de dados entre ecrãs e gestão de estados de navegação
  • [Caraterísticas nativas do dispositivo
    • Utilização de funcionalidades do dispositivo, como a câmara e a localização em React Native
    • Integração de APIs como Geolocalização, Câmara e AsyncStorage
    • Tratamento das permissões de acesso ao hardware do dispositivo (diferenças entre iOS e Android)
    • Armazenamento de dados localmente com AsyncStorage e integração de bibliotecas de terceiros para persistência
  • Preparar aplicações para implementação
    • Configurar definições de aplicações para produção no Xcode e no Android Studio
    • Criar APKs para Android e testar em dispositivos reais
    • Preparar iOS aplicações para submissão na App Store (ícones de aplicações, assinatura de certificados)
    • Finalização de React projectos nativos para implementação de produção em ambas as plataformas
  • Apresentação final do projeto
    • Apresentação da aplicação nativa multiplataforma React final à turma
    • Recolha de feedback e discussão de potenciais melhorias
    • Sessão final de perguntas e respostas e observações finais

Resumo e próximos passos

Requisitos

  • Conhecimento básico dos conceitos de programação

Público

  • Programadores de telemóveis
  • Programadores
 105 Horas

Declaração de Clientes (5)

Próximas Formações Provisórias

Categorias Relacionadas