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

Kotlin com Android Crie aplicativos de maneira fácil e divertida

Kassiano Resende

Público-alvo e pré-requisitos

Este livro é indicado a todos os desenvolvedores que querem começar a utilizar a linguagem Kotlin para criar aplicativos Android. A abordagem utilizada abrange desde o leitor iniciante no mundo de desenvolvimento até os mais experientes que queiram conhecer a linguagem Kotlin.

É um pré-requisito para o completo entendimento do conteúdo aqui abordado conhecer lógica de programação e suas estruturas básicas em qualquer linguagem. Não é um pré-requisito saber conceitos de Orientação a Objetos nem a linguagem Java, mas se você já possuir esse conhecimento será de grande valia.

Sobre o autor

Iniciei minha carreira em tecnologia em meados de 2007, quando fiz o curso técnico de Redes de Computadores no SENAI. Foi lá que tive os primeiros contatos com programação e conheci a linguagem Visual Basic, juntamente com a plataforma .NET. Como meu curso técnico era de 2 anos e só tive programação em um semestre, tive que começar a estudar programação sozinho. Passava horas e horas em fóruns da Microsoft pesquisando, respondendo dúvidas e tirando dúvidas também! Com toda certeza, estar engajado com a comunidade naquele momento foi crucial para o meu desenvolvimento pessoal como desenvolvedor.

Ainda como estudante do SENAI, eu participei do projeto Student to Business da Microsoft, no qual aprendi a linguagem C# e conceitos de Orientação a Objetos. Isso foi revolucionário para mim. Meses depois, entrei na FATEC para o curso de Tecnologia e Desenvolvimento de Jogos Digitais. Foram 3 anos e meio de muito trabalho, aprendizado e resiliência e, apesar de eu nunca ter trabalhado de fato com desenvolvimento de jogos, programar um jogo envolve desafios complexos de programação que me ajudaram muito a resolver problemas do dia a dia de qualquer sistema.

Em paralelo à faculdade, eu trabalhava com desenvolvimento ASP.NET com C# para uma startup chamada Donuts4U e lá fiquei por 6 anos trabalhando com muitos sistemas, às vezes alocado em clientes, às vezes desenvolvendo produtos internos, mas sempre com muito aprendizado envolvido. Nesse período, integrei uma equipe altamente qualificada e com visão moderna das coisas e trabalhar junto a essas pessoas contribuiu muito para meu desenvolvimento, com toda a certeza.

Hoje sou professor do SENAI no curso técnico de Desenvolvimento de Sistemas. Ministro aulas de programação, mas principalmente na disciplina de Desenvolvimento mobile com Android e Java. Sigo me dedicando ao ensino desde 2015, realmente é algo que faço com paixão. Tenho experiência em diversas linguagens de programação, C, C#, Java, PHP, JavaScript, Swift, Python, Kotlin. A questão é que a linguagem de programação é simplesmente nossa ferramenta de trabalho, não nossa razão de viver. Ontem, a linguagem para Android era Java e eu adoro Java; hoje, a linguagem que faz sentido para Android é Kotlin e eu também adoro Kotlin! Quando sair uma linguagem nova, uma plataforma diferente eu estarei lá aprendendo também. Hoje meu foco de estudos em tecnologia está voltado a Deep Learning.

Sou pós-graduado em Psicopedagogia também, meu lado de humanas. Mas ser professor é ser de humanas, às vezes não importam os ifs e elses, os bytes ou códigos, o ensino é transcendente ao meramente técnico. O ensino toca a alma e, citando uma frase de um dos autores de que eu mais gosto na Psicologia, Carl Jung: "Conheça todas as teorias, domine todas as técnicas, mas ao tocar uma alma humana, seja apenas outra alma humana."

Prefácio

Para mim, um bom livro tem que ter uma boa narrativa. Não importa que seja um livro técnico, ele precisa envolver o leitor no processo de aprendizagem com fluência, didática e boas pitadas de embasamento conceitual revelador.

É o que eu identifico neste livro. Apesar de não ter participado do processo de construção do livro, ao lê-lo tive a sensação de que ele tinha sido feito para mim. Não me senti "sozinho" tendo acesso a um corpo de conhecimento, me senti amparado de perto por alguém que queria me mostrar uma novidade, trazendo argumentos e exemplos muito conectados com a minha realidade de desenvolvimento de software.

Faço parênteses para me apresentar: sou Daniel Makiyama e trabalho na área de software há 16 anos. Já aproveito para dizer que, hoje estando no cargo de gestor de desenvolvimento de software e professor de pós-graduação, continuo sendo um desenvolvedor de software, pois continuo aprendendo e desenvolvendo sistemas, e isso nunca deve parar. Aliás, faço um apelo aqui: gestores, nunca parem de desenvolver!

Trabalho atualmente em um time de Arquitetura Global de uma empresa adquirida pela Capgemini, consultoria de TI internacional, responsável pelos sistemas que rodam nos restaurantes do McDonald's no mundo, e na FIAP como professor do MBA de Arquitetura e Desenvolvimento na Plataforma .NET. Um certo tempo antes de me juntar à empresa na qual trabalho atualmente, decidi em 2009, junto com outros sócios e funding próprio, criar uma startup chamada Donuts4U. Foi neste momento de grandes mudanças na minha vida que tive a felicidade de conhecer nosso autor. Após uma frustrante e extensiva busca por profissionais formados e experientes em desenvolvimento C# .NET para a startup, tive a sorte de permitir uma chance ao currículo de um jovem de 17 anos que estava fora dos requisitos da vaga. O currículo apresentava um profissional da área de redes de computadores que estranhamente parecia nutrir um grande interesse em programação.

Tamanha foi a minha surpresa quando, durante a entrevista, percebi que ali estava o profissional com maior propriedade em programação que eu havia entrevistado até então. Versado nos conceitos, com exemplos concretos e principalmente muita disposição para aprender. Vivemos uma enxurrada de vivências, desafios intensos e aprendizado contínuo. Construímos uma grande amizade.

Este livro é extremamente prático. Os capítulos nos compelem a abrir o Android Studio e experimentar. É vibrante acompanhar as pequenas dicas focadas em produtividade e organização. Este livro atende de forma precisa ao ímpeto que temos de experimentar rapidamente na linguagem, evitando setups em um primeiro momento e indo direto ao código, aí sim intercalando pequenos setups com códigos bem direcionados, alavancando o que a JetBrains tem a oferecer para a iniciação dos interessados.

É interessante ver como a preocupação com performance, qualidade e produtividade está "embedada" na linguagem e ela já nos direciona neste caminho, o que é muito valioso se pensarmos que se trata de um ambiente mobile. Assim como as importantes regras de validação do compilador Java para Android, as abstrações propostas pelo Kotlin evitam o emprego de práticas nocivas, inocentes ou ineficazes no código. Neste sentido, o Kotlin apresenta funcionalidades como templates de string, operador safe call, single-expression functions e classes de dados, todas inspiradas em movimentos convergentes em diversas comunidade de software. Sem contar os métodos fluentes que tornam o código mais semântico e facilitam a sua leitura. Ter menos código para ler significa muito: facilita o entendimento e simplifica o trabalho de manutenção futura.

O livro é fluído como uma aula de curso profissionalizante, direto ao ponto e injetando conceitos à medida que são realmente necessários para a continuidade da atividade prática, de forma até divertida, com a responsabilidade e respeito de trazer um conhecimento acessível para muitos, independente de suas experiências prévias com outras linguagens.

Este é um livro que você abre em um kindle ao lado do seu computador ou coloca em um segundo monitor e vai lendo, codificando, testando e embarcando nesta viagem cheia de interjeições de dúvidas seguidas de epifanias, tudo isso no seu tempo, com calma e com as etapas necessárias para um entendimento mais completo, que é como realmente todo processo de aprendizagem deveria ser. A linguagem do livro é jovial e envolvente, e para mim o conhecimento sempre fica mais fácil desta forma mais informal e prática. As seções de resumo são a cereja do bolo, ajudando-nos a retomar os conceitos e fechar o entendimento sobre o tema abordado no capítulo.

No livro, o autor apresenta muitas dicas de uso da IDE do Android Studio, como configurar o emulador e outros passos importantes para tornar suave o processo de desenvolvimento e deploy de suas Apps. Isso tudo foi muito esclarecedor para mim, que não tenho muita experiência com a plataforma Android. É incrível como esta plataforma tem um vocabulário e um funcionamento bem próprio (e bem organizado) que vai muito além do ambiente de desenvolvimento clássico em Java. É muito interessante quando uma linguagem nos força a utilizarmos boas práticas através de uma boa estrutura. Isso é um dos motivos do sucesso do Android.

Kassiano constrói os layouts e simula um processo real de desenvolvimento, com as tomadas de decisão quanto a como organizar o código - aqueles questionamentos importantes que levam a boas decisões de como e por que fazer daquela forma. Inicialmente, o autor foca em uma App muito comum e muito utilizada em tutoriais de diversas outras linguagens, que é o aplicativo de listas. Isso facilita que o leitor foque mais no aprendizado da linguagem, pois uma aplicação de listas já é de domínio da maioria das pessoas, além de poder enxergar onde a linguagem Kotlin está, frente a outras linguagens. Por fim, Kassiano fecha com chave de ouro apresentando o processo de desenvolvimento de uma calculadora de bitcoins que se tornou realmente um aplicativo da Play Store e que foi concebido inicialmente para o livro. Isso mostra a dedicação que o autor teve durante a construção do livro.

