白眼鏡のblog

新しく得た知見を備忘録的に書き連ねていく

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

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

ここ数ヶ月KotlinでのAndroid開発を行なっているという関係もあり、勉強がてら参加してきました。 聴講したセッションについて備忘として残しておきます。

KotlinFest2019  

「Kotlinを愛でる」をテーマに国内で行われる、1Dayカンファレンスです。

タイムテーブル

https://kotlin.connpass.com/event/129860/

時間 ホールA ホールB ホールC
10:00-11:00 受付開始 - -
11:00-12:00 オープニングセッション
長澤太郎/Svetlana Isakova
- -
12:00-13:30 休憩(90分) - -
13:30-14:15 Kotlin コルーチンを 理解しよう 2019
八木俊広
Server-side Kotlin by Ktor
清水 顕
Kotlinの型実践入門
佐藤 隼
14:15-14:30 休憩(15分) - -
14:30-15:15 今からはじめる Android Kotlin
あんざいゆき
Coroutinesから紐解くKtorの仕組み
小谷野 雄史
改めて学ぶContracts
富田健二
15:15-15:30 休憩(15分) - -
15:30-16:15 Kotlin Multiplatform Project入門
荒谷光
[EN]
Code Generation in Kotlin with Annotation and KotlinPoet
Malvin Sutanto
サーバサイドKotlinでGraphQLをやってみよう
磯貝佳典
16:15-16:45 休憩(30分) - -
16:45-17:30 もっと Kotlin × Spring
木原 快
[EN]
Deep Dive into Kotlin DSL
Jumpei Matsuda
フロントエンドもKotlinで書きたい!
-WebページをKotlin/JSで作った軌跡-
Subroh Nishikori
17:30-17:45 休憩(15分) - -
17:45-18:30 Kotlin/Nativeはなぜ動くのか?
荻野陽太
[EN]
Future of Jira Software powered by Kotlin
Martin Varga
公募によるLT大会
18:30-19:00 クロージング - -
19:00-21:00 懇親会 - -

オープニングセッション・基調講演

最初は長澤太郎さん(@ngsw_taro)によるオープニングが行われ、JetBrains社のSvetlanaさん(@sveta_isakova)による基調講演になりました。
Kotlinの歴史や今後の展望、最新の機能の紹介などを話していただきました。
まだCoroutines1.3.0のリリース内容確認できてなかったのでCoroutinesのFlowがstableになったのが個人的には一番のニュースでした。
あとは、新しくAtomic Kotlinというものを執筆されているとのことだったので出版が楽しみです。

speakerdeck.com

Kotlinコルーチンを理解しよう2019

今携わっているプロジェクトでは、非同期処理に関してはCoroutinesにすべて任せているので、何か参考にできればと思い、お昼休み明けの最初のセッションは八木俊広さん ( @sys1yagi )によるKotlinコルーチンを理解しよう2019を聴講しました。
中でも一番参考になったのは、並行な処理を実行する際のエラーハンドリングについてで、並行な処理に対して、どちらかでエラーが発生した場合に、並行な処理をすべて中止し、一つのエラーとして処理するにはどうするべきかという事が非常にわかりやすかったです。

speakerdeck.com

改めて学ぶContracts

2つ目のセッションは富田健二さん ( @tommykw )による改めて学ぶContractsです。
Contractsという物自体あまり知識がなかったので、純粋な興味で選びました。
ざっくり自分の中でContractsとは何かということを表すと、コンパイラに対して制約を加えるものという理解をしました。
まだalpha版ということでしたが、複数の標準ライブラリでも使用されているとのことで、実際に使ってみてもいいのかなと感じました。 プロダクトで使う機会があるかどうかは別として、面白い機能ですし、応用することでこれまでよりコードを綺麗に書くことができるのは魅力的でした。

speakerdeck.com

Kotlin Multiplatform Project入門

3つ目のセッションは富田健二さん ( @tommykw )によるKotlin Multiplatform Project入門についてです。
Kotlin/NativeにCoroutineが無いというのが意外でした。
UIの作成方法はネイティブのものを使うのが好きなので、ネイティブのUIを利用しつつロジックを共通化することで、作業工数を減らせるというのは素晴らしいと思いますし
Coroutineが使えるようになってきて、対応ライブラリが増えてきたら採用するのもありなのかなと感じました。
それとは別に、資料のコードを示す際の動きが非常にわかりやすかったので、自分の資料作成にも取り込んでいきたいと思います。

speakerdeck.com

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

4つ目のセッションはSubroh Nishikoriさん ( @subroh_0508 )によるロントエンドもKotlinで書きたい!のセッションです。
以前、簡単にKotlin/JSを使用したツールを作ったことがあったのですが、当時はKotlin/JS + npmの環境でやっていました。
今回の資料で、Gradleを利用したビルド方法についてもかなり詳細に記載されてあったので、次やる際はGradleを使ったパターンを試してみようと思います。
ただ、JS製ライブラリをKotlinらしく扱うための方法については、トライアンドエラーを繰り返す必要があるため、プロダクトとして使うにはまだ早い印象でした。

speakerdeck.com

感想

去年は参加できなかった(しなかった)ので、今年は実際に会場に行ってセッションを聞くことができてよかったです。
普段はほとんどAndroidでしかKotlinは書いていないので、Kotlin/NativeやKotlin/JSなどほとんど知識がない分野の情報を知れたということ また、これまでなんとなく使っていた機能を改めて見てみることで、今書いているコードの改善案が思いついたりと非常に収穫がありました。
来年もまた参加しようと思います。ネタがあればセッションの応募も視野に入れつつ。