タケハタのブログ

プログラマの生き方、働き方、技術について雑多に書いていくブログです。

Kotlin Fest 2019に参加してきました!

昨日、東京コンファレンスセンター品川にて行われた「Kotlin Fest 2019」に参加してきました!

kotlin.connpass.com

ので簡単にレポを。 全然写真撮らなかったのでほぼ文字での感想になります。

昼に到着して午後からの参加

f:id:take7010:20190825220431j:plain

今回は午後からの参加でした。
受付では今年もトートバッグを。

f:id:take7010:20190825220456j:plain

去年は黒だったので、今年は赤をもらいました。
黒の2018版はこの1年結構よく使ってたので、2個目が手に入ったの嬉しいw

観てきたセッション

観てきたセッションの資料へのリンク(上がっているもののみ)と、簡単な感想を。

Server-side Kotlin by Ktor

スピーカー:清水 顕さん ( @kaonash_ ) speakerdeck.com

初っ端ですが、この日一番楽しみにしていたセッション。
Ktorは昨年1.0.0が出た時に触ってはみましたが、実際のプロダクトレベルで使ってる話は国内じゃ全然聞かないので、とても参考になりました。
よく「軽量」という話はしているけど、実際にそれなりの規模で使った時どうなの?というのは知りたかったので良かったです。

あと0.95までしか出ていない時代に導入に踏み切ったというのも素晴らしいですね。

Coroutinesから紐解くKtorの仕組み

スピーカー:小谷野 雄史さん ( @bandwagondagon ) speakerdeck.com

Ktorを絡めつつ、なかなか濃い目なCoroutinesの話。
KtorがCoroutinesを重用しているのは知っていたんですが、実際にどういう形で使っているのかを色々知れて面白かったです。
実行のフローだったり、使われている関数の説明だったりと盛りだくさんで、Coroutinesの勉強にもなる内容でした。

サーバサイドKotlinでGraphQLをやってみよう

スピーカー:磯貝佳典さん ( @shiraj_i ) speakerdeck.com

Kotlinのコントリビューターとして日本トップのしらじさんのセッション。

Kotlin、Spring Bootを使ってGraphQLを使うお話でした。
GraphQLの基本的な説明から、それをKotlinで使う時にどうやるのか、その時の注意点などとても分かりやすく説明されてました。
GraphQLがよく分からないとか、学んでみたいという人にもいい内容だったんじゃないかなと思います。

サンプルもGithubで公開されているので、スライドと併せて見てみると面白いかもしれません。

github.com

フロントエンドもKotlinで書きたい! -WebページをKotlin/JSで作った軌跡-

スピーカー:Subroh Nishikoriさん ( @subroh_0508 ) speakerdeck.com

Kotlin/JSで作ったサービスと、そのノウハウについてのお話でした。
今までKotlin/JSの話は「使ってみたけどまだちょっと・・・」とか「これならJavaScript書くでもいいかな・・・」とかKotlin好きな人からもあんまり芳しい声が聴こえなかったので、これだけガッツリ使い込んでいくつもサービス作ってるのはすごいなと。

ReactやWebpackと組み合わせて使っているというのも実践的で、コンパイルのやり方なども含め、こんな風にできるんだというのを見せてもらえたのも参考になりました。

公募によるLT大会

Kotlin Serialization ことはじめ
スピーカー:石井 和馬さん( @slme_not_found )

Jetpack Composeことはじめ
スピーカー:高橋 健太さん( @tkhs0604 )
https://speakerdeck.com/tkhs0604/the-beginning-of-jetpack-compose

静的解析ツール detekt で任意の条件で警告させる
スピーカー:前田 隼輔さん( @duck8823 )
https://speakerdeck.com/duck8823/jing-de-jie-xi-turu-detekt-deren-yi-falsetiao-jian-dejing-gao-saseru

Kotlin/JSでやっていくフロントエンド開発
スピーカー:小谷 優空さん( @MonchiFC )
https://speakerdeck.com/yukukotani/how-kotlinjs-works

GraphQLサーバーを作って味わった天国と地獄 スピーカー:早坂 涼さん( @hayaboytech )
https://speakerdeck.com/ryohysk/graphqlsabawozuo-tutewei-watutatian-guo-todi-yu

KotlinTest で始める Property-based Testing
スピーカー:細沼 祐介さん( @tobi462 )
https://speakerdeck.com/yusukehosonuma/kotlintest-property-based-testing

try-catchからrunCatchingへ移行した話
スピーカー:安齋 祐紀さん( @off2white )
https://speakerdeck.com/offwhiite/try-catchkararuncatchingni-yi-xing-sitahua

最後はLT大会。
(いっぱいあるのでまとめてですみません)

今回は1人5分と去年よりちょっと長くなっていました。
テスト、Kotlin/JS、静的解析、GraphQL等々、内容も幅広くて楽しかったです。

個人的にはKotlinTestのLTがあったのが嬉しかったですね! テストはJUnitを使っているプロジェクトが今も多いので。

SpringがKtorか(懇親会での話題)

これは懇親会で印象に残ってる話なんですが、今回はKtorのセッションが2つあったのと、Springのセッションもあった関係で「フレームワークはなにを使うべきか?」という話題が出ました。

僕も「Springは便利だけどちょっと重い」「Ktorみたいに軽量なフレームワークもいいなー」とよく考えてるので、気持ちの分かる話でした。
Ktorのセッションを聴いて同じように思った方も多いのではという気がします。

ただ、Springもやはり圧倒的に便利だとは思っています。
GraphQLのセッションでgraphql-spring-boot-starterが出てきた時に、「こういう別の技術スタックを使う時にStarterが大体存在するのも強みだよなー」と思ったり。

個人的には無難にやるならSpring軽量さを求めたい、より新しい可能性を求めたいならKtorという感じかなーと。
デファクトスタンダードの大規模フレームワークと、言語の会社が作ってる純正フレームワークなんで悩ましいですよね。

このテーマでそのうちブログ書こうかなー

感想

今年はセッションが増えたり、またこの1年でさらにKotlinが普及してきたこともあり、昨年以上の充実した1日でした!
特にサーバーサイドの人口が増えたなという印象があり、懇親会でも話していました。

タイムテーブルが発表された時、Ktorのセッションが2つもあることに驚いたし、他にもSpringやGraphQLとガッツリとしたサーバーのセッションもあり、事例も増えてきた感がありますね。
前は「サーバーサイドKotlinやりたい」という人は多くても、実際にやっている人にはなかなかn会えなかったので、嬉しい限りです。

昨年はCEDEC登壇の翌日で、しかもLT大会に出ていたのでかなり疲れ果てていましたが、今年はゆっくり気楽に観ることができて楽しかったです笑
それに改めてKotlinの勢いを感じたり、他の会社さんでの事例を聴いたりしてモチベーションが上がりました。
自分がKotlinを使ってプロダクト開発をしていることがさらに楽しくなってきました!

運営の皆さん、素晴らしいセッションをしてくださったスピーカーのみなさん、懇親会でお話してくださったみなさん、ありがとうございました!