Slide 1

Slide 1 text

Server Side Kotlin 導入してみた

Slide 2

Slide 2 text

B-Teck!(ブログ) https:/ /blog.beatdjam.com/ Github https:/ /github.com/beatdjam Twitter(ほぼ技術の話はしていません) https:/ /twitter.com/beateck 2 T.Hori

Slide 3

Slide 3 text

B 導入プロダクト 3 導入率 : 98%(予定) 導入率 : 40% A 社外秘のため導入率だけ …

Slide 4

Slide 4 text

既存システムの構成 ● Maven ● Java8 ● Jersey2 4

Slide 5

Slide 5 text

なぜKotlinを導入したのか 1

Slide 6

Slide 6 text

Javaって 冗長ですよね 6

Slide 7

Slide 7 text

7

Slide 8

Slide 8 text

data classって 便利ですよね 8

Slide 9

Slide 9 text

9

Slide 10

Slide 10 text

10 equals():オブジェクト比較 hashCode():ハッシュコードを取得 copy():オブジェクトのコピー toString():文字列へ変換 componentN():N番目のプロパティの内容を取り出す デフォルトで生成される メソッド

Slide 11

Slide 11 text

既存資産って 使いたいですよね 11

Slide 12

Slide 12 text

12 “Kotlin is designed with Java Interoperability in mind.” Calling Java code from Kotlinより https:/ /kotlinlang.org/docs/reference/java-interop.htm 基本的にJavaの資産はそのまま使える!

Slide 13

Slide 13 text

13 Server Side Kotlin、良いのでは

Slide 14

Slide 14 text

そんな時 こんな記事が公開 14 エムスリーで「サーバサイドKotlin」を導入したチームに話を聞 きました


Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

導入時に躓いたこと 2

Slide 17

Slide 17 text

Bean Validationが動かない 17 NG OK

Slide 18

Slide 18 text

Eclipseのプラグイン上で Kotlinがうまく動かない 18

Slide 19

Slide 19 text

Eclipseのプラグイン上で Kotlinがうまく動かない 19

Slide 20

Slide 20 text

導入時に躓かなかったこと 3

Slide 21

Slide 21 text

Mavenに記述追加で すぐ動く 21 Using Maven - Kotlin Programming Language

Slide 22

Slide 22 text

Kotlin未対応フレームワークも 問題なく使える 22 じゃなくて…

Slide 23

Slide 23 text

Kotlin未対応フレームワークも 問題なく使える 23 OK

Slide 24

Slide 24 text

導入して良かったこと 困ったこと 4

Slide 25

Slide 25 text

良かったこと ● Javaよりも簡潔に書ける(特にCollection操作) ● やっぱりdata classは便利 ● Null SafeによってアプリとI/Fをすり合わせやすい ● 困ったらJavaで書けばいい ● 社内ライブラリがそのまま使える 25

Slide 26

Slide 26 text

良かったこと(その2) ● アプリ開発者が触りやすい (iOS開発者二人がAPI開発に参加しました!) ● Swiftへの恐怖心が減った ● Kotlinを通して最近のJavaを知ることができた ● たのしい!! 26

Slide 27

Slide 27 text

困ったこと ● Android向けばかりでServer Sideの事例の知見が 少ない ● KotlinのコミュニティがAndroidと密結合 ⇒ 今はかなり改善されてます! ● IntelliJ IDEAをサーバーサイドで使うのは有料😭 27

Slide 28

Slide 28 text

28 あなたも Server Side Kotlin 導入してみませんか?

Slide 29

Slide 29 text

29 ご静聴ありがとうございました!