Kotlin Fest 2025 参加レポート

Kotlin Fest 2025 参加レポート

はじめに

2025年11月1日(土)に東京コンファレンスセンター品川で開催された「Kotlin Fest 2025」に、Androidアプリ開発を担当しているメンバーが参加・登壇しました。本記事では、イベントの概要や得られた知見についてご紹介します。

Kotlin Fest 2025のパネル

Kotlin Fest とは

Kotlin Festは、「Kotlinを愛でる」をテーマに掲げ、Kotlinに関する知見共有とKotlin開発者の交流を目的とした技術カンファレンスです。

Kotlin Festのテーマは「Kotlinを愛でる」

Kotlin Fest 2025は2025年11月1日(土)に開催され、Kotlin言語やサーバーサイド、Android、AI等の多種多様なカテゴリについて、20以上のセッションが提供されていました。

登壇内容の紹介

AIとの協業で実現!レガシーコードをKotlinらしく生まれ変わらせる実践ガイド

ZOZOTOWNのAndroidアプリ開発に携わっているにしみー(@nishimy432)は『AIとの協業で実現!レガシーコードをKotlinらしく生まれ変わらせる実践ガイド』というタイトルで登壇しました。

ZOZOTOWNのAndroidアプリ開発に携わっているにしみー

本セッションでは、AIを活用してレガシーコードを「Kotlinらしい」モダンなコードに刷新するための実践的なアプローチと、そのための効果的なプロンプトについて説明しました。

speakerdeck.com

にしみーのコメント

実際の開発の中でAIを活用してレガシーコードをKotlinらしく置き換えていくために意識したことや工夫したことについてお話ししました。KotlinFestへの登壇は初めての挑戦で緊張しましたが、発表の準備を進める中でKotlinの魅力を改めて認識でき、私自身のKotlinへの愛もより深まる貴重な機会となりました。

セッション紹介

ここからは現地参加したZOZOのAndroidアプリエンジニアが気になったセッションを紹介します。

Rewind & Replay: Kotlin 2.2 が変えるCoroutine デバッグ最前線

ZOZOTOWN開発1部Android1ブロックの愛川です。Masayuki Sudaさんによる『Rewind & Replay: Kotlin 2.2 が変えるCoroutine デバッグ最前線』を紹介します。このセッションは、Kotlin 2.2とIntelliJ IDEA 2025の連携により実現されたコルーチンデバッグの進化に焦点を当てたものでした。前半はローカル変数の消失やステップ実行の不安定さなど、開発者が抱えていた問題点の紹介やそれらの技術的背景について紹介されていました。後半の5大改善のパートでは、デバッグの安定性向上により、特定のコルーチン内でステップ実行を継続できるようになった点などの改善点が紹介されており、今後の開発体験を大きく変えるものだと感じました。

私自身、suspend関数の詳細な仕組みを理解していなかったのですが、各種の問題点と技術的背景から丁寧に説明していただいたことで納得感を持って理解できました。

speakerdeck.com

【招待セッション】Kotlinを支える技術:言語設計と縁の下の力持ち

ZOZOTOWN開発2部Androidブロックのにしみーです。JetBrains所属のジュラノフ ヤンさんによる招待セッション『Kotlinを支える技術:言語設計と縁の下の力持ち』を紹介します。セッション前半では、Kotlinに新機能を追加する際の開発プロセスの裏側が紹介されました。後半では、ビルドツールをはじめとする周辺ツールに追加予定の新機能や今後のKotlinの方向性についてのお話があり、Kotlinの進化と将来性が感じられる内容でした。

特にKotlinの新機能に関するパートでは、言語仕様を変更することの重大さを感じられました。また、1つの機能が導入されるまでに社内で活発に検討されている過程を知れたのは、日々Kotlinを利用する開発者として非常に興味深く感じました。

Kotlin言語仕様書への招待 〜コードの「なぜ」を読み解く〜

ZOZOTOWN開発2部Androidブロックのにしみーです。Honda Yusukeさんによるセッション『Kotlin言語仕様書への招待 〜コードの「なぜ」を読み解く〜』を紹介します。このセッションでは、Kotlinの言語仕様書の紹介から仕様書の読み解き方の解説、さらに仕様書ベースでのいくつかのKotlin仕様の紹介まで、幅広く解説していただきました。

正直なところ、私にとって言語仕様書は全くの未知の世界で、EBNFベースの表記法もこのセッションで初めて知りました。最初は難しい記法だと感じましたが、とても丁寧に解説してくださったおかげで、読み解き方を理解できました。

特に、普段当たり前に使っている「オーバーロード解決」についてその内部仕様を言語仕様書のレベルで知れ、Kotlinへの理解がさらに深まったと感じています。

speakerdeck.com

ネストしたdata classの面倒な更新にさようなら!Lensを作って理解するArrowのOpticsの世界

ZOZOTOWN開発2部 Androidブロックの山田です。shiita0903さんによる『ネストしたdata classの面倒な更新にさようなら!Lensを作って理解するArrowのOpticsの世界』を紹介します。

Android開発におけるUiStateの肥大化を懸念し、実践的な解決法を知りたくて聴講しました。

セッションではまず、関数型のLens(getter/setter のペア)という基本的な考え方を示し、getter/setterを自作してLensの仕組みを深く理解する流れで進みました。Lensを用いることで、ネストしたdata classに対するcopy()の連鎖を抽象化し、部分更新を簡潔に記述できることが示されました。一方で、Lens単体ではコレクションやsealedクラスの扱いに難があることも指摘され、それをArrow-ktで解決する事例や、コード生成やcopy { … }といった読みやすい記法まで、実践的に丁寧に紹介されていました。

Arrow-ktによって多くの課題は技術的に解決できますが、効果的に使いこなすにはある程度の習熟が必要だと感じました。とはいえ、関数オブジェクトとしてのgetter/setterのようなシンプルな要素からここまで実現できるLensの設計思想と、それを短く読みやすく表現できるKotlinの柔軟性には改めて感動しました。

speakerdeck.com

さいごに

今回のKotlin Fest 2025への参加を通じて、Kotlinコミュニティの活発さと、技術の進化を感じられました。また、セッションだけでなく、ブースでの交流を通して様々なエンジニアの方々と意見交換をしたり、技術的なアドバイスをもらったりと非常に有意義な時間を過ごせました。このような貴重な場を作ってくださったスタッフおよび登壇者の皆様に、心より感謝申し上げます。

ZOZOでは、一緒にサービスを作り上げてくれる方を募集中です。ご興味のある方は、以下のリンクからぜひご応募ください。

corp.zozo.com

カテゴリー