#KotlinFest Kotlin Fest 2024 に参加しました

6/22(土)に、ベルサール渋谷ファーストで開かれた「Kotlin Fest 2024」に参加しました。
Kotlin Fest 2024

 
 
最近、Kotlinを使って IntelliJ Platform Plugin を作りました。
RubyMine 2023.3系から、rails routes を便利に扱える Railways プラグインが動かなくなったので、代替プラグイン Railroads を作りました - メモ的な思考的な

その際にKotlinの書き味が良いと感じたこともあり、Kotlin Fest 2024へ参加することにしました。

そこで、簡単ですが参加メモを残します。誤りがあればご指摘ください。

 
目次

 

参加したセッション

今回は、合計8セッションに参加しました。

他にも参加しようと思っていましたが、

  • スポンサーブースで話し込んだ
  • Ask the Speaker コーナーで話し込んだ
  • エアコンで体が冷えすぎて館外へ出てた

などで参加できないセッションもありました。

 

オープニングセッション

今日一日Kotlinを愛でていこうという気持ちになりました。

セッションの中で特に良かったのは、スポンサー各社がどのようにKotlinを使っているかの事例紹介があったことでした。Kotlinをどんな領域で使っているのか、知ることができたためです。

 

KotlinConf 2024を後から256倍楽しむためのヒント

資料:KotlinConf 2024 を後から256倍楽しむためのヒント - Google スライド

KotlinConf 2024の様子がわかった良いセッションでした。

また、

  1. 生成AIを使って各セッションのサマリを作る
  2. 気になるセッションを動画で見る

という方法は色んなところで応用できそうだったので、今後使っていこうと思いました。

他にも、国内のKotlinコミュニティの紹介があったのも良かったです。

 

今こそ始めたい!Compose Multiplatform

資料:Get started with Compose Multiplatform! - Speaker Deck

Compose Multiplatformを知らなかった自分にとっては、全体像や作り方を知ることができたセッションでした。

Desktopに加えWebでも使えそうと分かったため、何か作りたくなった時は選択肢の一つにしてみようと思いました。

 

2024年版 Kotlin サーバーサイドプログラミング実践開発

資料:2024年版 Kotlin サーバーサイドプログラミング実践開発 - Speaker Deck

 
日頃は主にサーバーサイドのWebアプリケーションエンジニアとして働いていることもあり、Kotlinでサーバーサイドを作る時の技術スタックを知りたくて参加しました。

自分がWebアプリケーションを作りたいときに必要そうなライブラリを、更新状況も含めて一通り紹介してくださったので、参考になりました。

 

もっとKotlinを好きになる!K2時代のKotlin Compiler Plugin開発

資料:[Kotlin Fest 2024] もっとKotlinを好きになる!K2時代のKotlin Compiler Plugin開発 - Speaker Deck

KotlinのCompilerにもPluginを書けるところがあるのが気になり参加しました。

Kotlin Compilerの内部構造からPluginでの拡張ポイント、実際のPluginの例など一通りの解説がありました。図も多用されていて、専門外の自分でも分かりやすく感じました。

また、このセッションのおかげで、別のセッションの理解が深まったので、その点でもありがたかったです。

 

withContextってスレッド切り替え以外にも使えるって知ってた?

資料:withContextってスレッド切り替え以外にも使えるって知ってた? - Speaker Deck

withContext とは何かを知るために参加しました。

IntelliJ Platform PluginでもUIスレッドを意識して実装することがあったので、 CoroutineContext の切り替えが必要なときが来たら、改めて資料などを見返そうと思いました。

 

Kotlin sealed classを用いた、ユーザーターゲティングDSL(専用言語)と実環境で秒間1,000万評価を行う処理系の事例紹介

資料:#KotlinFest 2024 : Kotlin sealed classを用いた、ユーザーターゲティングDSL(専用言語)と実環境で秒間1,000万評価を行う処理系の事例紹介 - Speaker Deck

IntelliJ Platform Pluginを作ったときにUIをKotlin DSLで書いたこともあり、他のKotlinのDSL事例を知りたくて参加しました。
Kotlin UI DSL Version 2 | IntelliJ Platform Plugin SDK

このセッションではYAMLをベースにしたDSLについて解説がありました。

「Kotlinのコンパイルエラーが出なくなるまで実装すると完成」のような内容を聞いて、うっかり変な実装をしなくて済むので良さそうと感じました。

 

K2のKotlin IDEプラグインの中を覗いてみよう♪

資料:K2のKotlin IDEプラグインの中を覗いてみよう♪ - Speaker Deck

IDEプラグインの中」というタイトルに惹かれて参加しました。

など、いつも使っているIDEの中ではそんなことが起きているのねと思ったのでした。

また、「K2時代のKotlin Compiler Plugin開発」のセッションでコンパイラの各フェーズの話を聞いていたこともあり、難しい部分が予習できていた感があって良かったです。

 
あとは、K2になった時、Kotlinで書いた自作のプラグインへの影響は何があるのか気になったため、Ask the Speakerコーナーで質問してみました。

すると

  • K2で変わるのはKotlin Pluginの話
  • IntelliJ Platform Pluginの PSI (Program Structure Interface) などは変わらない
  • Kotlinの機能をガンガン使っているのでなければ、設定ファイルに追記するくらいの影響

的な回答をいただきました。

Kotlin Fest 2024に参加するまでは今後のプラグインのメンテナンスがどうなるか悩んでいたので、中の人からお話を聞けただけでもありがたかったです。

安心して、今後も細々とメンテナンスしていこうと思いました。

 

スポンサーブース巡り

スタンプラリーが開催されていたこともあり、スポンサー各社のブースを巡りました。

複数社でKotlinに関する問題を出題していたので、Kotlin分かれば楽しそうと思いつつ、Kotlinとは関係ない話題とかで話し込んでいたりしました。

また、Twitter (X) のアイコンをバッチにしていただいたり、エンジニア トリ診断を受けてカナリアが出たりと、Kotlinにそこまで詳しくない自分でも楽しめました。

 

終わりに

最後になりましたが、Kotlin Fest 2024 を運営してくださったみなさま、参加者のみなさま、ありがとうございました。