Leanpub Header

Skip to main content

Mergulho Profundo Prático em Kotlin

Desvendando o “como” e o “porquê” por trás dos fundamentos e mecanismos internos do Kotlin.

Leva você de “como usar Kotlin” para “como o Kotlin realmente funciona”, revelando implementações internas, desmistificando bytecodes e o comportamento do compilador, além dos mecanismos que moldam a linguagem. Se você quer escrever Kotlin de forma mais inteligente e confiante — dos fundamentos a coroutines e multiplataforma — este é o livro que mostra por que tudo é do jeito que é. Hardcover | Paperback | ISBN: 979-8243872744 

[Course] Practical Kotlin Deep Dive Course

This book is a translation into Portuguese (Brazilian) of Practical Kotlin Deep Dive which was originally written in English

Minimum price

$42.99

$52.99

You pay

$52.99

Author earns

$42.39
$

...Or Buy With Credits!

You can get credits with a paid monthly or annual Reader Membership, or you can buy them here.
PDF
EPUB
WEB
515
Pages
116,595Words
About

About

About the Book

Practical Kotlin Deep Dive explora o “como” e o “porquê” do Kotlin, desde os fundamentos centrais da linguagem e seus mecanismos internos até o design de suas APIs. Abrange os conceitos básicos do Kotlin, a biblioteca padrão, coroutines, bibliotecas kotlinx, os internals do compilador e Kotlin Multiplatform.

Este livro vai além das APIs superficiais ao mergulhar nos internals do Kotlin: percorre implementações reais de funções em Kotlin, desmistifica o bytecode gerado e explica como o compilador Kotlin interpreta a linguagem. Também se baseia diretamente em propostas KEEP, discussões no JetBrains YouTrack e no código-fonte do compilador para conectar os conceitos às suas origens e às decisões de design. O resultado é uma abordagem que ajuda você a raciocinar sobre o Kotlin, em vez de simplesmente memorizar APIs.

Essa progressão garante que você entenda não apenas como usar o Kotlin de forma eficaz, mas também por que a linguagem foi projetada da maneira que é, oferecendo insights que se traduzem diretamente em um código melhor.

Para promover o aprendizado contínuo, o livro inclui referências selecionadas e recursos adicionais para que você possa continuar explorando além de suas páginas. Termos complexos ou menos comuns são explicados por meio de notas de rodapé acessíveis, tornando o conteúdo avançado mais acessível para iniciantes e, ao mesmo tempo, oferecendo novos insights para desenvolvedores experientes.

As seções “Pro Tips for Mastery” vão além da superfície, abordando estruturas internas de funções Kotlin, algoritmos, o comportamento do compilador Kotlin e detalhes de implementação que realmente importam em projetos do mundo real. Engenheiros seniores encontrarão detalhes instigantes para aprimorar sua expertise, enquanto desenvolvedores de nível intermediário ganharão insights valiosos para evoluir seu conhecimento em Kotlin e desenvolver uma mentalidade analítica mais sólida.

Seja otimizando código crítico em termos de desempenho, lidando com tarefas complexas com coroutines ou explorando o desenvolvimento multiplataforma, este livro desafia você a ir além de tutoriais. Aprenda a raciocinar sobre o design da linguagem, compreender seus mecanismos internos e abordar o desenvolvimento em Kotlin com clareza, curiosidade e confiança. Você pode ler prévias de Practical Kotlin Deep Dive.

Jaewoong Eum (skydoves)

This book is a translation into Portuguese (Brazilian) of Practical Kotlin Deep Dive which was originally written in English

Author

About the Author

Jaewoong

The author of this book, Jaewoong Eum (known as skydoves), is a Google Developer Expert (GDE) for Android, Kotlin, and Firebase, an open-source developer created over 80+ open-source libraries and projects, collectively amassing 15+ million downloads annually. The author of Manifest Android Interview book and also the founder of Dove Letter—a subscription-based repository dedicated to sharing, learning, and discussing Android and Kotlin development.

Translations

Translations

Contents

Table of Contents

Prefácio

Depoimentos

Sobre Este Livro

  1. Para Quem é Este Livro
  2. O Que Este Livro Aborda
  3. Como Usar Este Livro
  4. Mantendo-se Atualizado
  5. Relatório de Problemas

Patrocinadores

  1. CodeRabbit

