Caelum - Cursos de Java, Scrum, Ruby on Rails

IP-67 | Desenvolvimento móvel com iOS 5

[ 20 horas aula ]

O objetivo desse curso é torná-lo apto a desenvolver aplicativos para iOS, o sistema operacional usado pela Apple nos dispositivos móveis como o iPhone, iPad e iPod Touch. Com o conhecimento adquirido durante essas 20 horas de estudo, você será capaz de criar aplicações com a mesma aparência dos aplicativos nativos que já vêm instalados nesses aparelhos.

O foco é criar uma aplicação que faz uso de muitos componentes visuais, armazenamento de dados, passando por dicas de XCode que é o IDE oficial da Apple para desenvolvimento. Ao final do curso, você irá compreender os fundamentos básicos da linguagem Objective-C, utilizada pelos frameworks de desenvolvimento para iOS.

Curso novo com primeira turma para Março/2012. Somente na Caelum SP e na Caelum Rio. Ementa final sujeita a alterações.

Pré-requisitos: Experiência em programação com alguma linguagem de programação como Java, Ruby, C#, C ou C++.

Faça já sua reserva no IP-67 Entrar em contato Ver conteúdo detalhado

Próximas Turmas do IP-67

DataPeríodoCidadeComentário
26/03 a 30/03 Noturno (19:00 as 23:00) São PauloTurma com lista de espera!
09/04 a 13/04 Noturno (19:00 as 23:00) São PauloÚltimas Vagas!
14/04 a 28/04 Sábado (9:00 as 17:00) São Paulo
07/05 a 11/05 Noturno (18:00 as 22:00) Rio de Janeiro

Alguma dúvida? Quer fazer uma reserva? Entre em contato, estamos a disposição para atendê-lo


Conteúdo detalhado do IP-67

Introdução

  1. Top 10 - Celulares mais vendidos no Brasil de todos os tempos
  2. Top 10 - Celulares mais vendidos no Brasil no 1º Semestre de 2011
  3. Aplicativos mais vendidos na AppStore
  4. iOS Human Interface Guidelines (HIG)

Sua primeira aplicação

  1. Conhecendo o Xcode: o ambiente de desenvolvimento da Apple
  2. Criando um novo projeto
  3. Exercícios: Criando novo projeto no Xcode
  4. Primeira Aplicação para iOS
  5. Exercícios: Dando vida a aplicação
  6. A linguagem de programação Objective-C
  7. O simulador: testando a aplicação durante o desenvolvimento
  8. Exercícios

Começando com Objective-C

  1. História e objetivos da linguagem
  2. Uma linguagem dinâmica, orientada a objetos e suas características básicas
  3. Exercícios: Criando uma calculadora
  4. Relação íntima com o ambiente LLVM (e as linguagens C e C++)
  5. Alocação de memória antes e depois do ARC

iOS, o sistema operacional para dispositivos móveis da Apple

  1. Um rápido mergulho nas principais features e características
  2. Motivação: criar uma aplicação inspirada pelo aplicativo nativo Contacts
  3. Um componente para melhorar a navegação na aplicação: UINavigationController
  4. Apresentando dados da mesma forma que as aplicações nativas: UITableView
  5. Para saber mais: Outros comportamentos da UITableView
  6. Melhorando a usabilidade com transições animadas

Utilizando arquivos no formato Plist e acessando o sistema de arquivos

  1. Property List (plist), um formato de arquivo baseado em XML
  2. Callbacks: adicionando lógica ao ciclo de vida de uma aplicação
  3. Sistema de arquivos: como ler arquivos em sua aplicação
  4. Declarando atributos privados

Criando código de fácil manutenção

  1. Objective-C e Orientação a Objetos
  2. Descrevendo funcionalidades em classes e criando objetos
  3. Atributos, propriedades e encapsulamento (property e syntetize)
  4. Callbacks: adicionando lógica ao ciclo de vida de uma aplicação

Tratando entrada de dados dos usuário com componentes visuais específicos

  1. Obtendo informações do usuário: componentes de entrada de dados
  2. Criando comoponentes programaticamente: tudo é objeto
  3. Objective-C, uma linguagem dinâmica: buscando métodos em tempo de execução
  4. Exibindo novas telas de forma elegante
  5. Customizando a barra de navegação (UINavigationBar)

