Desenvolvendo para iPhone e iPad 3ª edição

Atualizado para iOS 10 e XCode 8. Livro completo, do básico ao avançado.
Contém uma introdução ao XCode e as linguagens Objective-C e Swift.
Aprenda a programar para iOS de forma simples e prática.
Desenvolvimento do projeto dos Carros para iPhone e iPad, entre outros assuntos.



Metodologia focada em aplicativos. Aprenda fazendo!
Neste livro você vai desenvolver passo a passo o projeto dos Carros e com boas práticas.
Muitos exemplos com código; GPS, sensores (acelerômetro/giroscópio), multimídia; áudio e vídeo, câmera e fotos, animações, views customizadas com Quartz 2D, games com SpriteKit, Push Notifications, App Store, anúncios (iAds) e muito mais.

O Projeto

Este projeto contém diversos requisitos encontrados am aplicativos comerciais, como: interface atualizada para iOS7, consulta em web services, persistência, multimídia, mapas, gps e muito mais.


Capítulos

Leia a descrição dos capítulos, e entenda porque você deve comprar este Livro.

Sumário oficial: baixe aqui

  • Capítulo 01 - Introdução

    Introdução ao desenvolvimento para iOS e conceitos básicos.

    Um projeto hello world é criado, para executar no simulador do iPhone e iPad, para validar a instalação do Xcode.

  • Capítulo 02 - Objective-C

    Introdução ao Objective-C por meio de exemplos práticos executando no Xcode.

    Sintaxe da linguagem, declarando variáveis, chamando métodos, etc.

    Orientação à Objetos: classes, construtores, níveis de acesso, herança, interfaces, propriedades.

    Principais classes com exemplos, ex: NSArray, NSDictionary, etc.

  • Capítulo 03 - O primeiro aplicativo para iPhone

    Vamos criar o primeiro aplicativo para iPhone, e desenvolver um simples formulário no Interface Builder.

    Aprenda como adicionar componenentes na tela (labels, texto, botões) e tratar os eventos.

    Introdução a outlets e actions.

    Estrutura do projeto e principais arquivos, ciclo de vida, conceitos fundamentais, customizar as imagens do projeto: como ícones e splashs.

    Aproveitamos para explicar diversas dicas sobre o Xcode e Interface Builder, teclas de atalho, visualizar os logs, onde verificar as mensagens de erro, como debugar o projeto, etc.

    No final deste capítulo você terá conhecimentos básicos para criar telas para iPhone.

  • Capítulo 04 - Formulários e Componentes

    Neste capítulo o exemplo inicial é evoluído, para explicarmos outros componentes.

    Como controlar o teclado virtual do iPhone.

    Introdução ao design pattern Delegate.

    Como utilizar as imagens para telas normais e de retina.

  • Capítulo 05 - Navegação

    Existem algumas maneiras de navegar de uma tela para outra e passar parâmetros, e vamos estudar todas elas.

    Alguns assuntos deste capítulo são o navigation controller e storyboards.

  • Capítulo 06 - Tab Bar Controller

    Muitos aplicativos para iOS utilizam o componente Tab Bar para criar interfaces, pois é um padrão recomendado pela Apple.

    Este capítulo explica tudo sobre este componente, e inclusive vamos iniciar o desenvolvimento do projeto dos Carros, preparando a estrutura de navegação por tabs.

  • Capítulo 07 - WebView

    O componente WebView permite exibir páginas da web dentro do aplicativo, como um browser.

    Vamos aprender a utilizá-lo de diversas maneiras (html fixo, site offline ou online), e vamos aproveitar para desenvolver a página de sobre o livro (que é um link para uma página).

    Vamos estudar o conceito de Delegates, e aprender a monitorar o carregamento das páginas (início/fim/erro), para exibir uma animação durante o carregamento.

    Nossa metodologia, é explicar os componentes (como o ActivityIndicator para animação) sempre que for necessário utilizar no projeto dos carros. Portanto, aprenda fazendo.

  • Capítulo 08 - TableView (Lista de Carros)

    O componente TableView é o mais utilizado em qualquer aplicação, pois permite exibir uma lista com algmas informações.

    Vamos estudar este componente, e aproveitar para continuar o projeto, e desenvolver a tela que exibe a lista de carros, explicando todos os conceitos passo a passo.

    Neste momento, a lista de carros será criada com um simples array de objetos (Carro) de forma estática, pois vamos focar no componente da lista.

    Também vamos desenvolver a tela de detalhes do carro, e validar importantes conceitos sobre a navegação de telas (lista -> detalhes).

  • Capítulo 09 - Telas na Horizontal e Sensores

    Neste capítulo vamos aprender a utilizar os sensores de acelerômetro e giroscópio.

    Aprenda como controlar a troca de orientação das telas (vertical e horizontal) e como customizar a interface para determinada orientação.

    Aprenda o Autolayout.

    Para validar os conceitos, vamos continuar o projeto, e criar uma tela customizada dos detalhes do carro, para a horizontal.

  • Capítulo 10 - Parser de XML e JSON

    XML e JSON são arquivos muito utilizados como forma de comunicação e integração com web services.

    Aprenda a fazer parser de XML por SAX e DOM, que são duas abordagens clássicas de parser.

    Aprenda a fazer parser de JSON.

    Para validar os conceitos vamos inserir um arquivo XML ou JSON no projeto dos carros (você escolhe o formato), e alterar a camada de negócio, para criar o array de carros, a partir deste arquivo.

  • Capítulo 11 - HTTP, Web Services e Threads

    Este é outro assunto que não pode ficar de fora, e é um dos mais importantes em aplicativos comerciais.

    Aprenda a fazer requisições HTTP (REST) ou utilizar um web service tradicional (WSDL).

    É explicado o funcionamento de requisições síncronas e assíncronas, e os prós/contras de cada uma.

    Aprenda como utilizar Threads corretamente, e utilizar filas de execuções para melhorar o desempenho do aplicativo.

    O foco é explicar boas práticas, e vamos desenvolver um mini-framework para executar operações demoradas, como acessar um web service ou banco de dados.

    No final, vamos continuar o projeto dos carros, e consultar os arquivos XML e JSON de um web service. Depois desta implementação, o aplicativo estará totalmente online.

  • Capítulo 12 - Persistência

    Aprenda a ler e salvar arquivos, e como salvar dados simples nas preferências do usuário.

    Banco de dados com SQLite e o framework CoreData para persistência de objetos.

    No projeto dos carros, todos os dados são online. Mas neste capítulo o requisito é salvar os dados dos carros no banco de dados, para que no próximo acesso as informações sejam lidas diretamente do banco, sem a necessidade de efetuar uma nova conexão de dados.

    Aprenda persistência na prática desenvolvendo o projeto dos carros. Também vamos inserir um botão de atualizar na navigation bar para buscar/atualizar os dados online novamente.

    Enquanto os dados dos carros estão salvos no banco de dados, podemos alterar os dados ou exluir algum o carro.

  • Capítulo 13 - Mapas e GPS

    Tudo o que você precisa saber para inserir um mapa no aplicativo e ler informações do GPS.

    Aprenda a controlar o mapa, desenhar marcadores, traçar rotas, calcular distâncias, etc.

    Boas práticas para utilizar o GPS, e obter as coordenadas de latitutude e longitude.

    Vamos continuar o projeto, e nas telas de detalhes de cada carro é possível visualizar no mapa o local da fábrica do carro. Por exemplo ao visualizar os detalhes da Ferrari FF, podemos exibir no mapa a fábrica da Ferrari na Itália. Os dados das coordenadas estão no web service.

  • Capítulo 14 - Multimídia

    Aprenda a reproduzir e gravar, áudio e vídeo, a partir de arquivos fixo no projeto ou por streamming.

    Acessar a galeria de fotos.

    Tirar fotos com a câmera.

    Novamente vamos melhorar o projeto dos carros. Como cada carro possui um vídeo (que está hospedado no site), vamos aprender diversas maneiras de exibir o vídeo do carro selecionado.

  • Capítulo 15 - iPad

    Para desenvolver para iPad precisamos conhecer as boas práticas, para aproveitar ao máximo o espaço disponível na tela.

    Aprenda as novas classes que foram criadas para auxiliar o desenvolvimento para iPad: como Popovers e Split View Controller.

    Como criar projetos universais: para funcionar no iPhone e iPad.

    Como customizar a lógica de negócios e interface de usuário para iPad.

    No final do capítulo, vamos aprimorar o projeto dos carros, e criar uma interface customizada para iPad.

  • Capítulo 16 - Interface Builder

    Geralmente as configurações e criação de objetos, são feitas no código-fonte.

    Mas no iOS muitas configurações, e até criar objetos e seus relacionamentos, pode ser feito de forma visual, sem uma linha de código.

    Neste capítulo vamos aprender importantes conceitos do Interface Builder, para utilizar menos código ao desenvolver aplicativos.

  • Capítulo 17 - Animações

    Animações não pode faltar não né?.

    Aprenda a criar as animações mais conhecidas, como mover objetos pela tela, rotacionar e redimensionar, e efeitos de transparência.

    A forma recomendada de criar animações no iOS é utilizando blocos (blocks), que é um trecho de código executável que pode ser executado independentemente, ou até passado como parâmetro para uma função.

    Vamos aproveitar este capítulo e estudar diversos conceitos sobre a utilização de blocos, com exemplos práticos.

  • Capítulo 18 - Views, Touch, Gestos, Quartz 2D e SpriteKit

    Aprenda a desenhar views customizadas e a tratar os eventos de touch.

    Exemplo de como mover uma view pela tela, arrastando com o dedo.

    Dynamic Behavior (iOS7)

    Aprenda o SpriteKit (iOS7): novo framework de desenvolvimento para jogos 2D criado no iOS7.

    Desenhos de baixo nível (canvas) com o Quartz: desenhar linhas, quadrados, círculos, etc.

  • Capítulo 19 - Gerenciamento de Memória e Profiler

    É muito importante entender o funcionamento do gerenciamento de memória no iOS.

    Vamos explicar os conceitos de retain, release, autorelease e ARC.

    Mesmo que você aprenda a utilizar o ARC (gerenciamento automático de memória), é importante entender o gerencimento de memória manual, pois mais cedo ou mais tarde, você vai acabar se deparando com códigos, projetos, e frameworks que utilizam esta abordagem.

    Existem diversas ferramentas de profiler no Xcode, para auxiliar o desenvolvedor a encontrar problemas comuns, como vazamento de memória.

    Aprenda a utilizar estas ferramentas neste capítulo, para monitorar a memória, verificar os objetos vivos na aplicação, chamadas de métodos, etc.

  • Capítulo 20 - Local e Push Notifications

    Aprenda como funciona o sistema de notificações do iOS.

    Vamos estudar Local e Push Notifications.

    Exemplo de como criar um servidor para enviar as mensagens de push.

  • Capítulo 21 - App Store

    Neste capítulo vamos aprender a instalar e debugar o projeto diretamente no seu iPhone ou iPad, que está conectado na USB.

    O processo da Apple é burocrático, mas será fornecido todos os passos para você se tornar um desenvolvedor Apple.

    Aprenda a assinar e publicar seu projeto na App Store passo a passo.