Formação - IOS

Modalidade

100% on-line

Início

Outubro/2020

Duração

6 meses

Forma de Pagamento

Parcelado no cartão ou à vista no boleto

Objetivo do curso

Com esta formação, você estará preparado para atuar na criação e desenvolvimento de apps para IOS, além de aprender a aplicar a linguagem Swift no seu dia a dia.

Nossos professores

Ândriu Felipe Coelho

  1. A Linguagem Swift

Para conseguir desenvolver aplicativos para Ios, é necessário ter total compreensão da linguagem Swift.

Módulo: Swift parte 1: Desenvolvendo para iOS no Xcode

Conteúdo detalhado:

  • Nossa primeira app e o ViewController de cadastro de refeição - boas práticas em view com placeholder e keyboard type, conectando a interface ao código e o IBAction, variáveis, interpolação e tipagem implícita e explícita, conectando variáveis membro a sua parte visual IBOutlet e variáveis adicionais, as variáveis e seus tipos;
  • Aprendendo Swift no playground - comentários code smell double int e Bool, funções sem e com parâmetros e invocando funções, valores constantes, valores binários, passando parâmetros;
  • Arrays e tipos de laço for - passando arrays para funções retornos e cuidados com inferências, declarando arrays, o laço for, corrigindo bugs;
  • Classes, instâncias, objetos e propriedades de nossas refeições - optionalse uma primeira visão dos seus perigos, optionalscom interrogação e exclamação e além de um unwrapping com let, métodos que retornam opcionais, instanciando objetos, problemas com variáveis opcionais, o método Int();
  • Good Citizen e criando classes e aplicativos que nunca quebram com nulos - classe, item, arrays em classes e trabalhando com métodos, criando um inicializador, array de objetos, adicionando elementos no array;
  • Organizando o projeto com grupos - utilizando orientação a objetos no projeto e tentando limpar alguns optionals.

Módulo: Swift parte 2: UIKit, storyboard e o padrão delegate

Conteúdo detalhado:

  • ViewController, modificando componentes - conexão ao ViewController, a função numberOfRowsInSection, criando células para tabela;
  • Tabela Dinâmica de nossas refeições - configurando a tela de início da aplicação, problemas com o ViewController, a função cellForRowAt;
  • Compartilhando objetos entre controllers - navegação, criando botão no NavigationController, navegando com segue, recarregando a tabela com reloadData;
  • Definindo identificadores pros segues- métodos legíveis, diferenciando os segues;
  • Fugindo de um padrão e os delegates - definindo e adotando protocolos, adicionando seleção a elementos da tabela, Delegates;
  • Problemas de herança e inicializadores - navegação programática, chamando Views programaticamente.

Módulo: Swift parte 3: Gestures, DAOe o optional chaining

Conteúdo detalhado:

  • Gesture recognizer - Gestures e LongPress com UILongPressGestureRecognizer, perigo em tipagem: casting, reconhecendo qual célula e refeição foi pressionada;
  • Modal de alerta - apresentando um alerta com o UIAlertController, fechando um alert com um UIAlertAction, mostrando os detalhes de uma refeição;
  • Optional chaining - trabalhando com opcionais, entendendo todas as variações do optional, tratando o erro com um alerta;
  • Parâmetros com valores default e múltiplos parâmetros - simplificando if lets, preguiça, Do not Repeat Yourself e Extract Class, parâmetros com valor padrão, extract Method;
  • Closure - usando métodos como callbacks, removendo o elemento, usando closures como callbacks, recebendo closures como parâmetro;
  • Salvando e carregando imagens - serialização com NSCoder, NSCoding, NSObject, desserialização com required init e NSCoder, salvando as refeições com o NSKeyedArchiver, carregando as refeições, testando com o file system;
  • Responsabilidade única - design Pattern Data Access Object, nosso DAO, salvando e carregando refeições.

2. Layouts Responsivos

Compreenda o funcionamento de um Storyboard e aprenda como criar aplicativos com layouts responsivos. Neste passo, você aprenderá a usar Constraints e Stackview.

Módulo: iOS layout parte 1: Começando com telas responsivas

Conteúdo detalhado:

  • Iniciando a implementação do app "Alura Viagens" - iniciando o projeto Alura Viagens, começando com a menor tela, implementando UITableView, organizando a hierarquia de views no storyboard;
  • Customizando o layout do aplicativo - células customizadas, listando os títulos da viagem na TableView, customizando a célula da TableView;
  • Organizando a estrutura de arquivos do projeto - organizando os arquivos por pastas, alterando o layout dos elementos da célula, arredondando a UIImageView;
  • Aplicando constraints nos elementos do storyboard - introdução ao autolayout com constraints, aplicando constraints nos elementos, apagando e modificando valor da constraint;
  • Aplicando restrições nos elementos do storyboard - finalizando o layout do aplicativo, aplicando valores customizados nas constraints, alterando a altura da célula da TableView programaticamente.

