Desenvolvimento para iPhone e iPad é um curso completo para profissionais de tecnologia aprenderem a desenvolver aplicativos para a plataforma iOS da Apple.
| Conceitos Iniciais |
Introdução ao iOS e recursos do sistema Introdução a Objective-C Introdução a MVC Overview das ferramentas usadas no curso |
| MVC |
O Design Pattern MVC Model - O que é e para que serve? View - O que é e para que serve? Controller - O que é e para que serve? Model View Controller : Como trabalham juntos? Relacionamento e fluxo entre Model, View e Controller |
| Introdução ao Fluxo de comunicação entre MVC |
Target Action Delegation Protocols Outlets Datasource |
| Objective-C |
Sintaxe da linguagem Criação de classes Interface.h vs Implementation.m Herança Interface privada de uma classe Sintaxe de métodos e parâmetros (declaração e construção) Sintaxe de declaração e construção de propriedades (métodos getters e setters) Propriedades vs Variáveis de instância Ponteiros Execução de métodos Notação de pontos Storage types (Strong vs weak) Métodos estáticos Instanciação de objetos (alloc init) Tipagem de objetos Instrospecção Estruturas lógicas de iteração e enumeração Typedef C Structs |
| Foundation Framework |
Tipos de dados nativos básicos Tipos de dados primitivos Objetos vs Objetos mutáveis Property lists (Array, set, dictionary) |
| Views |
Definição de Views Hierarquia de views Coordenadas Tipos de dados relativos a posicionamento e tamanho Relatividade de valores (bounds vs frame, origin vs center) Criando views Usando o método drawRect Desenhando views personalizadas dinamicamente Desenhando textos Desenhando imagens Struts e Springs ImageView WebView ScrollView |
| ViewControllers |
Ciclo de vida de um ViewController Detectando eventos de sistema |
| Gestos |
Gesture Recognizers Pan Pinch Tap Outros gestos comuns Autorotation |
| Protocolos |
O que são protocolos Delegation Datasource Relacionamento e hierarquia de fluxo de informações entre classes |
| Storyboards |
Como usar múltiplos MVCs Criando storyboards da aplicação Criando e usando Segues Tipos de Segues Estruturas de navegação entre MVCs Diferentes transições entre views e múltiplos MVCs |
| iPad |
Estruturas de navegação específicas do iPad Split view Popover controller Aplicações universais |
| Controles úteis |
Toolbar Botões Tables Input Texts Navigation Controllers Tabbar Controller Toolbar Buttons Flexible spaces Modal ViewControllers Interagindo com teclado ActionSheets ImagePicker CoreMotion (Usando o acelerômetro e Gyro) |
| TableViews |
Usando TableViewControllers para exibir dados Exibindo tables multi dimensionais Tipos de TableViews TableView com seções Criando células personalizadas Navegando entre diferentes TableViews Criando estruturas de Master/Detail Protocolos e Dados dinâmicos de uma TableView Detectando eventos do usuário |
| Multithread |
Entendendo blocks Tipos de Blocks Blocks vs Variáveis de instância Blocks vs Manipulação e otimização de memória Grand Central Dispatch Criando threads Executando processos em diferentes threads Otimização de performance de aplicações Carregamento remoto de dados em diferentes threads |
| CoreLocation |
Tipos de dados de localização Coordenadas Detectando a localização do usuário Detectando dados sobre a movimentação do usuário (velocidade, altitude, curso etc) Detectando disponibilidade de serviços de localização do dispositivo |
| MapKit |
Exibindo mapas Exibindo informações localizadas no mapa Annotations Interagindo com locais no mapa Personalizando informações no mapa Overlays |
| Persistência |
Property lists Archiving File system SQLite CoreData Banco de dados complexos e orientados a objeto Conectando modelos com bancos de dados |
| Animação |
Criando animações personalizadas com Views Tipos e opções de animação Timers |
| Debugging e Versionamento |
Técnicas de debug de aplicativos Ambiente de versionamento de código (Git e SVN) |