こんにちは!Androidエンジニアの富田です。今回は11/2、11/3に行われたKotlinConfというKotlinの海外カンファレンスに参加してきましたので、簡単にカンファレンス内容からカンファレンスを通じてトライしたことを共有します。
KotlinConfとは
KotlinConfとは、Kotlinに関するプログラミングカンファレンスで今回サンフランシスコで初開催でした。参加者は1200名と初開催ながら大規模なカンファレンスで、なんとAndroidの神Jake Whartonさん、関数型プログラミングのErik Meijerさん、Kotlinのリード設計エンジニアAndrey Breslavさんなど超有名な方々がスピーカーとして登壇されました!日本からもしらじさんが登壇されて国内でも大きな反響がありましたね!
海外カンファレンスに行こうと思ったきっかけ
僕が海外カンファレンスに参加したことがなかったので参加してみたいと思っていました。また、ほとんどの社内の開発メンバーも海外カンファレンスに参加した経験がなかったので、みんなにも少しでも興味をもってもらえたらと思い参加しました。加えて、社内制度として「技術支援制度」ができたので、この制度を活用し活性化させたいと考えていました。
カンファレンスの風景
セッション
まず初めにKotlinの発音は、「コトリン」ではなくて「コットリン」なんですね!うまく伝えられないのでこちらは近日公開されるKotlinConfの動画をご確認ください!それでは特に気になった3つのセッションについて簡単に紹介します。
Opening Keynote
Kotlinの勢いとマルチプラットフォームがメインの内容で、KotlinConfアプリは大変参考になるサンプルでした。日頃Android開発しかしていない僕でもサーバサイドKotlinを触ってみたい!と思う内容でした。
- Kotlin1.2 RCリリース
- KotlinConfアプリについて
- サーバサイド、Android、iOS全てKotlinで記述できる
- iOSはKotlin/Nativeを用いることで利用できるがまだ初期段階
- サーバサイドフレームワークはKtorが良さそう
- コード共通化の手法として
common
モジュールの登場 - Android StudioでのKotlin利用率は17%
- Kotlin Style Guideの登場
Two Stones, One Bird: Implementation Tradeoffs
コレクション操作やスコープ関数などの説明や適切な利用方法について言及した内容で、Map vs Sequence
が興味深く、Map
は中間結果を作成するのに対してSequence
は一時的なリストを生成しない。詳しくはKotlinイン・アクションを読むことをオススメします。
- Array vs IntArray
- Map vs Sequence
- Nullability
- Inline fun vs Custom getter
- Delegate.notNull vs lateinit
How to Kontribute
Kotlinのコントリビュート方法についてのお話で、IDEのinspection、intentionについてのコントリビュート方法が細かく説明されていました。これを見るときっとコントリビュートしたい!って気持ちになるのではないでしょうか。
- IDEのInspection、intentionについて
- 対応したissueとそれの実装とテストコードの説明
- 困った時はslackチャンネルの
#kontributors
で質問しましょう - issueに関しては、youtrackを漁りましょう
- githubでPR投げたら気長に待ちましょう。なぜならJetbrainsのメンバーは忙しいから
- 日本のもくもく会についても言及
カンファレンス終了後にトライしたこと
カンファレンスはとても熱量が高く、特に影響を受けた「How to Kontribute」、「Two Stones, One Bird: Implementation Tradeoffs」セッションに関連した以下の2つにトライをしました。
KotlinのPRを投げる github.com
Kotlinイン・アクションを読む Amazon CAPTCHA
僕もしらじさんのようにInspection、Intentionにコントリビュート!と思い、Kotlin issueを眺めていたのですが、対応できそうなものがなかったため上記のトライをしました。またカンファレンスの中でもKotlinイン・アクションが話題に上がっていたため、気になり読んでみましたが、とてもボリュームがあり高度なサンプルも多く勉強になりました。特にトリプルクオート文字列を用いることによってエスケープ不要となる正規表現とスター投影のMutableList<*>
とMutableList<Any?>
の違いについて言及されて面白かったです。
まとめ
カンファレンス自体は本当に有名人が多く、Dmitry Jemerovさんと一緒に写真を撮ってもらったことが最高の思い出です。カンファレンス動画は近日公開されると思いますので詳細はそちらをご確認ください。いつか日本でもKotlinConfが開催されるといいですね!それでは楽しいKotlinライフを!