Módulo: iOS layout parte 2: Mais recursos para criar telas responsivas

Conteúdo detalhado:

  • Continuação do app "Alura Viagens" - trabalhando com UIStackview, implementando UICollectionView, espaçamento dos elementos no Stackview;
  • Trabalhando com Tab Bar Controller e NSPredicate -implementando Tab Bar Controller, filtrando as viagens utilizando NSPredicate, listando as viagens filtradas;
  • Implementando diversos UIStackViews- protocolo 'UICollectionViewDelegate', enviando e recebendo objetos entre ViewControllers, posicionando elementos no StackView;
  • Propriedades do StackView - dimensionandoimagens no StackView, implementando UIScrollView, formatando tipos de teclado de acordo com Textfield;
  • Finalizando a implementação do app - formatando o layout do app, navegação entre telas, separando as responsabilidades do ViewController;
  • Customizando o tamanho dos elementos para iPad - adicionando customizações no layout do aplicativo, adicionando customizações no valor das constraints, atualização do Xcode e novos simuladores.

3.Frameworks nativos

Depois de aprender sobre as particularidades da linguagem Swift, você conhecerá os principais tipos de frameworks existentes.

Módulo: iOS parte 1: Usando recursos nativos

Carga horária: 10 horas

Conteúdo detalhado:

  • Utilizando a câmera do iPhone/iPad - acessando a biblioteca de fotos do iOS;
  • Persistindo dados usando Core Data - listando alunos com Core Data, editando alunos com Core Data, apagando alunos com Core Data;
  • Recursos nativos - criando Action Sheet, enviando SMS pelo app, ligação telefônica;
  • Trabalhando com Localização - localizando alunos através de apps externos, implementando mapa nativo, colocando pino no mapa;
  • Requisição HTTP nativa - consumindo web service para calcular nota dos alunos, exibindo a média dos alunos.

Módulo: IOS parte 2: Autenticação, GPS e mais recursos nativos

Carga horária:08 horas

Conteúdo detalhado:

  • Autenticação Local - utilize o framework LocalAuthentication;
  • Mapas -personalizando pino do mapa, exibir todos os pinos no mapa, uso do GPS;
  • Atalhos no iOS - crie Quick Actions para seu aplicativo;
  • Abrir páginas web - abrir páginas web com UIApplication, abrir páginas web com SafariViewController;
  • ícones no aplicativo - guideline ícones, tamanho dos ícones.

Post:

4. Integrações com APIs

Aprenda a trabalhar com web services e dados off-line.

Módulo: iOS parte 1: Web Services e Sincronização Off-line

Conteúdo detalhado:

  • Enviando informações para o servidor - preparando o ambiente, instalando o CocoaPods, salvando informações no servidor;
  • Recuperando informações do servidor - serializando o JSON de retorno, listando informações na TableView;
  • Atualizando informações do servidor - montando parâmetros para enviar na requisição, atualizando informações no servidor e local;
  • Deletando informações do servidor - requisição com método DELETE, sincronizando informações quando não há comunicação com servidor;
  • Code Review - identificando melhorias no código; Separando responsabilidades;

Módulo: iOS parte 2: Sincronização offline e integração com Firebase

Carga horária: 08 horas

Conteúdo detalhado:

  • Configurando Push Notification - introdução, configurando o Firebase, certificado de Push Notification, configurando o Cloud Messaging, testando o Push Notification, instalação do Firebase, consolidando seu conhecimento, o que aprendemos?
  • Recebendo mensagens do Cloud Messaging - integrando o servidor com o cloud messaging, enviando o token para o servidor, configurando as requisições, recebendo mensagem do Cloud Messaging, mensagem com Cloud Messaging, notification Center, consolidando seu conhecimento, o que aprendemos?
  • Serializando mensagem - manipuladores de conclusão (Completion Handlers), recursos FCM, consolidando seu conhecimento, o que aprendemos?, serializando mensagem, salvando os alunos, deletando alunos;
  • Versionando requisições - configurando a Tableview, recuperando novos alunos, salvando preferências com user defaults, recuperando a última versão, serializando alunos, verificando o status do aluno, requisições com versionamento, atualizando TableView, consolidando seu conhecimento, o que aprendemos?
  • Deletando alunos offline - sincronizando aluno off-line, consolidando seu conhecimento, o que aprendemos?, enviando alunos não sincronizados, sincronizando alunos, sincronizando alunos deletados, deletando alunos off-line, conclusão.

Workshop

Acontecerá um workshop no semestre, em que todas as turmas dos bootcamps serão reunidas para solucionar um problema de negócios em conjunto.

Webinars

Além dos conteúdos das aulas e workshop presencial, você poderá participar de webinars exclusivos com convidados especialistas nos temas dos módulos para conversar sobre trending topics específicos do mercado e aplicações práticas no seu dia a dia. Ao todo, serão 3 webinars ao longo do curso.

Powered by: