「KotlinConf 2018 報告会」に参加してきました

  • KotlinConf2018報告会に参加してきました。

kotlin.connpass.com

  • 10/3-5にオランダのアムステルダムで開催されたKotlinConfの報告会に参加しました。
  • Androidやサーバサイド等テーマ別にお話いただけたのでKotlin界隈のキャッチアップをすることができました。
  • 個人的にはサーバサイドKotlinはこれまでSpring一択かと思ってましたがKtorも注目されてるということで使ってみたいなと思いました。
タイトル 発表者
KotlinConf 2018 カンファレンス概要とトピックOverview 日高正博
KotlinConf 2018 のワークショップに参加してきました あんざいゆき
KotlinConf 2018 Android編 岩谷明
KotlinConf から見る、最近の Kotlin サーバーサイド事情 川田裕貴
Kotlinのユニットテスト ベストプラクティス 長澤太郎
build.gradle.kts Panini

KotlinConf 2018 カンファレンス概要とトピックOverview

  • 日高正博さん(メルカリ)
  • @mhidaka

伝えたいこと

  • KotlinConfの空気感
  • 基調講演おすすめトピック

KotlinConf2018

  • オランダのアムステルダム
  • 2018/10/3-5
  • 直行便なら11~12時間
  • 時差7時間
  • 今年で2回目
  • 参加者1200人くらい
    • 日本人は20人くらい
  • 動画も公開されてる

https://www.youtube.com/playlist?list=PLQ176FUIyIUbVvFMqDc2jhxS-t562uytr

おすすめセッション

Keynote

youtu.be

  • Kotlinの概要
  • Kotlinがどれくらい成長してるか
  • Kotlin1.3の話

Kotlinアーキテクチャ

youtu.be

コルーチン

youtu.be

KotlinConf 2018 のワークショップに参加してきました

  • あんざいゆきさん(uPhyca)
  • @yanzm

Workshop

kotlinconf.com

  • workshopは今年から
  • 初日がworkshop
  • 649ユーロ(8万くらい)
  • 9時-17時
  • 朝食昼食つき
  • 5種類のworkshopで講師は豪華
    • コルーチンだけsoldoutしてた

コルーチンのworkshop

github.com

  • スライド

github.com

  • デスクトップアプリとデモ集

KotlinConf 2018 Android

  • 岩谷明さん(LINE)
  • @hoshi_gaki

LINE LIVE

Androidのセッション

Android Suspenders by Chris Banes

youtu.be

  • なぜコルーチン使うのか
    • I/O処理によい
    • Androidという限られた中でスケール
    • Rxより書きやすい
  • Androidでどうやってコルーチンを使うか

Shaping Your App's Architecture with Kotlin and Architecture Components by Florina

youtu.be

  • なぜコルーチン使うのか
    • rxより簡単だから
  • どこでコルーチン使う
    • ほぼ全部に使っていこう

Android KTX: A Dash of Kotlin Makes All the Difference! by Dan Kim

youtu.be

  • AndroidXでKTX1.0

KotlinConf から見る、最近の Kotlin サーバーサイド事情

  • 川田裕貴さん(LINE)
  • @hktechno

KotlinConfの感想

  • サーバサイドの話も思ったよりあった
  • 何かをやってみた系が多くてあまり深い話ではなかった
  • コルーチンがあつい

ServerSideKotlin

  • JVMの上で動くところがいい
    • パフォーマンス的な問題があまりない
  • ServerSideKotlin何で書いてる

  • Ktorの成長に期待

    • コルーチン使うならKtor
    • jetbrainが作ってる
  • SpringBoot + Kotlin

youtu.be

  • API/Microservicesのセッションも
    • RESTに否定的
  • Microservices

youtu.be

  • GraphQL

youtu.be

  • Zipkin便利
    • Microservices間のトレーシング
  • Kotlin/Nativeの可能性
    • コルーチン周りがまだつらそう
    • ライブラリの成熟に期待

Kotlinのユニットテスト ベストプラクティス

  • 長澤太郎さん(Ubie)
  • @ngsw_taro

Unit Testのセッション

youtu.be

  • JUnit4でJava風なテスト
  • JUnit4は毎回インスタンスが生成される
  • JUnit5を使いましょう
    • TestInstance
  • テスト関連のライブラリ
    • いろいろあるけどどれも良い
    • JUnit5 + MockK + AsserrtJがおすすめ
  • MockK
    • モック生成は一度、都度リセットする
      • スピードアップ
  • AsserrtJ
    • データクラスアサーション
      • データクラスで表示されるのでエラー時の情報がわかりやすい

まとめ

  • JUnit5を使う
  • ボイラープレートを避けよう
  • lateinitやvarを避ける
  • モックの生成を繰り返さない
  • データクラスで比較すると読みやすいエラーメッセージ