Leanpub Header

Skip to main content

Kotlinの基礎から内部実装までを体系的に学ぶ

Kotlinの基礎と内部メカニズムに隠された「なぜ」と「どうして」を解き明かす。

「Kotlinの使い方」から一歩踏み込み、「Kotlinが本当にどう動いているのか」へ。内部実装、バイトコード、コンパイラの挙動といった言語を形作る要素を解き明かし、基礎からコルーチン、マルチプラットフォームまで、より賢く、より自信を持ってKotlinを書くための理由を示します。

This book is a translation into Japanese 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.

Buying multiple copies for your team? See below for a discount!

PDF
EPUB
WEB
525
Pages
26,636Words
About

About

About the Book

Practical Kotlin Deep Dive は、Kotlinの言語基礎や内部構造からAPI設計に至るまで、「どのように動いているのか」「なぜそう設計されているのか」を丁寧に紐解く一冊です。Kotlinの基本文法、標準ライブラリ、コルーチン、kotlinxライブラリ、コンパイラ内部、そしてKotlin Multiplatformまで、幅広いトピックを網羅しています。

表面的なAPI解説にとどまらず、実際のKotlin関数実装を読み解き、生成されるバイトコードの仕組みを明らかにし、Kotlinコンパイラが言語をどのように解釈しているのかを解説します。さらに、KEEP提案、JetBrainsのYouTrackでの議論、コンパイラのソースコードを直接参照しながら、各機能の背景や設計思想に迫ります。APIを暗記するのではなく、Kotlinを「考えて使える」ようになるアプローチです。

この構成により、Kotlinを効果的に使えるようになるだけでなく、「なぜこの言語はこう設計されているのか」まで理解でき、その知見はそのまま、より良いコードを書く力につながります。

継続的な学習を支えるため、厳選された参考資料や追加リソースも収録しています。専門的で馴染みの薄い用語は分かりやすい脚注で補足されており、初学者にも読み進めやすく、経験豊富な開発者にも新たな発見を提供します。

「Pro Tips for Mastery」セクションでは、Kotlin関数の内部構造、アルゴリズム、コンパイラの挙動、実務で重要となる実装詳細まで深く掘り下げます。シニアエンジニアにとっては思考を刺激する内容となり、中堅エンジニアにとってはKotlin理解を一段引き上げるための確かな足がかりとなるでしょう。

パフォーマンスが重要なコードの最適化、複雑なコルーチン処理、マルチプラットフォーム開発に取り組む中で、本書はチュートリアルの先へとあなたを導きます。言語設計を理解し、内部メカニズムを把握し、自信と好奇心を持ってKotlin開発に向き合えるようになるはずです。

Jaewoong Eum (skydoves)

This book is a translation into Japanese of Practical Kotlin Deep Dive which was originally written in English

Team Discounts

Team Discounts

Get a team discount on this book!

  • Up to 3 members

    Minimum price
    $107.00
    Suggested price
    $132.00
  • Up to 5 members

    Minimum price
    $171.00
    Suggested price
    $211.00
  • Up to 10 members

    Minimum price
    $300.00
    Suggested price
    $370.00
  • Up to 15 members

    Minimum price
    $429.00
    Suggested price
    $529.00
  • Up to 25 members

    Minimum price
    $644.00
    Suggested price
    $794.00

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

はじめに

本書への推薦文

本書について

  1. 本書の対象読者
  2. 本書の内容
  3. 本書の使い方
  4. 最新情報の入手
  5. 問題の報告

スポンサー

  1. CodeRabbit

第0章 Kotlin言語

  1. Q) 0. Kotlinのnull安全性について
  2. Q) 1. Any、Unit、Nothing型の主な役割について
  3. Q) 2. データクラスとは何か、通常のクラスとの違いについて
  4. Q) 3. シールドクラスとは何か、ユースケースについて
  5. Q) 4. 内部クラスとは何か、ネストされたクラスとの違いについて
  6. Q) 5. enumクラスはいつ使用するか
  7. Q) 6. バリュークラスとは何か
  8. Q) 7. objectとは何か、通常のクラスとの違いについて
  9. Q) 8. companion objectとは何か
  10. Q) 9. varとvalの違いについて
  11. Q) 10. バッキングフィールドとバッキングプロパティの違いについて
  12. Q) 11. 委譲プロパティとは何ですか?
  13. Q) 12. lazy委譲とlateinitの違いは何ですか?
  14. Q) 13. どのような可視性修飾子が存在しますか?
  15. Q) 14. initブロックはいつ呼び出され、その主な特徴は何ですか?
  16. Q) 15. 高階関数とは何ですか、そしてどのようなメリットがありますか?
  17. Q) 16. inlineキーワードのメリットと制限事項は何ですか?
  18. Q) 17. reifiedキーワードとは何ですか、そしてそれを使用するメリットは何ですか?
  19. Q) 18. ラムダ式はどのように使用しますか?
  20. Q) 19. 関数型(SAM)インターフェースとは何ですか?
  21. Q) 20. 拡張とは何ですか、そしてその長所と短所は何ですか?
  22. Q) 21. 構造的等価性と参照等価性とは何ですか、そしてどのように異なりますか?
  23. Q) 22. null + null操作を実行するとどうなりますか?
  24. Q) 23. DSLとは何ですか、そしてどのように活用できますか?

第1章 Kotlin標準ライブラリ

  1. Q) 24. Kotlinにはどのようなコレクション型がありますか?
  2. Q) 25. コレクションにはどのような変換演算子がありますか?
  3. Q) 26. Iteratorのメカニズムについて説明してください
  4. Q) 27. Sequenceとそのメカニズムとは何ですか?
  5. Q) 28. コレクションの一部を取得するための拡張関数にはどのような種類がありますか?
  6. Q) 29. オブジェクトの順序をどのように定義しますか?
  7. Q) 30. スコープ関数とは何ですか?

第2章 コルーチン

  1. Q) 31. コルーチンとは何ですか?
  2. Q) 32. Continuationとは何ですか?また、suspend関数と内部的にどのように関連していますか?
  3. Q) 33. コルーチンとスレッドの違いは何ですか?
  4. Q) 34. コルーチンビルダーとは何ですか?
  5. Q) 35. コルーチンコンテキストとは何ですか?
  6. Q) 36. Jobの役割は何ですか?
  7. Q) 37. コルーチンスコープの目的は何ですか?
  8. Q) 38. どのようなコルーチンディスパッチャーが存在し、その目的は何ですか?
  9. Q) 39. チャネルとは何で、どのように機能しますか?
  10. Q) 40. join()関数とyield()関数とは何ですか?
  11. Q) 41. コルーチンで例外をどのように処理しますか?
  12. Q) 42. コールドフローとホットフローの違いは何ですか?
  13. Q) 43. StateFlowとSharedFlowの違いを説明してください
  14. Q) 44. Flow.flowOn()演算子は何をしますか?
  15. Q) 45. Flow.buffer()演算子はどのように動作しますか?
  16. Q) 46. KotlinはFusibleFlowとChannelFlowでFlowをどのように最適化していますか?
  17. Q) 47. launchIn(Scope)とScope.launch()の違いは何ですか?
  18. Q) 48. Flow変換演算子とは:flatMapLatest、flatMapMerge、flatMapConcat
  19. Q) 49. callbackFlowとchannelFlowとは何ですか、そしてその内部メカニズムは?

第3章 KotlinXライブラリ

  1. Q50. kotlinx-serializationについて
  2. Q51. kotlinx-datetimeについて
  3. Q52. kotlinx-collections-immutableについて
  4. Q53. その他の注目すべきKotlinXライブラリについて

第4章 Kotlinコンパイラとプラグイン

  1. Q) 54. アノテーションプロセッサ、KAPT、KSPとは何ですか?
  2. Q) 55. Kotlinコンパイラの構造はどのようになっていますか?
  3. Q) 56. K2コンパイラとは何ですか?
  4. Q) 57. FIR(Frontend Intermediate Representation)とは何ですか?
  5. Q) 58. IRとは何ですか?Kotlinバックエンドはどのように動作しますか?
  6. Q) 59. Kotlinコンパイラプラグインの書き方は?
  7. Q) 60. 実際のKotlinコンパイラプラグインの例とユースケースは何ですか?

第5章: Kotlin Multiplatform

  1. Q61. Kotlin Multiplatformについて
  2. Q62. Kotlin Multiplatformはプラットフォーム固有のAPIをどのように処理し、共通コードを共有するか
  3. Q63. Kotlin Multiplatformで利用可能な並行処理または非同期プログラミングの戦略
  4. Q64. Kotlin MultiplatformでHTTPネットワーク通信に利用可能な戦略
  5. Q65. Compose Multiplatformについて
  6. Q66. Kotlin Multiplatformプロジェクトでsource setはどのように構造化されているか
  7. Q67. Kotlin/Nativeはメモリ管理とプラットフォームの相互運用性をどのように処理するか
  8. Q68. Kotlin Multiplatformでのテスト戦略
  9. Q69. Kotlin Multiplatformでの依存性注入戦略

おわりに

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