Fica claro que as ferramentas usadas no livro são de alta produtividade pois este é um dos grandes objetivos da criação desta linguagem. A utilização da ferramenta de ORM no caso de banco de dados é um ótimo exemplo da preocupação deste livro em apresentar ao leitor uma forma rápida de desenvolver seus aplicativos Android. Sem contar a utilização de conceitos bem atuais, como a criação do banco de dados e tabelas através de código, o que permite a migração estrutural caso a estrutura das tabelas mude ao longo do tempo. Dessa forma, todo o conhecimento sobre o seu aplicativo fica autocontido na solução de código. Isso é muito vantajoso para a manutenção e evolução do seu sistema.

Ao término deste livro, você terá visto na prática todos os passos necessários para construir e publicar na Play Store aplicações para smartphones desenvolvidas na linguagem Kotlin, no ambiente de desenvolvimento Android Studio. O escopo das aplicações apresentadas no livro vai além das funcionalidades da linguagem, com a utilização de banco de dados, acesso a APIs REST e funcionalidades dos smartphones, como notificações, acesso à galeria de imagens, câmera e localização através de GPS.

Bom, não me estendo mais pois vejo que a cada novo parágrafo que escrevo, mais demoro para liberá-lo para esta experiência prazerosa. Sendo assim, ajeite-se na sua cadeira, ligue o notebook ou computador (caso ainda não estiver ligado), coloque este livro ao lado, ou projetado em outro monitor ou kindle e vá montar sua próxima aplicação usando Kotlin agora mesmo! Afinal, o que você está esperando =D?

Por Daniel Makiyama, Gerente de desenvolvimento de software da Capgemini

 

Sumário

  • 1 A linguagem Kotlin
    • 1.1 Um breve histórico
    • 1.2 Interoperabilidade, como assim?
    • 1.3 Uma linguagem concisa
    • 1.4 Livre-se das referências nulas
    • 1.5 Resumindo
  • 2 Programando em Kotlin
    • 2.1 Conhecendo o Try Kotlin
    • 2.2 Inserindo comentários no código
    • 2.3 Definindo variáveis val e var
    • 2.4 Tipos de dados
    • 2.5 Estruturas de decisão
    • 2.6 Estruturas de repetição
    • 2.7 Funções
    • 2.8 Orientação a Objetos
    • 2.9 Resumindo
  • 3 Configurando o ambiente de desenvolvimento
    • 3.1 Android Studio
    • 3.2 Configurando o SDK
    • 3.3 Primeiro projeto: Hello World
    • 3.4 Criando um emulador Android
    • 3.5 Executando o projeto
    • 3.6 Habilitando o Auto Import
    • 3.7 Resumindo
  • 4 Anatomia da plataforma Android
    • 4.1 Activities
    • 4.2 Acessando recursos - Classe R
    • 4.3 Views - Componentes visuais
    • 4.4 Resumindo
  • 5 Primeiro projeto - Cálculo da aposentadoria
    • 5.1 Fase de planejamento
    • 5.2 Criando o projeto
    • 5.3 Criando uma Activity
    • 5.4 Criando o layout da Activity
    • 5.5 Programando a lógica
    • 5.6 AndroidManifest
    • 5.7 Resumindo
  • 6 Lista de compras
    • 6.1 Planejamento
    • 6.2 Criando o projeto
    • 6.3 Criando o layout
    • 6.4 Programando o aplicativo
    • 6.5 Pequenas melhorias
    • 6.6 Removendo um item da lista
    • 6.7 Resumindo
  • 7 Lista de compras 2.0
    • 7.1 Planejamento
    • 7.2 Criando uma nova Activity de cadastro
    • 7.3 Personalizando a ListView
    • 7.4 Criando a classe de dados
    • 7.5 Customizando o adaptador
    • 7.6 Cadastrando itens
    • 7.7 Exibindo itens cadastrados
    • 7.8 Somando os itens da lista
    • 7.9 Acessando a galeria de imagens
    • 7.10 Resumindo
  • 8 Persistência de dados com SQLite
    • 8.1 A biblioteca Anko SQLite
    • 8.2 Criando o banco de dados
    • 8.3 Inserindo dados no banco de dados
    • 8.4 Selecionando registros do banco de dados
    • 8.5 Removendo um registro
    • 8.6 Atualizando um registro
    • 8.7 Resumindo
  • 9 Calculadora de Bitcoin
    • 9.1 Planejamento
    • 9.2 Componentizando o layout
    • 9.3 API de dados - Mercado Bitcoin
    • 9.4 Buscando os dados da API
    • 9.5 Efetuando o cálculo de conversão
    • 9.6 Resumindo
  • 10 Notificações, permissões, localização e publicação
    • 10.1 Notificações
    • 10.2 Solicitação de permissões
    • 10.3 Localização por GPS
    • 10.4 Publicação na Play Store
  • 11 Conclusão

Dados do produto

Número de páginas:
346
ISBN:
978-85-94188-75-5
Data publicação:
07/2018

Compartilhe!

Compartilhe no Facebook Compartilhe no Twitter