Upgrade to Pro — share decks privately, control downloads, hide ads and more …

超入門!サーバーサイドKotlin/sski1

 超入門!サーバーサイドKotlin/sski1

■本著の内容
この本は著者がサーバーサイドKotlinはいいぞ!と宣うために執筆した技術同人誌の形をした宣伝チラシみたいなものになります。

主にサーバーサイドKotlinとは?という概要について解説しています。

■どんな人向けか
主に次のような方に向けて執筆していますが、無料ですのでこれに当てはまらなくても目次など内容を見てグッときてハッとしたらダウンロードしていただけると幸いです。

* サーバーサイドKotlinってなに?
* ぶっちゃけサーバーサイドでKotlinってどうなの?
* 他の言語との比較は?
* 実際に使われているの?
* コミュニティとかある?
* 興味あるけどどうしたらいいの?

■この本で得られること
本著を読み終わると次のような状態になります。

* サーバーサイドKotlinがなんなのか説明できる
* サーバーサイドの技術選定においてサーバーサイドKotlinもありかもなと選択肢が増える
* サーバーサイドKotlinが好きになる(効果は個人によります)

あなたのKotlinでWebアプリケーションのバックエンドを作りたいという思いに応えられたのなら、こんなに嬉しいことはありません。

Avatar for FORTE

FORTE

May 28, 2025
Tweet

More Decks by FORTE

Other Decks in Programming

