🇳🇱

KotlinConf 2023に参加してみた

2023/04/17に公開

3/13 ~ 3/14にオランダのアムステルダムで開催されたKotlinConfに参加してきたので、どんな感じだったかというのを忘れないうちに備忘録として残しておこうと思います。
(セッションの内容に関して書くと結構長くなりそうなので、今回は雰囲気とかの内容になります。技術的に面白かった部分などは別の記事で書いていこうと思います。)
https://kotlinconf.com/


KotlinConfとは?

JetBrains社が主催している、Kotlinに関するカンファレンスです。
今まで2017年、2018年、2019年の3回開催されており、今回は久しぶりの開催となりました。(ここ3年はコロナで解散されず🥲)
今回はオランダアムステルダムで開催され、世界中から有名な開発者の方々がたくさんいらしていました。
セッションだけでなく、Day2の夜にはパーティーなども開催されたり、朝・昼・晩とそれぞれ食事の提供などもありました。
Day1では、workshopが開催されDay2とDay3でセッションが行われました。(今回はworkshopには参加してません)

セッションについて

最初はOpening Keynoteから始まりました。
この様子はYoutubeで公開されているので、見てみてください。
ここでは、Kotlin 2.0の新機能やCompose for iOSがAlphaになったなどの発表がありました。
https://www.youtube.com/watch?v=c4f4SCEYA5Q&t=127s

その後1セッション45分くらい(中には15分のものとかもありました)で、どんどんセッションが行われていきました。
また、セッション以外にもcodelabも開催されており、自分は2つのcodelabに参加しました。
自分が見たセッションと参加したcodelabは以下のものになります。

Day2

  • Kotlin & Functional Programming : pick the best skip the rest
    • Kotlinを関数型プログラミングでやる上で気を付ける部分などの内容

https://kotlinconf.com/speakers/7df2c791-134f-4279-bb68-23f8899bb1ac/#Kotlin & Functional Programming: pick the best, skip the rest

  • Arrow 2.0's Trajectory
    • ArrowというKotlinを関数型プログラミングで実践していく上で使うと便利になるライブラリの開発ヒストリーと使い方・内部でどうなっているかという内容

https://kotlinconf.com/speakers/1d0019f9-31b2-41c8-baa9-012f89d0df85/#Arrow 2.0's Trajectory

  • Kotlin Multiplatform Conversions at Android Jetpack Scale
    • DataStoreなどのAndroidxライブラリが、Kotlin Multiplatformにどうやって対応したかという内容

https://kotlinconf.com/speakers/6b8c2666-a975-4a5f-9ee0-5f28f3e445ee/#Kotlin Multiplatform Conversions at Android Jetpack Scale

  • Showkase : Automated UI Infrastructure in Jetpack Compose using KSP
    • ShowkaseというJetpack ComposeのPreview関数をUIカタログ的な感じで表示できるようにするライブラリの内容(PaparazziとShowkase、TestParameterInjectionを使ったPreviewテストの説明も少しありました)

https://kotlinconf.com/speakers/0cdb0d8a-a6ae-49d5-8871-eec72234922c/#Showkase: Automated UI Infrastructure in Jetpack Compose using KSP

  • Introduction to Context Receivers
    • こちらはContext Receiverに関するcodelabになっており、実際のサンプルコードにContext Receiverを導入してみて、どうリファクタリングできるかを体験できる内容になっていました。

https://kotlinconf.com/speakers/5f919344-b492-4bc7-8f0d-7cfc9f31e545/#Introduction to Context Receivers

  • Reflections on a Year of Compose
    • PinterestにJetpack Composeを導入した際に問題となった部分、そしてその反省を踏まえてこれからJetpack Composeを導入するならこうした方がいいよという内容。

https://kotlinconf.com/speakers/814138cf-aa0c-48e2-8f38-52b31c29a45b/#Reflections on a Year of Compose

  • Meetup with KMM Libraries
    • MeetupでKMMを採用しており、その際に使用しているライブラリの説明

https://kotlinconf.com/speakers/b585543d-3bcc-4485-808e-e57f9e2a192b/#Meetup with KMM Libraries

Day3

  • How to Publish Your First Kotlin Multiplatform Library
    • KMMのライブラリを公開する方法に関する内容

https://kotlinconf.com/speakers/406d30d0-9757-47d9-94d7-667e11ac803b/#How to Publish Your First Kotlin Multiplatform Library

  • Compose for Desktop
    • Compose multiplatformで既存のAndroidアプリをDesktopで動作させるためにどういった手順でやるかのcodelab。実際にハンズオン形式で取り組みました。

