今年のKotlin Festは最初から一般参加を決め込んでいました id:kikuchy です。
Kotlin FestからCfPが出ている時期はFlutterばかり触っていたので、Kotlinについてはむしろキャッチアップが追いついていないレベルでした。
ですが、ひょんなことからKotlin Festのその会場でReject Conferenceの方で発表することが決まってしまいまして、登壇させていただくことと相成りました。
Kotlin Fest Reject Conferenceは、主にKotlin Festに惜しくも採択されなかった発表を集め、みんなで楽しむイベントです。
Kotlin Fest非公式のイベントですが、主に渋谷近郊のエンジニアを中心に、多くの人が集まる活気あるイベントとなっておりました。
発表内容
Kotlin 1.3.50現在では実験的な機能として提供されている inline classes という機能の概要とユースケースについてお話させていただきました。
inline classeは、スライドにもある通り、プリミティブな型で表現できる値に何か特別な意味があるということを型レベルで表現しつつ、実行時に新しい型でラップするコストを省くことができる、というものです。
ユースケースによっては大いに活用できる機能ではないかと思います。
#kotlinfest_rc
— close_yutori (@kimukou2628) September 9, 2019
使いこなせると安全性があがる
inline classで引数定義すると
引数型チェックができる
またJava変換すると内部関数として自動へんかんされる(パフォーマンスはよい
inline classの特徴、制約
— Monkuma 👾 (@kumamo_tone) September 9, 2019
・完全に消えてなくなるわけではない。classファイルにはinline
classの定義が残っているし、必要に応じてboxing, unboxingされる
・値は1つだけ持てる
・initブロックは持てない
・inner classは持てない#kotlinfest_rc
Kotlin Fest 2019の方では話題に上がらなかった機能だったので取り上げてみた次第です。
inline classes の認知を拡大できたようで良かったです。
会の様子
全体的な様子は主催のDeNAさんがまとめられています。
どの発表も面白かったですが、こちらの画像がKotlinの良いところを表現していて良いなと思いました。
Kotlin移行の好循環コラ画像あげておこう #kotlinfest_rc pic.twitter.com/hFRx40li2Q
— みなみ@技術書典い10C (@minami1389) September 9, 2019
Kotlinは(Javaと比較して)コードレベルでの抽象化が容易になる文法と言語機能を備えている言語なので、
「Kotlinらしいコード」を書けるようになると読みやすいコードが出来上がる、という特徴があります。
さらにKotlinの利用者が増えて、読みやすいコードが増えてゆくと良いですね。
個人的には(非公式イベントだけれどなぜか)公式の運営メンバーがたくさんいる会場だったので、Kotlin Festを始めとするカンファレンスの運営の学びになることや楽しいエピソードなどを聞かせていただいたのが印象深かったです。
今回はネットワークスタッフとして活躍されたAndroidエンジニアの方のお話を聞いて、私も何か未経験の分野に挑戦してみようかな、と考えられるようになりました。
Kotlinでマッチングアプリの開発をしてみたい方は @kikuchy または他の弊社エンジニアへ、お気軽にDMやリプライをください!
まずはご一緒にご飯を食べにいきましょう!!