Delegando comportamento com protocolos e delegates

  1. Diminuindo o acoplamento para aumentar a qualidade do código
  2. Entendendo protocols e delegates

Usando o modo de edição nativo do UITableView

  1. Precisa editar uma view? Use o padrão do iOS!
  2. A fonte de dados de uma tabela: o UITableViewDataSource
  3. Excluindo um registro da tabela

Tirando proveito do hardware: interagindo com a câmera

  1. Usando a biblioteca de imagens nativa do dispositivo
  2. Acessando a câmera do dispositivo

Armazenando informações no sistema de arquivos

  1. Ciclo de vida da aplicação: callback de finalização
  2. Sistema de arquivos e plist: armazenando um NSDictionary

Usando conceitos de orientação a objetos para editar um registro

  1. Herança: um só formulário, duas funcionalidades!
  2. Usando um mesmo arquivo xib em vários controllers
  3. Métodos e propriedades privadas
  4. Selecionando uma linha em um UITableView
  5. Alterando uma linha em um UITableView
  6. Objetos são passados por referência
  1. Reconhecendo e respondendo aos gestos do usuário
  2. A api Gesture Recognizer
  3. Reconhecendo um toque prolongado com o UILongPressGestureRecognizer
  4. Entendendo a documentação de referência disponível no Xcode
  5. Algumas outras gesturas comuns

Fazendo ligações e a integração com aplicações nativas

  1. Uma aparência nativa com o UIActionSheet
  2. Fazendo ligações usando a aplicação nativa Phone
  3. Utilizando o aplicativo Maps para apontar um endereço
  4. Navegando! Abrindo uma URL usando o Safari

Utilizando componentes nativos

  1. Enviando emails de dentro de sua aplicação
  2. Utilizando o componente de envio de SMS

Apendice C: iPad, só mais um dispositivo iOS

  1. Migrando sua aplicação para iPad
  2. Melhorando a usabilidade com componentes visuais específicos do iPad
  3. Construindo uma única aplicação que pode rodar em iPhone ou iPad

Melhorando nossa aplicação com armazenamento de dados e mais componentes

  1. Uma tela de cadastro com a mesma aparência das aplicações nativas do iOS
  2. Entrando em contato com estruturas de dados do Objective-C
  3. Animando! Algumas transições prontas que o iOS já fornece
  4. UITableView para listarmos as informações cadastradas
  5. Usando DataSource para melhorar a manutenção do código de listas
  6. Adicionando funcionalidade aos componentes através de seus Delegates
  7. Um componente para melhorar a navegação na aplicação: UINavigationController

Apêndice: Integração com aplicações online

  1. Melhorando a usabilidade com requests assíncronos

Apêndice B: Disponibilizando seu aplicativo na Apple App Store

  1. App Store: a plataforma de distribuição de aplicações oficial da Apple
  2. Burocracias e dificuldades para testar sua aplicação em um dispositivo
  3. Sobre os guidelines da Apple para desenvolvimento de aplicações iOS
  4. Passos para a publicação de uma aplicação

          Criando uma lista de contatos

          1. Criando um novo projeto, utilizando o mínimo de mágica do Xcode
          2. ListaContatos
          3. Populando a nossa tabela
          4. Qual a melhor hora de criar o array de contatos?
          5. Para saber mais: Outros comportamentos da listagem
          6. Os dados vêm de algum lugar
          7. Organização com Modelos
          8. Cadastrando Contatos
          9. Salvando os dados
          10. Apagando dados
          11. UITableViewDataSource
          12. Alterando dados
          13. Salvando de verdade
          14. Adicionando imagens para os Contatos
          15. Extraindo todo o poder do nosso dispositivo
          16. Propriedades da aplicação
          17. Trocando para o SQLite

          Storyboard e CoreData

          1. CoreData
          2. Exercícios de CoreData
          3. Storyboard
          4. Exercícios de Storyboard
          5. Juntando Tudo!
          6. Exercícios Finais


          * Os apêndices listados são conteúdos adicionais que não fazem parte do curso regular.