Capítulo 0. Linguagem Kotlin

  1. Q) 0. Explique o null safety no Kotlin
  2. Q) 1. Quais são os papéis principais dos tipos Any, Unit e Nothing?
  3. Q) 2. O que é uma data class e como ela difere de uma classe regular?
  4. Q) 3. O que é uma sealed class e explique os casos de uso
  5. Q) 4. O que é uma inner class e quais são as diferenças de uma nested class?
  6. Q) 5. Quando você usa uma enum class?
  7. Q) 6. O que é uma value class?
  8. Q) 7. O que é um object e quais são as diferenças de uma classe regular?
  9. Q) 8. O que é um companion object?
  10. Q) 9. Quais são as diferenças entre var e val?
  11. Q) 10. Quais são as diferenças entre backing fields e backing properties?
  12. Q) 11. O que é uma delegated property?
  13. Q) 12. Quais são as diferenças entre o delegate lazy e lateinit?
  14. Q) 13. Quais modificadores de visibilidade existem?
  15. Q) 14. Quando o bloco init é invocado e quais são suas características principais?
  16. Q) 15. O que é uma higher-order function e quais vantagens ela oferece?
  17. Q) 16. Quais são os benefícios e limitações da palavra-chave inline?
  18. Q) 17. O que é a palavra-chave reified e quais são os benefícios de usá-la?
  19. Q) 18. Como você usa uma expressão lambda?
  20. Q) 19. O que são interfaces funcionais (SAM)?
  21. Q) 20. O que é extension e quais são seus prós e contras?
  22. Q) 21. O que são igualdade estrutural e igualdade referencial, e como elas diferem?
  23. Q) 22. O que acontece quando você executa a operação null + null?
  24. Q) 23. O que é DSL e como pode ser utilizado?

Capítulo 1. Biblioteca Padrão do Kotlin

  1. Q) 24. Quais tipos de collection existem no Kotlin?
  2. Q) 25. Quais tipos de operadores de transformação estão disponíveis para collections?
  3. Q) 26. Explique os mecanismos dos Iterators
  4. Q) 27. O que é uma Sequence e qual é seu mecanismo?
  5. Q) 28. Quais tipos de extension functions estão disponíveis para recuperar partes de uma collection?
  6. Q) 29. Como você define a ordenação de objetos?
  7. Q) 30. O que são as scope functions?

Capítulo 2. Coroutines

  1. Q) 31. O que são Coroutines?
  2. Q) 32. O que é uma Continuation e como ela se relaciona internamente com uma função suspend?
  3. Q) 33. Quais são as diferenças entre coroutines e threads?
  4. Q) 34. O que são coroutine builders?
  5. Q) 35. O que é um coroutine context?
  6. Q) 36. Qual é o papel de um Job?
  7. Q) 37. Qual é o propósito de um coroutine scope?
  8. Q) 38. Que tipos de coroutine dispatchers existem e qual é seu propósito?
  9. Q) 39. O que são channels e como eles funcionam?
  10. Q) 40. O que são as funções join() e yield()?
  11. Q) 41. Como você trata exceções em coroutines?
  12. Q) 42. Quais são as diferenças entre cold flow e hot flow?
  13. Q) 43. Explique as diferenças entre StateFlow e SharedFlow
  14. Q) 44. O que o operador Flow.flowOn() faz?
  15. Q) 45. Como o operador Flow.buffer() funciona?
  16. Q) 46. Como os mecanismos internos do Kotlin otimizam Flow com FusibleFlow e ChannelFlow
  17. Q) 47. Quais são as diferenças entre launchIn(Scope) e Scope.launch()?
  18. Q) 48. Quais são os operadores de transformação de Flow: flatMapLatest, flatMapMerge, flatMapConcat?
  19. Q) 49. O que são callbackFlow e channelFlow, e seus mecanismos internos?

Capítulo 3. Bibliotecas KotlinX

  1. Q) 50. O que é kotlinx-serialization e como funciona?
  2. Q) 51. O que é kotlinx-datetime e por que usá-lo em vez das APIs Java time?
  3. Q) 52. O que é kotlinx-collections-immutable e quando você deve usá-lo?
  4. Q) 53. Quais outras bibliotecas KotlinX notáveis existem?

Capítulo 4. Compiler e Plugins do Kotlin

  1. Q) 54. O que são processadores de anotações, KAPT e KSP?
  2. Q) 55. Qual é a estrutura do Compiler do Kotlin?
  3. Q) 56. O que é o compiler K2?
  4. Q) 57. O que é FIR (Frontend Intermediate Representation)?
  5. Q) 58. O que é IR e como funciona o backend do Kotlin?
  6. Q) 59. Como escrever um Plugin de Compiler Kotlin?
  7. Q) 60. Quais são alguns exemplos e casos de uso reais de plugins de compiler Kotlin?

Capítulo 5: Kotlin Multiplatform

  1. Q) 61. O que é Kotlin Multiplatform?
  2. Q) 62. Como o Kotlin Multiplatform lida com APIs específicas de plataforma e compartilha código comum?
  3. Q) 63. Quais estratégias estão disponíveis para concorrência ou programação assíncrona no Kotlin Multiplatform?
  4. Q) 64. Quais estratégias estão disponíveis para comunicação HTTP em rede no Kotlin Multiplatform?
  5. Q) 65. O que é Compose Multiplatform?
  6. Q) 66. Como os source sets são estruturados em um projeto Kotlin Multiplatform?
  7. Q) 67. Como o Kotlin/Native lida com gerenciamento de memória e interoperabilidade com plataformas?
  8. Q) 68. Quais são as estratégias de teste no Kotlin Multiplatform?
  9. Q) 69. Quais são as estratégias de injeção de dependência no Kotlin Multiplatform?

Palavras Finais

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

Earn $8 on a $10 Purchase, and $16 on a $20 Purchase

We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earned over $14 million writing, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub