Use o código e tenha 10% de desconto!

Swift Programe para iPhone e iPad

Guilherme Silveira, Joviane Jardim

Introdução

 

Motivação Mobile

O mercado iOS cresce cada vez mais no Brasil e, se a decisão de uma empresa ou indivíduo é a de criar aplicações nativas, a escolha prática para o mundo iOS acaba sendo entre Objective C ou Swift.

Como uma linguagem nova e beta, Swift ainda possui espaço para pequenas mudanças que podem alterar a maneira de um programador desenvolver uma aplicação. Entretanto, nesse instante, a Apple já a considera madura o suficiente para que novos aplicativos possam ser criados com ela. 

Por ser nova, foram trazidos conceitos que estão em voga na comunidade de desenvolvimento em geral, como podemos ver a influência da linguagem Scala em Swift.

Como trata-se de uma linguagem compilada e com uma IDE rica, recebemos muitas notificações de possíveis erros ainda em tempo de desenvolvimento, o que evita diversos erros tradicionais, como o acesso a ponteiros inválidos na memória, algo muito fácil de se proteger em Swift.

Para desenvolvedores novos no mundo iOS, este livro busca ser um guia que ensina diversas partes da linguagem e da API disponível, durante a criação e manutenção de uma aplicação mobile completa.

Todos os níveis de desenvolvedores podem se beneficiar dos conceitos de boas práticas, code smells, refatorações e design patterns apresentados no livro.

Boas práticas e code smells

O objetivo deste livro não é somente guiá-lo através de sua primeira aplicação iOS, mas sim de ser capaz de julgar por si só o que é uma boa estratégia de programação, por meio da introdução de uma dezena de boas práticas e code smells que facilitam ou dificultam a manutenção do código com o passar do tempo.

Um code smell é um sinal forte de que existe algo de estranho no código, não uma garantia de que existe um problema. Da mesma forma, boas práticas e design patterns possuem situações específicas que podem trazer mais mal do que benefícios. Como faremos no livro, toda situação encontrada deve ser analisada friamente: qual o custo de manter o código como está, e qual o custo de refatorá-lo?

Saber pesar e tomar decisões como esta diferenciam um programador iniciante de um profissional, e é isso que buscamos aqui: não somente ensinar a programar, mas sim criar profissionais em nossa área. 

São dezenas de boas práticas, design patterns e code smells catalogados no decorrer do livro que podem ser acessados diretamente pelo índice remissivo. 

 

Sumário

  • 1 Projeto: nossa primeira App
    • 1.1 Instalando o Xcode
    • 1.2 Nossa primeira App
    • 1.3 ViewController de cadastro de refeição
    • 1.4 Boa prática: placeholder e keyboard type
    • 1.5 Conectando a interface ao código
    • 1.6 Conectando variáveis membro à sua parte visual: @IBOutlet
    • 1.7 Resumo
  • 2 Swift: a linguagem
    • 2.1 Brincando no playground
    • 2.2 Arrays
    • 2.3 Boa prática: cuidado com inferência de tipos
    • 2.4 Resumo
  • 3 Swift: mapeando nossos modelos e introdução à Orientação a Objetos
    • 3.1 Boa prática: organizando os dados
    • 3.2 Boa prática: good citizen (evite nulos) e o init
    • 3.3 Nosso Good Citizen
    • 3.4 Code smell (mal cheiro de código): opcional!
    • 3.5 Resumo
  • 4 Projeto: organizando modelos com OO e arquivos em grupos
    • 4.1 Boa prática: crie um diretório por grupo
    • 4.2 Movendo arquivos no sistema operacional
    • 4.3 Aplicando o básico de Orientação a Objetos
    • 4.4 Resumo
  • 5 Listando as refeições com TableViewController
    • 5.1 Tabelas dinâmicas usando Dynamic Prototypes
    • 5.2 Resumo
  • 6 Projeto: lista de refeições
    • 6.1 Resumo
  • 7 Navegando entre telas
    • 7.1 Navegando com uma pilha de telas
    • 7.2 Resumo
  • 8 Design pattern: delegate
    • 8.1 Configurando um delegate via segue
    • 8.2 Code smell: nomes genéricos demais e como extrair um protocolo
    • 8.3 Entendendo parâmetros e underline
    • 8.4 Resumo
  • 9 Relacionamento um para muitos: lista de alimentos
    • 9.1 Protocolos da API
    • 9.2 Seleção múltipla e Cell Accessory
    • 9.3 Desselecionando elementos
    • 9.4 Armazenando a seleção
    • 9.5 Removendo os desselecionados
    • 9.6 Resumo
  • 10 Criando novos itens
    • 10.1 Pushando views para a pilha programaticamente
    • 10.2 Voltando de um push programático
    • 10.3 Invocando um delegate de forma programática
    • 10.4 Resumo
  • 11 Mostrando os detalhes de uma refeição com Long Press
    • 11.1 Recuperando onde ocorreu um evento de Long Press
    • 11.2 Mostrando os detalhes em um alerta
    • 11.3 Mostrando os detalhes dos itens
    • 11.4 Resumo
  • 12 Alerta: optionals e erros
    • 12.1 Boa prática: evite optional, garanta tudo com if let
    • 12.2 Tratando o erro com uma mensagem novamente
    • 12.3 Boa prática: mensagens de erro descritivas
    • 12.4 Refatoração: tratando diversos erros
    • 12.5 Parâmetros default
    • 12.6 Boa prática: Single Responsibility Principle, Princípio de Responsabilidade Única
    • 12.7 Casos mais complexos de tratamento de erro
    • 12.8 Code smell: nested ifs
    • 12.9 Resumo
  • 13 Removendo uma refeição
    • 13.1 Ações destrutivas e estilos
    • 13.2 Passando uma função como callback
    • 13.3 Identificando a linha a ser removida
    • 13.4 Removendo e atualizando a tela
    • 13.5 Closures
    • 13.6 Code smell: closures a rodo
    • 13.7 Resumo
  • 14 Armazenando as refeições dentro do file system
    • 14.1 Salvando as refeições no sistema de arquivos
    • 14.2 Salvando e lendo itens no sistema de arquivos
    • 14.3 Resumo
  • 15 Boa prática: dividindo responsabilidades e o Data Access Object
    • 15.1 Resumo
  • 16 Aonde chegamos e próximos passos

Dados do produto

Número de páginas:
243
ISBN:
978-85-5519-052-0
Data publicação:
12/2014

Compartilhe!

Compartilhe no Facebook Compartilhe no Twitter