【レポ】Kotlin Fest 2024に現地参加してきたよ
はじめに
こんにちは!なが(@naga_homelab)です!
普段はモバイル(Android/iOS)を主軸にvisionOS・ネットワーク・Web・デザインあたりを触っています。
Android開発歴としてはまだ半年ほどで、Kotlin/Composeの開発が95%くらいを占めています。
今回は、Kotlin Fest 2024に学生支援チケットで参加してきたので、参加レポートを書いてみようと思います。
カンファレンスへの参加は2回目で、try! Swift Tokyo 2024以来の参加です。
拙い文章ではありますが、どうか最後までお付き合いください。
第一印象
「Macユーザーがめちゃめちゃ多い!!」
try! SwiftはSwiftのカンファレンスだったので、全員マカーは違和感なかったのですが、まさかKotlin Festもかなりの数のマカーで埋め尽くされていたのでこちらも衝撃でした。
Apple Silicon Macめちゃめちゃ電池持ちいいですよね…
「知り合いがめちゃめちゃいる!!」
2024/03にCyberAgentさんの育成型インターン「CA Tech Dojo」に参加しており、たくさんのAndroidエンジニア、そしてAndroidエンジニアを目指す学生と知り合いました。
その結果、会場で運営・参加者含めてかなりの数の知り合いと再会することができました。ちなみに、最初の邂逅はKotlin Fest運営・インターン同期・NID.kt代表のひなりん(https://x.com/soleil_colza_)です。いつもお世話になっています。
会場の様子
Kotlin Fest 2024の会場はベルサール渋谷ファーストの2Fで、try! Swift Tokyo 2024の2つ上の階での実施でした。
セッションA・Bとスポンサー&休憩ブースがあり、到着早々インターンの同期と一緒にブースを回りました。
各社クイズやノベルティが充実していて、Kotlin愛を肌で感じることができました。
中でも印象深かったのがSMSさんのブースで、Xアイコンの缶バッチを作っていただきました…!!ありがとうございます!!
また、各社が出すクイズもコードレビューのようなものから実装に関する問題まであり、各ブースで唸りながら回答していました(笑)
次回はサクッと満点が取れるように、精進したいと思います!
また、スポンサーブースの横で出店されていたアルファベッティカフェさんのアメリカーノをいただきました。
アルファベッティカフェさんのコーヒーもtry! Swift以来で、私がエスプレッソに目覚めるきっかけとなるコーヒー体験でもありました。
オーナーさんに「アルファベッティカフェさんのコーヒーに感銘を受けて、エスプレッソ抽出を始めました!」とお声かけしたところ、try!Swiftで提供していた豆の種類を教えてくださったので、その場で注文しました!
「EAST TIMOR Ermera ー東ティモール エルメラー」というお豆です。
本当に美味しいのでみなさんも飲んでみてください、めちゃくちゃおすすめです。ちなみにアイスアメリカーノで飲むと最高に沁みます。
ノベルティ
どのグッズも本当に可愛いものばかりで、全部お気に入りです!!
セッションの内容
採択されたプロポーザル一覧を見た時から、初心者から上級者・サーバーサイドからモバイルまで楽しめるな構成だな〜と感じていました。
また、近年採用の話が増えてきたKotlin Multiplatform(以下:KMP)やCompose Multiplatform(以下:CMP)関連のセッションが多いと感じました。
参加したセッションのメモ
KotlinConf 2024 を後から256倍楽しむためのヒント
恥ずかしながら、このセッションJetBrains Fleetの存在を初めて認知しました。
KMP対応の多言語対応エディタで、SwiftもComposeのUIプレビューもサポートしている、いわゆるVSCode的立ち位置のものなのかな…?と認識しましたが、実際のところどうなんでしょうか…
ちなみに、現段階(2024/06/24)ではSwiftPMに非対応とのことで、自分のプロジェクトはビルドできませんでした😇
触ってるCMPのプロジェクトも〜v.1.6.0なのでPreviewできず…残念
また、JetBrains コンテンツクリエータープログラムなるものもあるらしいです。提携するとライセンスをいただけるとか。
今こそ始めたい!Compose Multiplatform
個人的にはめちゃくちゃ刺さりました。
ビジネスロジック、UIなど、作り手が任意のレイヤーまで共通化できることはKMP/CMPの強みだと思います。
また、Kotlin→ネイティブ変換の流れや環境構築、開発手法等を分かりやすく説明されていたので、これなら自分でもできそう!と思えるようなセッションでした。感動。
2024年版 Kotlin サーバーサイドプログラミング実践開発
サーバーサイドを書いた経験がなく、知見が全くなかったのですが、そんな自分でも現状のベストな構成でサーバーサイドKolinを始められるのでは?と思ってしまうセッションでした。
フレームワーク(API系、DI、ORM、テスト)それぞれのメリットとデメリットを解説しつつ、最後にベストな選定を示していただいたので、スッと納得することができました。
KtorとKoinとJOOQとKotestの構成で何か作ってみたい…!!
KotlinのLinterまなびなおし2024
NID.ktにもいらっしゃるにゃふんたさんのセッション
KotlinのLinterといえばKtlintしか知らなかったので、こんなたくさんの種類のLintがあるのか…としみじみ
Konsistはアーキテクチャテスト(検査?)ができるとのことで、Linterの偉大さを感じました。
Kotlin Coroutinesで共有リソースに正しくアクセスする
恥ずかしながら「リソース競合」の概念についてはふわっと知っていたものの、用語を知ったのは初めてでした。
また、複数の解決法とその選定基準を知れて本当に勉強になりました。
よく非同期処理で事故っているので、今後は意識してみようと思います。
例外設計について考えて Kotlin(Spring Boot&Arrow)で実践する
「例外を考える」ことはあったものの、ビジネスと技術面に切り分けて考えたことはありませんでした。
そのため、「例外設計の4象限」はとても参考になりました。
昨年開発したプロダクトで、想定外の運用が発生した事例があったので、今後設計する時は積極的に取り入れたいと思います。
まだ JUnit を使ってるの? kotest を使って快適にテストを書こう
テストを書いた経験がないので、非常に難しく感じました…
このセッションについては「精進します」としか言えないのが、非常に悔しいです。
とはいえ、Kotestの良さはものすごく伝わってきたので、テストを書くときはKotestを使ってみようかな…?と思います。
Jetpack Compose: 効果的なComposable関数のAPI設計
「シンプルなComposable」とは何か考えさせられるセッションでした。
コードの量が少なく、シンプルに見えても、プロダクト全体で見ると複雑化している…確かに、言われてみればそう。
まさにこの通りだと思います。
また、Composableなラムダを引数にするやり方を「Slot API」というのは初めて知りました。
(多分、ReactでいうReactNode型みたいなものですよね)
あらゆるアプリをCompose Multiplatformで書きたい! -ネイティブアプリの「あの機能」を私たちはどう作るか-
KMP + CMPでできる現状と課題が明確に分かるセッションでした。
OAuthと動画再生は本当に大変そうです…
でも、CMPでここまでできるのなら一度挑戦してみたいです…!
にしこりさんとは懇親会でお話しさせていただきました。ありがとうございました。
Kotlinの歴史を可視化する
歴史の授業的なものかと思いきや、めちゃくちゃデータサイエンスで驚きました。
このようなアプローチを取れば、長く言語を触っていない開発者でも過去の動向を知ることができる事実に感動しながらも、ぜひどこかでJetBrainsさんと答え合わせをして欲しいな〜とも思ったりしました(笑)
休憩・懇親会
先代のCA Tech Dojo生・同期のDojoメンバーと一緒にご飯を食べました。みなさん本当に優しくて幸せな空間でした…
懇親会では、DroidKaigi代表理事のmhidakaさんとツーショットを撮らせていただきました…!!本当にありがとうございます!!一生の思い出です!!
(掲載も快くOKしてくださいました…ありがとうございます)
また、技術書典16の新刊「たすけて!ViewModel」の感想もお伝えすることができました。多分、終始限界オタクのような話し方だったと思います…
休憩時間では、愛用している名刺管理アプリEightを開発しているSansanさんのエンジニアの方からeight cardをいただきました…!!
さいごに
Kotlin Fest 2024の運営のみなさま、スポンサー、スピーカー、参加者のみなさま、本当にお疲れ様でした!!
また、学生支援枠を設けていただき、本当にありがとうございました。
来年もまた参加できるよう、健康に気をつけながらエンジニアリングライフを送りたいと思います🔥