Transcript

  1. ͸͡Ίʹ ͸͡Ί·ͯ͠ͷํ͕ଟ͍ͱخ͍͠ɺஶऀͷ FORTE(ϑΥϧς) Ͱ͢ɻຊஶ͸αʔ όʔαΠυ Kotlin Λ෍ڭ͢ΔͨΊʹੜ੒ AI(ChatGPT o4-mini) ͱͱ΋ʹࣥචͨ͠

    ෍ڭ༻ແྉిࢠٕज़ಉਓࢽͱͳ͍ͬͯ·͢ɻͱ͸͍͑಺༰͸ஶऀ͕֬ೝ͍ͯ͠·͢ ͠ɺੜ੒ AI ͕ग़ྗͨ͠಺༰ͷίϐϖʹ͸ͳ͍ͬͯ·ͤΜͷͰ҆͝৺͍͚ͨͩΔͱ޾ ͍Ͱ͢ɻ ຊஶͷ಺༰ ͜ͷຊ͸ஶऀ͕αʔόʔαΠυ Kotlin ͸͍͍ͧʂ ͱએ͏ͨΊʹࣥචٕͨ͠ज़ಉ ਓࢽͷܗΛͨ͠એ఻νϥγΈ͍ͨͳ΋ͷʹͳΓ·͢ɻओʹαʔόʔαΠυ Kotlin ͱ ͸ʁ ͱ͍͏֓ཁʹ͍ͭͯղઆ͍ͯ͠·͢ɻ ͲΜͳਓ޲͚͔ ओʹ࣍ͷΑ͏ͳํʹ޲͚ͯࣥච͍ͯ͠·͕͢ɺແྉͰ͢ͷͰ͜Εʹ౰ͯ͸·Βͳ͘ ͯ΋໨࣍ͳͲ಺༰Λݟͯάοͱ͖ͯϋοͱͨ͠Βμ΢ϯϩʔυ͍͚ͯͨͩ͠Δͱ޾͍ Ͱ͢ɻ • αʔόʔαΠυ Kotlin ͬͯͳʹʁ • ͿͬͪΌ͚αʔόʔαΠυͰ Kotlin ͬͯͲ͏ͳͷʁ • ଞͷݴޠͱͷൺֱ͸ʁ • ࣮ࡍʹ࢖ΘΕ͍ͯΔͷʁ • ίϛϡχςΟͱ͔͋Δʁ • ڵຯ͋Δ͚ͲͲ͏ͨ͠Β͍͍ͷʁ ͜ͷຊͰಘΒΕΔ͜ͱ ຊஶΛಡΈऴΘΔͱ࣍ͷΑ͏ͳঢ়ଶʹͳΓ·͢ɻ 2
  2. • αʔόʔαΠυ Kotlin ͕ͳΜͳͷ͔આ໌Ͱ͖Δ • αʔόʔαΠυͷٕज़બఆʹ͓͍ͯαʔόʔαΠυ Kotlin ΋͋Γ͔΋ͳͱબ ୒ࢶ͕૿͑Δ •

    αʔόʔαΠυ Kotlin ͕޷͖ʹͳΔ (ޮՌ͸ݸਓʹΑΓ·͢) ͋ͳͨͷ Kotlin Ͱ Web ΞϓϦέʔγϣϯͷόοΫΤϯυΛ࡞Γ͍ͨͱ͍͏ࢥ͍ ʹԠ͑ΒΕͨͷͳΒɺ͜Μͳʹخ͍͜͠ͱ͸͋Γ·ͤΜɻ ͜ͷຊͰ͸ղઆ͠ͳ͍͜ͱ ຊஶ͸αʔόʔαΠυ Kotlin ͷೖ໳ॻͰ͸͋Γ·͕͢ɺ࣮ࡍͷίʔυʹ͍ͭͯ͸ ղઆ͠·ͤΜɻ·ͨ Kotlin ͱ͍͏ݴޠʹ͍ͭͯ΋ৄࡉ͸ղઆ͍ͯ͠·ͤΜɻ ͜ͷຊΛಡΜͰ࣮ࡍʹࢼͯ͠Έ͍ͨɺ৮ͬͯΈ͍ͨͱ࣍ͷҰา͕ؾʹͳͬͨํ͸ͥ ͻୈ 5 ষʮ࣍ͷҰาʯΛ͝ཡ͍ͩ͘͞ɻ ͜ͷຊͷ࢖͍ํ ຊॻ͸ಡΊ͹αʔόʔαΠυ Kotlin ͷ֓ཁΛཧղͰ͖Δɺઆ໌Ͱ͖Δɺ࣍ͷҰา ΛܾΊΒΕΔ͜ͱΛ໨ࢦͯ͠ॻ͔Ε͍ͯ·͢ɻ͜ͷຊΛಡΊ͹ཧ۶΍࢓૊Έ͕͢΂ͯ ཧղͰ͖ΔΑ͏ʹ͸ॻ͔Ε͍ͯ·ͤΜɻ͜ͷຊΛೖΓޱͱͯ͠͞ΒʹͦͷԞʹ͋Δ͜ ͱʹڵຯΛ͍͚࣋ͬͯͨͩͨΒ޾͍Ͱ͢ɻ ͦͷͨΊɺجຊతʹ಄͔ΒಡΈਐΊ͍͚ͯ͹େৎ෉Ͱ͢ɻ ͝ҙݟ͝ײ૝ʹ͍ͭͯ ಡΈऴΘͬͨײ૝΍ؒҧ͍ͷࢦఠɺ௥Ճཁ๬ͳͲ͸࣍ͷϑΥʔϜ*1͔Β͓ئ͍͍ͨ ͠·͢ɻ *1 https://docs.google.com/forms/d/e/1FAIpQLScm6brE17- AYbGV8CxZI7qDlWZ1vIlIAt7X2ZHzO-HfuCzUEQ/viewform 3
  3. ਤ 1: ײ૝ϑΥʔϜ ·ͨ͸࣍ͷϋογϡλάΛ༻͍֤ͯ SNS Ͱᄁ͍͍ͯͨͩ͘ͷͰ΋େৎ෉Ͱ͢ɻͥ ͻɺײ૝Λ͓଴͓ͪͯ͠Γ·͢ɻ #sski1 ໔੹ࣄ߲ ຊॻʹهࡌ͢Δ಺༰͸චऀͷॴଐ͢Δ૊৫ͷެࣜݟղͰ͸͋Γ·ͤΜɻ

    ·ͨɺຊॻ͸ՄೳͳݶΓਖ਼֬Λظ͢Α͏ʹ౒Ί͍ͯ·͕͢ɺචऀ͕ͦͷ಺༰Λอূ ͢Δ΋ͷͰ͸͋Γ·ͤΜɻͦͷͨΊɺຊॻͷهࡌ಺༰ʹج͍ͮͨಡऀͷߦҝɺٴͼಡ ऀ͕ඃͬͨଛ֐ʹ͍ͭͯචऀ͸ͳΜΒ੹೚Λෛ͏΋ͷͰ͸͋Γ·ͤΜɻ 4
  4. ໨࣍ ͸͡Ίʹ 2 ຊஶͷ಺༰ . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 ͲΜͳਓ޲͚͔ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 ͜ͷຊͰಘΒΕΔ͜ͱ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 ͜ͷຊͰ͸ղઆ͠ͳ͍͜ͱ . . . . . . . . . . . . . . . . . . . . . . . . . 3 ͜ͷຊͷ࢖͍ํ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 ͝ҙݟ͝ײ૝ʹ͍ͭͯ . . . . . . . . . . . . . . . . . . . . . . . . 3 ໔੹ࣄ߲ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 ୈ 1 ষ Kotlin ͱ͸ 7 Kotlin ͷ໊લͷ༝དྷ . . . . . . . . . . . . . . . . . . . . . . . . 9 ୈ 2 ষ αʔόʔαΠυ Kotlin ϝϦσϝ 10 2.1 ଞͷϓϩάϥϛϯάݴޠͱͷൺֱ . . . . . . . . . . . . . . . . . . 10 2.2 ࣮ࡍʹۀ຿ (෭ۀ) Ͱॻ͍ͯΈͨײ૝ . . . . . . . . . . . . . . . . 12 ྑ͍఺ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 ΠϚΠνͳ఺ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.3 ͿͬͪΌ͚Ͳ͏ͳͷʁ . . . . . . . . . . . . . . . . . . . . . . . 12 ୈ 3 ষ αʔόʔαΠυ Kotlin ࠾༻ࣄྫ 14 3.1 ೔ຊͰͷࣄྫ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.2 ೔ຊࠃ֎Ͱͷࣄྫ . . . . . . . . . . . . . . . . . . . . . . . . . . 14 ୈ 4 ষ ίϛϡχςΟ঺հ 16 4.1 Server-Side Kotlin Meetup . . . . . . . . . . . . . . . . . . . . 16 4.2 Kotlin Fest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 ୈ 5 ষ ࣍ͷҰา 18 5.1 ࣮ࡍʹखΛಈ͔ͯ͠ΈΔ . . . . . . . . . . . . . . . . . . . . . . 18 5
  5. ໨࣍ ೖ໳!࣮ફ!αʔόʔαΠυ Kotlin . . . . . . .

    . . . . . . . . . . . 18 ΋ͬͱ࣮ફ!αʔόʔαΠυ Kotlin . . . . . . . . . . . . . . . . . 19 ͍Ζ͍Ζ࣮ફ!αʔόʔαΠυ Kotlin Vol.1 . . . . . . . . . . . . . 19 ͍Ζ͍Ζ࣮ફ!αʔόʔαΠυ Kotlin Vol.2 . . . . . . . . . . . . . 20 Micronaut Ͱೖ໳!࣮ફ!αʔόʔαΠυ Kotlin . . . . . . . . . . 20 Micronaut Ͱ gRPC ʹೖ໳ʂ ࣮ફʂ αʔόʔαΠυ Kotlin . . . 21 5.2 ͦͷଞͷମݧखஈ . . . . . . . . . . . . . . . . . . . . . . . . . . 21 ͋ͱ͕͖ 22 αʔόʔαΠυ Kotlin ษڧձΛ΍ͬͯΈ͍ͨ . . . . . . . . . . . . . . . . 22 ੜ੒ AI ͱαʔόʔαΠυ Kotlin . . . . . . . . . . . . . . . . . . . . . . 22 ͍͞͝ʹ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 ஶऀ঺հ 24 จষ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 ॴଐαʔΫϧ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Πϥετ୲౰ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 એ఻ 26 ஶऀϙʔτϑΥϦΦ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 ࡶஊܥ Podcast aozora.fm . . . . . . . . . . . . . . . . . . . . . . . . . 26 Τϐιʔυ·ͱΊ . . . . . . . . . . . . . . . . . . . . . . . . . . 26 ഑৴ϖʔδ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Spotify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Apple Podcast . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ήετɾ͓ศΓืू . . . . . . . . . . . . . . . . . . . . . . . . . 28 6
  6. ୈ 1 ষ Kotlin ͱ͸ Kotlin ͸ɺJetBrains ͕ࣾ։ൃͨ͠ΦʔϓϯιʔεͷϚϧνϓϥοτϑΥʔϜ޲͚ ϓϩάϥϛϯάݴޠͰ͢ɻओʹ JVM

    ʢJava Virtual Machineʣ ্Ͱಈ࡞͠ɺ Android ΞϓϦ։ൃ͸΋ͪΖΜɺαʔόʔαΠυɺWeb ϑϩϯτΤϯυʢJavaScript ΁ͷί ϯύΠϧʣ ɺ͞Βʹ͸ωΠςΟϒόΠφϦੜ੒ʹ΋ରԠ͍ͯ͠·͢ɻ ओͳಛ௃ͱͯ͠͸࣍ͷΑ͏ͳ΋ͷ͕͋Γ·͢ɻ ද 1.1: ओͳಛ௃ ಛ௃ આ໌ Null ҆શ ? ͱ !! ԋࢉࢠͰψϧࢀরʢNullPointerExceptionʣΛ ίϯύΠϧ࣌ʹ๷ࢭ εϚʔτΩϟετ ৚݅෼ذ಺ͰܕνΣοΫޙɺࣗಈతʹܕ͕Ωϟετ͞ΕΔ ؔ਺ܕϓϩάϥϛϯά ϥϜμࣜɺΠϛϡʔλϒϧม਺ (val)ɺ ֦ுؔ਺ɺσϑΥϧτҾ਺ɺ໊લ෇͖Ҿ਺Λαϙʔτ ίϧʔνϯʢCoroutinesʣ ܰྔͳඇಉظϓϩάϥϛϯάΛ༰қʹ࣮ݱ͢Δ࢓૊Έ ׬શͳ Java ޓ׵ੑ طଘͷ Java ϥΠϒϥϦ΍ϑϨʔϜϫʔΫΛͦͷ··ར༻Մೳ ϚϧνϓϥοτϑΥʔϜ Kotlin/NativeɺKotlin/JS ʹΑΔΫϩεϓϥοτϑΥʔϜ։ൃ ެࣜυΩϡϝϯτ͸ͪ͜ΒͰ͢ɻ https://kotlinlang.org/docs/home.html 7
  7. ୈ 1 ষ Kotlin ͱ͸ ਤ 1.1: Kotlin ެࣜυΩϡϝϯτ ؀ڥߏஙͱ͔ͤͣʹͱΓ͋͑ͣ৮ͬͯΈ͍ͨɺͲΜͳίʔυ͔ಈ͘؀ڥͰݟͯΈͨ

    ͍ํ͸ Kotlin Koans ͕͓͢͢ΊͰ͢ɻ͜Ε͸ Kotlin ͷߏจʹ׳ΕΔͨΊͷ Web ԋशͰ͢ɻ಺༰ͱͯ͠͸ࣦഊ͢Δ୯ମςετʹͳ͓ͬͯΓɺςετΛ௨ΔΑ͏ʹमਖ਼ ͢Δ͜ͱͰԋश͍͖ͯ͠·͢ɻWeb ͷଞɺIntelliJ IDEA ·ͨ͸ Android Studio ͷϓϥάΠϯͱͯ͠΋ར༻ՄೳͰ͢ɻ https://play.kotlinlang.org/koans/overview ਤ 1.2: Kotlin Koans खલຯ઻Ͱ͕͢ɺ ೖ໳ͱ࣮ͯ͠ࡍʹखΛಈ͔͢ͷͰ͋Ε͹੿ஶ ʮೖ໳!࣮ફ!αʔόʔ αΠυ Kotlinʯ͕͓͢͢ΊͰ͢ɻ https://techbookfest.org/product/6042096452501504 8
  8. ୈ 1 ষ Kotlin ͱ͸ ਤ 1.3: ೖ໳!࣮ફ!αʔόʔαΠυ Kotlin ˙ίϥϜ:

    Kotlin ͷ໊લͷ༝དྷ Kotlin ͷ։ൃʹܞΘ͍ͬͯΔ Andrey Breslav ʹΑΔͱʮJava ͕Πϯυωγ Ξͷ Java ౡʹͪͳΜͰ໋໊͞ΕͨͷͰ͋Ε͹ౡʹͪͳΜͰ໋໊͢Δ͜ͱʹܾΊ ͨʯͦ͏Ͱ͢ɻͦͷͨΊɺϩγΞͷαϯΫτϖςϧϒϧΫͷۙ͘ʹ͋ΔίτϦϯ ౡ͔Β໊෇͚ΒΕ·ͨ͠ɻ͜͜͸ϑΟϯϥϯυʹ͍ۙ৔ॴͰ΋͋Γ·͢ɻ ͪͳΈʹ Java ͸ڪΒ͘ౡͰ͸ͳ͘ίʔώʔʹͪͳΜͰ໊෇͚ΒΕͨΑ͏Ͱ͢ɻ 9
  9. ୈ 2 ষ αʔόʔαΠυ Kotlin ϝϦσϝ αʔόʔαΠυͰ Kotlin Λ࢖͏ඞཁੑ΍ϝϦοτʹ͍ͭͯղઆ͍͖ͯ͠·͢ɻ 2.1

    ଞͷϓϩάϥϛϯάݴޠͱͷൺֱ αʔόʔαΠυͰΑ͘࢖ΘΕΔݴޠͱ Kotlin Λൺֱͯ͠Έ·͢ɻ͜͜Ͱൺֱ͢Δ ର৅ͷݴޠ͸࣍ͷͱ͓ΓͰ͢ɻ • PHP • Java • Python • Ruby • Go • JavaScriptɺTypeScript ·ͣ͸શମͷϝϦοτͰ͢ɻ ੩తܕ෇͚ˍ Null ҆શ ίϯύΠϧ࣌ʹܕνΣοΫɾnull νΣοΫΛݫີԽ͠ɺ࣮ߦ࣌ΤϥʔΛݮগ ίϧʔνϯʹΑΔܰྔฒߦॲཧ suspend/launch Ͱ I/O ଴ͪΛޮ཰తʹࡹ͖ɺ๲େͳίωΫγϣϯ΋গͳ͍Ϧ ιʔεͰ؅ཧՄೳ ๛෋ͳ Java ΤίγεςϜ׆༻ Spring Boot ΍ Hibernate ͳͲɺطଘͷ੒ख़ϥΠϒϥϦΛͦͷ··ར༻ ؆ܿͳจ๏ data class ΍֦ுؔ਺ɺσϑΥϧτҾ਺ͳͲͰϘΠϥʔϓϨʔτ͕େ෯࡟ݮ ࣍ʹશମͷσϝϦοτͰ͢ɻ 10
  10. ୈ 2 ষ αʔόʔαΠυ Kotlin ϝϦσϝ 2.1 ଞͷϓϩάϥϛϯάݴޠͱͷൺֱ JVM ىಈˍϝϞϦϑοτϓϦϯτ

    ωΠςΟϒόΠφϦͰ͸ͳ͘ JVM ґଘͷͨΊɺGo ΍ Rust ͱൺ΂ͯىಈ࣌ ؒɾϝϞϦফඅ͕େ͖͍ ίϯύΠϧ଎౓ Java ίϯύΠϥΑΓϏϧυ͕࣌ؒ΍΍௕͘ɺେن໛ϓϩδΣΫτͰମײ͢Δ ৔߹͋Γ ωΠςΟϒରԠͷ੒ख़౓ Kotlin/Native ͸ൃల్্ͰɺGo ͷΑ͏ͳγϯάϧόΠφϦ഑෍ʹൺ΂࣮ͯ ӡ༻Ͱͷ࣮੷͕গͳ͍ Ͱ͸ɺݴޠ͝ͱʹൺֱͯ͠Έ·͠ΐ͏ɻ ද 2.1: ଞݴޠͱͷൺֱ ಛ௃ આ໌ ݴޠ Kotlin ͕ಘҙͳ఺ Kotlin ͕ۤखͳ఺ PHP ੩తܕˍ Null ҆શͰ ϥϯλΠϜΤϥʔݮগ ίϧʔνϯͰಉظॲཧͱಉ౳ͷهड़ PHP ͸ϗεςΟϯά؀ڥ͕๛෋ͳҰํɺ JVM ಋೖίετ͕ߴ͍ Laravel ͳͲ PHP ϑϨʔϜϫʔΫͱ ൺ΂ͯීٴ౓͕௿͍ Java ϘΠϥʔϓϨʔτେ෯࡟ݮ ʢdata class ౳ʣ Null ҆શ΍֦ுؔ਺ͳͲϞμϯػೳ Java ΤίγεςϜʹ͸ٴ͹͵͕ɺ Spring ͳͲͱڠௐ͸ྑ޷ ίϯύΠϧ଎౓Ͱ Java ʹྼΔ Python ੩తܕͰେن໛։ൃ޲͖ ʢܕͷ໌ࣔͰϝϯςੑ޲্ʣ ίϧʔνϯ͸ Python ͷ asyncio ΑΓγϯϓϧ ಈతܕͷ Python ʹൺ΂ͯ ֶशίετ͕ߴ͍ σʔλαΠΤϯεϥΠϒϥϦ͸ Python ͕ѹ౗త༏Ґ Ruby ελςΟοΫܕʴ Null ҆શͰ ࣮ߦ࣌Τϥʔݮগ ίϧʔνϯͰ Rails ͷ ϚϧνεϨου՝୊Λิ׬ Ruby on Rails ͷ ίϛϡχςΟ׆ੑʹٴ͹ͣ Ruby ͷʮॻ͖΍͢͞ʯʹ׳Εͨ ։ൃऀʹ͸ಋೖϋʔυϧ͕ߴ͍ Go Kotlin ͷ๛෋ͳ DSL/ந৅ԽػೳͰ େن໛ϩδοΫߏங͕༰қ Java ϥΠϒϥϦ׆༻Ͱ ΤίγεςϜ͕޿͕Δ Go ͷγϯάϧόΠφϦɺ ௿ϝϞϦʹର͠ JVM ͕ॏ͍ GC νϡʔχϯά΍ ώʔϓ؅ཧͷ஌͕ࣝඞཁ Node.js ੩తܕͰܕ҆શ ʢJS ͷܕΤϥʔରࡦʹ༏ΕΔʣ Kotlin/JS ΍ڞ௨ϥΠϒϥϦͰ ϑϩϯτόοΫ౷ҰՄೳ npm ΤίγεςϜͷ ๲େͳϥΠϒϥϦ਺ʹٴ͹ͣ αʔόʔαΠυ Kotlin ͸ɺಛʹେن໛ɾෳࡶͳۀ຿ܥΞϓϦέʔγϣϯͰҖྗΛ 11
  11. ୈ 2 ষ αʔόʔαΠυ Kotlin ϝϦσϝ 2.2 ࣮ࡍʹۀ຿ (෭ۀ) Ͱॻ͍ͯΈͨײ૝

    ൃش͠·͢ɻ੩తܕͱ Null ҆શɺίϧʔνϯʹΑΔ໌շͳඇಉظॲཧɺJava Τίγ εςϜͷ׆༻͕Մೳͳ఺͕େ͖ͳڧΈͰ͢ɻҰํͰɺGo ΍ Node.js ͷΑ͏ͳܰྔɾ ىಈߴ଎ͳϥϯλΠϜ΍ɺPython ʗ Ruby ͷ๛෋ͳυϝΠϯಛԽϥΠϒϥϦͱൺ΂ Δͱಋೖίετ΍ίϛϡχςΟن໛ͰྼΔ໘΋͋Γ·͢ɻ 2.2 ࣮ࡍʹۀ຿ (෭ۀ) Ͱॻ͍ͯΈͨײ૝ ࣮ࡍʹۀ຿ (෭ۀ) ͰαʔόʔαΠυ Kotlin Λॻ͍͍ͯ·͢ɻ΋͏͙͢ 9 ϲ݄ʹͳ Ζ͏͔ͱ͍ͯ͠Δͱ͜ΖͰͷײ૝ʹͳΓ·͢ɻ ྑ͍఺ ·ͣ 10 ೥Ҏ্ Java Λॻ͍ͨܦݧ͔Β͢Δͱɺ։ൃऀମݧͱͯ͠͸ඇৗʹΑ͍Ͱ ͢ɻҰ౓΋ Null Ͱ೰·͞Εͨ͜ͱ͸ͳ͍Ͱ͢͠ɺ௚ײతʹॻ͚Δײ͡΋͋Γ·͢ɻ ·ͨʮ͜Ε΍Γ͍ͨΜ͚ͩͲͳʯͱ͍͏ͷ΋ௐ΂Δͱग़͖ͯ·͢͠ɺग़ͯ͘Δίʔυ ΋؆ܿͰ͋Δ͜ͱ͕ଟ͍Ͱ͢ɻ࠷ۙͷ Java ͸ͦ͏Ͱ΋ͳ͍Ͱ͕͢ɺಛʹ List पΓͷ ϝιου͸ϞμϯͰ͍͍ͳ͊ͱࢥ͍·͢ɻ ΠϚΠνͳ఺ ΍͸Γͦͷ೔ͷॳճςετ࣮ߦ (ίϯύΠϧ) ͸஗͍Ͱ͢ɻن໛ײͱͯ͠͸ͦͦ͜ ͜αΠζͷ͋ΔϓϩδΣΫτͳͷͰɺ·͊͜Μͳ΋ͷ͔ͳͱࢥ͍·͕͢ɺϑϩϯτΤ ϯυ΍ PHPɺPython ͳͲʹൺ΂Δͱ஗͍͔ͳ͊ͱࢥ͍·͢ɻͨͩ࠷ॳͷ 1 ճ͚ͩ Ͱ͋ͱ͸ڐ༰Ͱ͖ΔൣғͰ͢͠ɺϑϩϯτΤϯυͷΑ͏ʹͪΐͬͱमਖ਼ͯ͠ಈ࡞֬ೝ ͱ͔ʹ͸ͳΒͳ͍ͷͰɺͦ͜·Ͱؾʹ͍ͯ͠·ͤΜɻͨͩ͜Ε͸෭ۀͰͳ͕ΒͰ࡞ۀ ͍ͯ͠Δ͜ͱ͕ଟ͔ͬͨΓɺ࣌ؒతʹ΋ਫ਼ਆతʹ΋༨༟͕͋Δ͜ͱ͕ଟ͍ͷ͸͋Δͱ ࢥ͍·͢ɻ ͜Ε͸ࢲͷଞʹ࣮ࡍʹϓϩμΫτͰαʔόʔαΠυ Kotlin Λ࠾༻͍ͯ͠Δاۀͷ ํʹฉ͍ͨͷͰ͕͢ɺ΍͸Γੜ੒ AI ͷར༻ͩͱ TypeScript ΍ Python ʹ͸ྼΔײ ͕֮͋Γ·͢ɻ͜Ε͸ֶशσʔλͱͯ͠ Kotlin ΑΓ TypeScript ΍ Python ͷํ͕ ๛෋͔ͩΒͰ͋ΓɺϥΠϒϥϦ΍ग़ྗ͞ΕΔίʔυʹରͯ͠΋Ұาೋาఔ౓͸ྼΔҹ ৅Ͱ͢ɻ 2.3 ͿͬͪΌ͚Ͳ͏ͳͷʁ ͋͘·ͰݸਓతͳݟղͰ͕͢ɺ2025 ೥ 5 ݄ݱࡏͰɺ࣍ͷ͍ͣΕ͔ͷ৚݅Λຬͨ͢ બ୒ࢶͱͯ͠͸τοϓϨϕϧ͔ͳͱࢥ͍ͬͯ·͢ɻ 12
  12. ୈ 2 ষ αʔόʔαΠυ Kotlin ϝϦσϝ 2.3 ͿͬͪΌ͚Ͳ͏ͳͷʁ • ੩తܕ෇͚ˍ

    Null ҆શ • ϞμϯͰ։ൃऀମݧ͕ྑ͍ • Java ͷࢿ࢈Λ׆༻Ͱ͖Δ • Java ͔Βͷֶशۂઢ͕௿͍ͨΊજࡏతͳਓ਺΋ؚΊ։ൃऀ͕ଟ͍ • ೝՄೝূ΍ۚ༥ɺܾࡁͳͲߗΊͷ Web γεςϜʹ޲͍͍ͯΔ ٯʹҎԼͷΑ͏ͳ؍఺ͷ৔߹͸ଞͷݴޠͷํ͕༏Ε͍ͯΔ఺͕ଟ͍͔ͳͱײ͍ͯ͡ ·͢ɻ • ։ൃ଎౓༏ઌͰͱʹ͔͘ಈ͔͍ͨ͠ʢੜ੒ AI ར༻ΛؚΉʣ • খن໛Ͱ৽ن։ൃͷ Web γεςϜ • ͦ͜·ͰॏཁͳγεςϜͰ͸ͳ͍ʢೝՄೝূ΍ۚ༥ɺܾࡁ͸ؚ·ͳ͍ʣ ࢲ্͕هͷ৚݅Ͱ Web γεςϜΛ։ൃ͢ΔͳΒ TypeScript ͔ɺαʔόʔαΠυ Kotlin ͔Βݕ౼Λ࢝Ίɺཁٻࣄ߲΍νʔϜͷεΩϧ΍ܦݧͳͲΛؚΊͯݕ౼͢Δͱ ࢥ͍·͢ɻ 13
  13. ୈ 3 ষ αʔόʔαΠυ Kotlin ࠾༻ࣄྫ ࣮ࡍͷϓϩμΫτίʔυͰαʔόʔαΠυ Kotlin Λར༻͍ͯ͠Δاۀ΍αʔϏε ʹ͍ͭͯ঺հ͠·͢ɻ

    3.1 ೔ຊͰͷࣄྫ ࣍ʹ঺հ͢Δاۀ΍αʔϏε͸ࢲ͕ܰ͘ௐ΂͚ͨͩͰ͢ͷͰɺ΋ͬͱ࠾༻͍ͯ͠Δ ϓϩμΫτ͸͋Δͱࢥ͍·͢ɻ גࣜձࣾυϫϯΰ ZEN Study(چ N ༧උߍ) https://blog.nnn.dev/entry/2023/03/23/110000 גࣜձࣾϔϯϦʔ Ϋϥ΢υܕͷిࢠΧϧςɾϨηίϯɾΦʔμʔγεςϜ Henry https://techbookfest.org/product/eyYpprt9A8EZFSJqZJuUY3 גࣜձࣾΤεɾΤϜɾΤε https://tech.bm-sms.co.jp/entry/2021/11/25/120000 גࣜձࣾϢʔβϕʔε NewsPicks https://tech.uzabase.com/entry/2021/09/15/154445 ·ͨ͜͜Ͱ঺հͨ͠اۀɺαʔϏε͸࣮ࡍʹαʔόʔαΠυ Kotlin Λ࢓༷͍ͯ͠ Δͷ͸΋ͪΖΜͷ͜ͱɺهࡌͨ͠ͱ͓ΓςοΫϒϩά΍ٕज़ಉਓࢽͳͲͰΞ΢τϓο τ΋͞Ε͍ͯ·͢ɻ·ͨΧδϡΞϧ໘ஊͳͲͰதͷਓʹ࿩Λฉ͘͜ͱ΋Ͱ͖ΔͷͰؾ ʹͳͬͨΒ৘ใऩूͯ͠Έ͍ͯͩ͘͞ʂ 3.2 ೔ຊࠃ֎Ͱͷࣄྫ ࣍͸೔ຊࠃ֎ͷࣄྫΛ঺հ͠·͢ɻ DoorDash 14
  14. ୈ 3 ষ αʔόʔαΠυ Kotlin ࠾༻ࣄྫ 3.2 ೔ຊࠃ֎Ͱͷࣄྫ ΞϝϦΧͷϑʔυσϦόϦʔαʔϏεͰ࠷େγΣΞΛ΋ͭαʔϏεɹϒϩάه ࣄ΁ͷϦϯΫ͸ͪ͜Β*1

    ING Φ ϥ ϯ μ ͷ ϝ Ψ ό ϯ Ϋ https://careers.ing.com/en/job/katowice/ java-kotlin-developer/3121/21650677568 American Express ੈքతͳΫϨδοτΧʔυɾۚ༥αʔϏεاۀ https://aexp.eightfold. ai/careers?pid=29257806&Select%20Primary%20Career%20Areas= technology&domain=aexp.com&sort_by=relevance&hl=en ͜Ε͸΄ΜͷҰ෦Ͱ͢͠ɺ೔ຊͷࣄྫ͔͠ग़͍ͯ͠·ͤΜɻ։ൃݩͰ͋Δ Jet- Brains Λ࢝ΊੈքͰ͸ଟ͘ͷࣄྫ͕͋ΓɺೝূೝՄ΍ܾࡁαʔϏεͳͲॏཁͳαʔ Ϗε΋࣮੷͕͋Γ·͢ɻؾʹͳͬͨΒɺͥͻଞͷࣄྫ΋୳ͯ͠Έ͍ͯͩ͘͞ɻ *1 https://careersatdoordash.com/blog/how-to-build-a-flexible-customer-support- platform-with-kotlin 15
  15. ୈ 4 ষ ίϛϡχςΟ঺հ αʔόʔαΠυ Kotlin ͷίϛϡχςΟΛ঺հ͠·͢ɻ 4.1 Server-Side Kotlin

    Meetup Server-Side Ͱ Kotlin Λ΍͍ͬͯΔ։ൃऀͷू·Γ https://server-side-kotlin-meetup.connpass.com/ ਤ 4.1: Server-Side Kotlin Meetup 4.2 Kotlin Fest ٕज़ΧϯϑΝϨϯε Kotlin Fest ࣍ճ͸ 2025 ೥ 11 ݄ 1 ೔ (౔) ։࠵༧ఆʂ https://2025.kotlinfest.dev/ 16
  16. ୈ 5 ষ ࣍ͷҰา ຊஶͰαʔόʔαΠυ Kotlin Λ஌ͬͨ࣍ͷҰาͷ͝঺հͰ͢ɻ 5.1 ࣮ࡍʹखΛಈ͔ͯ͠ΈΔ खલຯ઻Ͱ͕͢ɺ·ͣ͸੿ஶΛ঺հ͠·͢ɻ

    ೖ໳!࣮ફ!αʔόʔαΠυ Kotlin ؀ڥߏங͔Β؆୯ͳΞϓϦΛಈ͔͢·Ͱ https://techbookfest.org/product/6042096452501504 ਤ 5.1: ೖ໳!࣮ફ!αʔόʔαΠυ Kotlin 18
  17. ୈ 5 ষ ࣍ͷҰา 5.1 ࣮ࡍʹखΛಈ͔ͯ͠ΈΔ ΋ͬͱ࣮ફ!αʔόʔαΠυ Kotlin લஶʮೖ໳!࣮ફ!αʔόʔαΠυ Kotlinʯͷଓฤͱͯ͠ɺϢʔβʔొ࿥ػೳΛղઆ

    https://techbookfest.org/product/5978852538974208 ਤ 5.2: ೖ໳!࣮ફ!αʔόʔαΠυ Kotlin ͍Ζ͍Ζ࣮ફ!αʔόʔαΠυ Kotlin Vol.1 ࣍ͷΑ͏ͳ಺༰ΛαʔόʔαΠυ Kotlin Ͱ΍Δʹ͸Ͳ͏ͨ͠Β͍͍ͷʁ ʹ౴͑Δ Ұ࡭ • SpringBoot ͷόʔδϣϯΞοϓ • JPA ʹΑΔςʔϒϧ JOIN ͷجૅ • ϑΝΠϧͷΞοϓϩʔυ https://techbookfest.org/product/6518049081393152 ਤ 5.3: ͍Ζ͍Ζ࣮ફ!αʔόʔαΠυ Kotlin Vol.1 19
  18. ୈ 5 ষ ࣍ͷҰา 5.1 ࣮ࡍʹखΛಈ͔ͯ͠ΈΔ ͍Ζ͍Ζ࣮ફ!αʔόʔαΠυ Kotlin Vol.2 ࣍ͷΑ͏ͳ಺༰ΛαʔόʔαΠυ

    Kotlin Ͱ΍Δʹ͸Ͳ͏ͨ͠Β͍͍ͷʁ ʹ౴͑Δ Ұ࡭ Ver.2 • Github ͳͲʹΑΔγϯάϧαΠϯΦϯʢOAuth2.0ʣ • TwitterAPI ͷར༻ʢOAuth1.1ʣ • JPA Ͱͷ JOIN ͦͷ 2ɺcascade ଐੑʹ͍ͭͯ https://techbookfest.org/product/6028603701592064 ਤ 5.4: ͍Ζ͍Ζ࣮ફ!αʔόʔαΠυ Kotlin Vol.2 Micronaut Ͱೖ໳!࣮ફ!αʔόʔαΠυ Kotlin Micronaut ͱ͍͏ϑϨʔϜϫʔΫͰαʔόʔαΠυ Kotlin ʹ؀ڥߏங͔Βೖ໳ ͢Δ https://techbookfest.org/product/tWnq3dgYJhucbCK3p1iYz ਤ 5.5: Micronaut Ͱೖ໳!࣮ફ!αʔόʔαΠυ Kotlin 20
  19. ୈ 5 ষ ࣍ͷҰา 5.2 ͦͷଞͷମݧखஈ Micronaut Ͱ gRPC ʹೖ໳ʂ

    ࣮ફʂ αʔόʔαΠυ Kotlin Micronaut Ͱ gRPC ʹ͍ͭͯೖ໳͢Δ https://techbookfest.org/product/uFq5iAcSbjDxbCrGFDurCF ਤ 5.6: Micronaut Ͱ gRPC ʹೖ໳ʂ ࣮ફʂ αʔόʔαΠυ Kotlin 5.2 ͦͷଞͷମݧखஈ ΋ͪΖΜ Qiita ΍ Zenn ͳͲʹ΋ແྉͰࢼͤΔղઆهࣄ͸͋Γ·͢͠ɺ঎ۀࢽ΋ग़ ͍ͯ·͢ɻάάΕ͹͍͘ΒͰ΋ग़͖ͯ·͢ͷͰ͓޷͖ͳखஈͰͥͻαʔόʔαΠυ Kotlin Λମݧͯ͠Έ͍ͯͩ͘͞ɻ 21
  20. ͋ͱ͕͖ ΋ͬͱαʔόʔαΠυ Kotlin ͕ྲྀߦΔͱ͍͍ͳͱࢥ͍ͭͭɺ൒೥ʹҰճ༗ྉͷ৽ ץΛग़͚ͩ͢Ͱ͸μϝͩΑͳͱࢥ͍ͭͭɺ͸΍਺೥ɻͻͱ·ͣෑډΛԼ͛ΔҰาͱ͠ ͯແྉిࢠ൛ೖ໳ॻͷࣥච͕Ͱ͖·ͨ͠ɻ Ver0 Έ͍ͨͳײ͡ͷ಺༰ͱͳ͍ͬͯ·͢ͷͰɺ΋͜͠͏͍͏಺༰΋஌Γ͍ͨʂ ͱ ͍͏͝ҙݟ͝ײ૝͕͋Ε͹֤

    SNS Ͱϋογϡλά#sski1 Ͱ౤ߘΛ͓ئ͍͠·͢ɻ ՄೳͳݶΓ൓ө͍͖͍ͯͨ͠ͱࢥ͍ͬͯ·͢ɻ αʔόʔαΠυ Kotlin ษڧձΛ΍ͬͯΈ͍ͨ αʔόʔαΠυ Kotlin ΛྲྀߦΒͤΔͨΊʹ͸ମݧՄೳͳษڧձ͕͋Δͱ͍͍ͷ͔ ͳͱࢥ͍ͬͯ·͢ɻ͜Ε͸ษڧձ͕ۜͷ஄ؙͰ͋Δͱ͍͏ΑΓɺٕज़ಉਓࢽ΍ SNS ͱ͍͏ރΕͨύεΑΓ΋৽ͨͳܦ࿏ͰͷΞϓϩʔν͕ඞཁͩͱࢥ͍ͬͯΔ͔ΒͰ͢ɻ ͨͩɺ͜Ε΋ࢥཱ͍ͬͯ਺೥ͳͷͰͰ͖Δ͔Ͳ͏͔ɺͰ͖ͯܧଓ͢Δ͔͸ͪΐͬͱ೰ ·͍͠Ͱ͢ɻͱ͸͍͑ܧଓ͢Δͷ͸࢝Ί͔ͯΒͷ໰୊ͳͷͰɺ·ͣ͸࢝ΊΔํ޲Ͱߟ ͍͖͍͑ͯͨͱࢥ͍ͬͯ·͢ɻ ੜ੒ AI ͱαʔόʔαΠυ Kotlin ຊจʹগ͠ॻ͖·͕ͨ͠ɺ2025 ೥ 5 ݄࣌఺Ͱ͸αʔόʔαΠυ Kotlin ʹؔ͢Δੜ ੒ AI ͷΞ΢τϓοτ͸ΠϚΠνͱ͍ͬͨҹ৅Ͱ͢ɻ΍͸Γωοτ্ʹֶशσʔλ͕ େྔʹ͋Δ TypeScript ΍ Python ͷํ͕ڧ͍ͷ͔ͳͱࢥ͍·͢ɻJetBrains ͕։ൃ ͍ͯ͠Δ (ͨ͠) ίʔσΟϯά༻ͷ AI ͕͋ΔΑ͏Ͱ͕͢ɺ·ͩ·ͩ࢖ͬͨײ૝ͳͲ͸ ฉ͚͍ͯ·ͤΜɻͦͷ͋ͨΓ͸ܧଓͯ͠৘ใऩू͍͖͍ͯͨ͠Ͱ͢Ͷɻ ͍͞͝ʹ ͜͜·ͰಡΜͰ͍͖ͨͩ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ ຊஶ͸ఆظతʹΞοϓσʔ τ͍͖ͯ͠·͢ͷͰɺࢥ͍ग़ͨ͠ͱ͖ʹμ΢ϯϩʔυ͠ͳ͓͍͚ͯͨͩ͠Δͱ޾͍ 22
  21. ஶऀ঺հ จষ FORTEʢϑΥϧςʣ @FORTEgp05 Web ΞϓϦέʔγϣϯͷΤϯδχΞͰ͕͢ɺ ͍Ζ͍Ζ΍ͬͯ·͢ɻX(چ Twitter)ɺ ϒϩάɺPodcast ഑৴ɺ਺ଟ͘ͷझຯͱָ͘͠׆ಈதɻ

    δϣφαϯɾϥεϚηϯͷʮ΋ͬͱ͏·͘ιϑτ΢ΣΞΛಧ͚Δ΍ΓํΛ୳͠ٻ Ίɺ෼͔͍ͪ͋ɺݟग़͍ͯ͜͠͏ʢͰ΋͋Μ·Γਂࠁʹड͚ࢭΊ͗͢ͳ͍Ͱɻָ͠Έ ͳ͕Β΍͍ͬͯ͜͏ʣ ʯΛମݱͨͯ͘͠ຊஶΛࣥච͠·ͨ͠ɻ ॴଐαʔΫϧ aozora Project ʮιϑτεΩϧશൠ (ओʹܧଓ΍ίϛϡχέʔγϣϯ)ʯͱʮKotlin ؔ܎ͷٕज़ॻʯ ϝΠϯͷαʔΫϧɻ https://fortegp05.hatenablog.com/entry/2024/05/25/161409 24
  22. ෇࿥ ஶऀ঺հ ਤ 7: aozora Project αʔΫϧ঺հϒϩά Πϥετ୲౰ ryoiʢΓΐ͍ʣ @ryoimaru

    ֆΛඳ͍ͨΓήʔϜΛͨ͠ΓϓϥϞσϧΛ࡞ͬͨΓͰ͖ΔਓੜΛ௥ٻ͍ͯ͠·͢ɻ 25
  23. એ఻ ஶऀϙʔτϑΥϦΦ ͓࢓ࣄ΍झຯͳͲͷࣗݾ঺հɺ֤ SNS ΁ͷϦϯΫͳͲɻ https://fortegp05.net/ ਤ 8: ϙʔτϑΥϦΦ ࡶஊܥ

    Podcast aozora.fm aozora.fm ͸࢓ࣄ΍झຯͷָ͠͞Λڞ༗͢Δࡶஊܥ Podcast Ͱ͢ɻ Τϐιʔυ·ͱΊ https://fortegp05.hatenablog.com/entry/2024/01/17/201600 26
  24. ෇࿥ એ఻ ਤ 9: Podcast #aozorafm δϟϯϧผ͓͢͢ΊΤϐιʔυ·ͱΊ ഑৴ϖʔδ https://fortegp05.github.io/aozorafm/ ਤ

    10: aozora.fm ഑৴ϖʔδ Spotify https://open.spotify.com/show/6jtUYZTOUC03rOuefQMVH8 27
  25. ෇࿥ એ఻ ਤ 11: aozora.fm Spotify Apple Podcast https://podcasts.apple.com/jp/podcast/aozora-fm/id1443168521 ਤ

    12: aozora.fm ApplePodcast ήετɾ͓ศΓืू ࣍ͷ Google Form ͔Β͓ئ͍͠·͢ʂ https://docs.google.com/forms/d/e/1FAIpQLSfR5ZjmZf2N5hr53SR_ Q5yB6d02VtgFdNgnMFgcUwW049OGDg/viewform 28
  26. ௒ೖ໳ʂ αʔόʔαΠυ Kotlin 2025 ೥ 5 ݄ 31 ೔ɹॳ൛ୈ 1

    ࡮ɹൃߦ ஶɹऀ FORTE ൃߦॴ aozora Project ࿈བྷઌ [email protected] ɹ (C) 2025 FORTEgp05