https://kotlinconf.com/speakers/5f919344-b492-4bc7-8f0d-7cfc9f31e545/#Compose for Desktop

  • Level up on Kotlin Multiplatform
    • Kotlin Multiplatformで使用できる様々なライブラリの説明。

https://kotlinconf.com/speakers/62216efe-dd8b-4d8b-9800-1d51b57c4001/#Level up on Kotlin Multiplatform

  • Playing in the Treehouse with Redwood and Zipline
    • RedwoodというiOSなどでもAndroidと同じソースコードでUIを構築できるライブラリの説明。

https://kotlinconf.com/speakers/3eabdd46-6cb5-4083-9eb8-1ad9a3b7a5eb/#Playing in the Treehouse with Redwood and Zipline

会場の様子

会場は、人数の割には狭く結構人でごったがえしていました😅

会場にはJetbrainsのTシャツやパーカーなども売られていました。

シールやピンもたくさんありました。

地下の休憩所の様子

Closing panelの様子

新しいマスコットも紹介されました

日本人は、全員で6人くらい?でした。(ちょっと自分が全員を把握していないかもなので、実際はもっと多いかもしれないです)
皆さんとても喋りやすく、すごく助かりました。

何を感じたか?

やっぱり英語大事

今回初めて海外のカンファレンスに参加してみて、改めて英語が使えることのメリットを認識することができました。
英語をちゃんと使えるようになることで、今回みたいなカンファレンスにも参加気軽に参加できるようになるし(お金はかかりますが😅)、繋がる人の幅も広がるなと感じました。
残りの大学生活1年では、AndroidとかKotlinとかエンジニアとしての技術的な部分はもちろん引き続き継続して勉強していくのに加えて、もっと英語を勉強していこうと思いました。

海外の雰囲気

また、DroidKaigiとはまた違った雰囲気があり、海外のカンファレンスの雰囲気を知ることができたのもすごくいい経験になりました。

技術的な部分

技術的な部分では、もちろん知らないこともありましたが、知っているような内容もあったので自分の日頃の情報のキャッチアップの仕方はそこまで間違っていなかったんだなということが分かったのはすごく良かったです。
公式ドキュメントやTwitter等で流れてくる情報をこれからもちゃんとキャッチアップしていけば、そこまで遅れることはなさそうだなと再認識することができました。

登壇者のスキル

登壇されている方たちは、もちろん開発者としての技術的にも素晴らしい方達ばかりなのはもちろんなのですが、それと同時に自分が感じたのは登壇者のプレゼンのスキルであったり読みやすいスライドを作っている部分もすごく参考になりました。
セッションの中で、ただ内容を話すだけでなく聞きにきてくれた人達を笑わせたり、話すスピードだったり時間通りにセッションを進めるスキルなどは、慣れの部分も大きいとは思いますが、これから自分が登壇などをする際には参考にしていこうと思いました。

これからどうする?

今回わざわざアムステルダムまで行って現地参加したので、これを無駄にせずセッションの内容とかをもう一度振り返ってみて、自分の手元で色々試してみようと思います。
特に以下の部分を重点的に見ていこうと思いました。

  • Kotlinの関数型プログラミング
    • Arrowというライブラリを使って関数型プログラミングでやってみるというのを試してみようと思います。
  • Compose Multiplatform
    • Compose for iOSやCompose for Desktopを実際のAndroidアプリにどうやって導入していくのかみたいな部分をcodelabで実際に小さいプロジェクトではありますが、やってみて面白いと感じたので、他のアプリにも導入してみてどういう問題が発生するのか、そしてどう解決すればいいのかを考えていこうと思いました。
  • Kotlin Compiler
    • K2 Compilerが使われるようになったりする中で、YoutubeでK2 Compilerの話を前に見たっきりあまり情報を終えていなかったので、具体的にどういう改善がされているのかをちゃんと理解していこうと思いました。

後は、今までAndroidでKotlinをやってきたのでもっとサーバーサイドでも使っていってみようと思います。(前からやろうと思っていて本でだけやっている状態)

最後に

今回実際にKotlinConfに参加してみて、様々な面白いセッションがありましたし、Twitterや自分が持っている書籍等で知っていた人たちとも実際に会ってお話をすることができ、自分自身すごく刺激になりました。
楽しかったので、また来年・再来年も行けるならいきたいと思いました!
いつか自分もこういった舞台で登壇できるように、またこれからより一層頑張っていきたいと思います🚀
Have a nice Kotlin💜

Discussion