こんにちは、タイミーでAndroidエンジニアをしている ふなち(@_hunachi)です 😆
タイミーの Kaigi Pass という制度を使い、Kotlin Fest 2025 に参加してきたので、その感想などを紹介します!
ちなみに、弊社からは @tick_taku と私の2名で参加しました。

聞いたセッション紹介
@tick_taku と 私、それぞれが特に印象に残ったセッションをご紹介します!
tick_taku
「動く」サンプルでスムーズなコミュニケーションを 〜CMP時代のKotlinPlayground活用最前線〜
KotlinPlayground のプラットフォームに Compose Multiplatform が選択できるため、Web 上でサクッと画面を構築して URL を共有することで動くものベースにチームコミュニケーションを活性化しよう、というセッションです。
KotlinPlayground は Kotlin 勉強し始めのころに「このコードはどういう動きをするのか?」を確認するために利用したことはありましたが、まさか UI を共有することができるようになっているとは...明日から使ってみたい tips な内容でした!
自分は Android アプリエンジニアなのでさっそく Android 向けの UI を構築して共有したいなと思いました。ですが実際触ってみると activity package は import できそうになかったので、基本は Web 向けで Android アプリ的にはコンポーネント単位の挙動の確認などに利用できるのかなと感じました。
またWeb上の環境なのでプロダクトコードをそのまま載せるのはやめておいた方が無難かもしれません。
こちらのセッションで Firebase Studio なる存在を初めて聞ききました。AI による vibe coding をベースとしたノーコード開発向けのプラットフォームでしょうか。
UI 共有に利用するだけだとオーバースペック気味そうですが、テキストからモックを作らせてコミュニケーションを図るという目的であれば有用そうですね。
フルKotlinで作る!MCPサーバー、AIエージェント、UIまで一気通貫したAIエージェントシステム
もともと Kotlin で MCP サーバー作れないかな〜と思っていたところに Koog による AI エージェント作成までを紹介されていて、フルスタック Kotlin の可能性を見せていただき、とてもワクワクしました。やはり Kotlin は素晴らしい言語!!
チャットのチェックポイントにおけるハマったポイントなど、経験者の少ないフレームワークの実体験に基づくナレッジの共有はとても貴重でありがたいです。
公式 SDK が Streamable HTTP をサポートしていないというのは MCP サーバーを作成する上でネックになりそうですね。
このセッションを聞いた後に上記の KotlinPlayground のセッションを聞いていて思ったのですが、LLM を利用して仕様書や要点から KotlinPlayground 使ってモックを作らせて短縮リンク発行するエージェント作れないかな〜🤔
アイデアを話してまとめているだけで動作が見られる簡単なモックができ、よりプロダクトのコミュニケーションを円滑にできるのではと期待値が高まりました。
とは言え、 Firebase Studio が想像している通りであれば、用途が被りそうなので情報を集めていきたいです。
内部実装から理解するCoroutines ー Continuation・Structured Concurrency・Dispatcher
普段何気なく利用している Coroutines の詳細な内部処理をコードと図解を用いて詳細に解説していてとても勉強になりました。
実際この辺りの内部仕様を把握していなくてもなんとなくで使えてしまい非常に便利ですが、ディテールを理解することでより深く・効率的に使いこなせるようになるのだと実感しました。
少しハードルの高いデコンパイルやライブラリのソースコードを読んでみることに挑戦しようと思える素晴らしいセッションだと思います。
余談ですが解説記事が事前に公開されており、進行に合わせて読み進めながらセッションに集中できたこともとても良い体験でした。ありがとうございます!
ふなち
Kotlinを支える技術:言語設計と縁の下の力持ち
このセッションでは、Kotlinの言語設計の裏側と、この一年でKotlinがどのように進化してきたのかについて深く知ることができました。
言語設計に関してはCompanion objectの話を聞くことができました。
KotlinのCompanion objectは、その使用の95%がJavaでいうstaticを宣言する場として使われています。しかし、実際にはClass.Companionという型を生成しており柔軟な使い方ができる点や、クラスに一つしか作れない点などの問題があるそうです。
この問題を解決するため、過去にはnamespaceやstaticなどさまざまなプロポーザルが検討されましたが、Companion objectとの併用時の課題などから、全てリジェクトされてしまったそうです。しかし、現在はcompanion 構文を使えるようにすることで、これらの課題を解決しようとしているという話でした。
また、この話の中で「一度リリースしてしまうと、それは本や動画、ネット上の記事として末長く残ってしまう。だから、簡単にDeprecatedにはできない。新しい機能を作る際には、とても慎重にならざるを得ない。」とおっしゃっていたのが特に印象に残りました。
他にもセッション内では、Kotlin 2.2や2.3、そしてAndroid Studioのアップデートについても触れられており、Kotlinは更に年々便利になっているなと改めて実感しました。
また、Kotlinのロードマップが年に2回ほど更新されているとのことだったため、Kotlin Fest の数日後にAndroidのメンバー全員で、最新のロードマップを確認する時間を作りました。Kotlin Notebookの開発が進んでいることなどを知れて、とても有意義な時間となりました。半年後にも、またメンバー全員で読もうと思います!
せめて、ネイティブらしく - マルチプラットフォームと撤退戦略
KMP(Kotlin Multiplatform)をあまり触ったことがない自分としては、「KMPを導入した場合の欠点」や「万が一、撤退する場合にどうすべきか?」という点が気になり、このセッションを聞きに行きました。
KMPをほぼ触ったことがないのですが、このセッションは主にiOSアプリ開発を行う際の内容だったため、FlutterやAndroidを触っている自分にとって、比較的分かりやすい内容でした。
KMP iOSのStableリリースもあり、KMPでのiOSアプリ開発はどんどんしやすくなっていることや、KMPでは実現が難しいこともKotlin/Nativeで頑張ればほとんど実現できると知れ、KMP導入のハードルはかなり下がっているんだなと感じました。
「撤退戦略」に関しても、実装時にレイヤーを分けるといった具体的なTipsが紹介されており、とても勉強になりました。
Rewind & Replay: Kotlin 2.2 が変えるCoroutine デバッグ最前線
最近はCoroutinesの深いデバッグをする機会が減っていましたが、このセッションでCoroutinesのデバッグがこんなにも進化していることを知ることができました。
ただ、新しいデバッグ機能をAndroid Studioではまだ使えないそうなので、早くAndroid Studioでも対応してほしいなと思いました😢
一緒に紹介されていたstacktrace-decoroutinatorというライブラリは、Android Studioでも使用可能とのことだったので、いざという時に頼らせてもらおうと思います!
KoogではじめるAIエージェント開発
現在のAI Agent開発の状況や、Koog がいかに便利かを知ることができました。
カレンダーに予定を追加してくれるようなAgentも作れるという実例を見て、これは社内ツールや外部サービスとの連携など、色々な用途で使えそうだと感じました。
細かな実装のコツも色々紹介されており、Koogを使って、社内・社外問わず、AIエージェント開発にチャレンジしてみたいというモチベーションが高まりました!
全体を通して
全体的な雰囲気は、セッションもブースもたくさんあり、賑わっていて楽しかったです。
お弁当やPCを持ってきていた関係で荷物が多かったため、クロークがあったのも本当に助かりました!
懇談会では、サーバーサイドでKotlinを使っている企業の方ともお話ができたり、Kotlin Fest ならではの交流ができていい刺激になりました!弊社のサーバーサイドもKotlinになればいいのに…(小声)🤫
Kotlin Fest で学んだことや得られたモチベーションを活かして、明日からの開発に繋げていきたいと思います!
