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++.
Próximas Turmas do IP-67
| Data | Período | Cidade | Comentário |
|---|---|---|---|
| 26/03 a 30/03 | Noturno (19:00 as 23:00) | São Paulo | Turma 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 |
Conteúdo detalhado do IP-67
Introdução
- Top 10 - Celulares mais vendidos no Brasil de todos os tempos
- Top 10 - Celulares mais vendidos no Brasil no 1º Semestre de 2011
- Aplicativos mais vendidos na AppStore
- iOS Human Interface Guidelines (HIG)
Sua primeira aplicação
- Conhecendo o Xcode: o ambiente de desenvolvimento da Apple
- Criando um novo projeto
- Exercícios: Criando novo projeto no Xcode
- Primeira Aplicação para iOS
- Exercícios: Dando vida a aplicação
- A linguagem de programação Objective-C
- O simulador: testando a aplicação durante o desenvolvimento
- Exercícios
Começando com Objective-C
- História e objetivos da linguagem
- Uma linguagem dinâmica, orientada a objetos e suas características básicas
- Exercícios: Criando uma calculadora
- Relação íntima com o ambiente LLVM (e as linguagens C e C++)
- Alocação de memória antes e depois do ARC
iOS, o sistema operacional para dispositivos móveis da Apple
- Um rápido mergulho nas principais features e características
- Motivação: criar uma aplicação inspirada pelo aplicativo nativo Contacts
- Um componente para melhorar a navegação na aplicação: UINavigationController
- Apresentando dados da mesma forma que as aplicações nativas: UITableView
- Para saber mais: Outros comportamentos da UITableView
- Melhorando a usabilidade com transições animadas
Utilizando arquivos no formato Plist e acessando o sistema de arquivos
- Property List (plist), um formato de arquivo baseado em XML
- Callbacks: adicionando lógica ao ciclo de vida de uma aplicação
- Sistema de arquivos: como ler arquivos em sua aplicação
- Declarando atributos privados
Criando código de fácil manutenção
- Objective-C e Orientação a Objetos
- Descrevendo funcionalidades em classes e criando objetos
- Atributos, propriedades e encapsulamento (property e syntetize)
- Callbacks: adicionando lógica ao ciclo de vida de uma aplicação
Tratando entrada de dados dos usuário com componentes visuais específicos
- Obtendo informações do usuário: componentes de entrada de dados
- Criando comoponentes programaticamente: tudo é objeto
- Objective-C, uma linguagem dinâmica: buscando métodos em tempo de execução
- Exibindo novas telas de forma elegante
- Customizando a barra de navegação (UINavigationBar)
Delegando comportamento com protocolos e delegates
- Diminuindo o acoplamento para aumentar a qualidade do código
- Entendendo protocols e delegates
Usando o modo de edição nativo do UITableView
- Precisa editar uma view? Use o padrão do iOS!
- A fonte de dados de uma tabela: o UITableViewDataSource
- Excluindo um registro da tabela
Tirando proveito do hardware: interagindo com a câmera
- Usando a biblioteca de imagens nativa do dispositivo
- Acessando a câmera do dispositivo
Armazenando informações no sistema de arquivos
- Ciclo de vida da aplicação: callback de finalização
- Sistema de arquivos e plist: armazenando um NSDictionary
Usando conceitos de orientação a objetos para editar um registro
- Herança: um só formulário, duas funcionalidades!
- Usando um mesmo arquivo xib em vários controllers
- Métodos e propriedades privadas
- Selecionando uma linha em um UITableView
- Alterando uma linha em um UITableView
- Objetos são passados por referência
- Reconhecendo e respondendo aos gestos do usuário
- A api Gesture Recognizer
- Reconhecendo um toque prolongado com o UILongPressGestureRecognizer
- Entendendo a documentação de referência disponível no Xcode
- Algumas outras gesturas comuns
Fazendo ligações e a integração com aplicações nativas
- Uma aparência nativa com o UIActionSheet
- Fazendo ligações usando a aplicação nativa Phone
- Utilizando o aplicativo Maps para apontar um endereço
- Navegando! Abrindo uma URL usando o Safari
Utilizando componentes nativos
- Enviando emails de dentro de sua aplicação
- Utilizando o componente de envio de SMS
Apendice C: iPad, só mais um dispositivo iOS
- Migrando sua aplicação para iPad
- Melhorando a usabilidade com componentes visuais específicos do iPad
- Construindo uma única aplicação que pode rodar em iPhone ou iPad
Melhorando nossa aplicação com armazenamento de dados e mais componentes
- Uma tela de cadastro com a mesma aparência das aplicações nativas do iOS
- Entrando em contato com estruturas de dados do Objective-C
- Animando! Algumas transições prontas que o iOS já fornece
- UITableView para listarmos as informações cadastradas
- Usando DataSource para melhorar a manutenção do código de listas
- Adicionando funcionalidade aos componentes através de seus Delegates
- Um componente para melhorar a navegação na aplicação: UINavigationController
Apêndice: Integração com aplicações online
- Melhorando a usabilidade com requests assíncronos
Apêndice B: Disponibilizando seu aplicativo na Apple App Store
- App Store: a plataforma de distribuição de aplicações oficial da Apple
- Burocracias e dificuldades para testar sua aplicação em um dispositivo
- Sobre os guidelines da Apple para desenvolvimento de aplicações iOS
- Passos para a publicação de uma aplicação
Criando uma lista de contatos
- Criando um novo projeto, utilizando o mínimo de mágica do Xcode
- ListaContatos
- Populando a nossa tabela
- Qual a melhor hora de criar o array de contatos?
- Para saber mais: Outros comportamentos da listagem
- Os dados vêm de algum lugar
- Organização com Modelos
- Cadastrando Contatos
- Salvando os dados
- Apagando dados
- UITableViewDataSource
- Alterando dados
- Salvando de verdade
- Adicionando imagens para os Contatos
- Extraindo todo o poder do nosso dispositivo
- Propriedades da aplicação
- Trocando para o SQLite
Storyboard e CoreData
- CoreData
- Exercícios de CoreData
- Storyboard
- Exercícios de Storyboard
- Juntando Tudo!
- Exercícios Finais
* Os apêndices listados são conteúdos adicionais que não fazem parte do curso regular.

