Slide 1

Slide 1 text

元○○○が サーバーサイドKotlin導入して どうだった?? 〜詰まった所、利点を振り返る〜

Slide 2

Slide 2 text

自己紹介

Slide 3

Slide 3 text

@ryoKawamata 川俣 涼 消防士歴 6年 エンジニア歴 9ヶ月

Slide 4

Slide 4 text

BIG3は? BIG3

Slide 5

Slide 5 text

未測定 すいません やったことないです。。

Slide 6

Slide 6 text

BIG3は? どうやって筋トレ?

Slide 7

Slide 7 text

懸垂 「懸垂は最強の筋トレ」 by 消防学校教官

Slide 8

Slide 8 text

なぜ消防士がエンジニア?

Slide 9

Slide 9 text

妻の開業がきっかけで ホームページ制作を勉強

Slide 10

Slide 10 text

鍼灸院専門のWEB制作事業始める ※消防は副業禁止

Slide 11

Slide 11 text

治療院の 患者管理データベース作成

Slide 12

Slide 12 text

救急報告書作成支援 システム開発

Slide 13

Slide 13 text

プログラミング最高や!!

Slide 14

Slide 14 text

転職 現在に至る

Slide 15

Slide 15 text

今日話すことは??

Slide 16

Slide 16 text

サーバーサイドKotlin使って 実際どうだったのか? メリットは? 導入の経緯は? 詰まったところは? デメリットは?

Slide 17

Slide 17 text

どんなプロジェクトに導入?

Slide 18

Slide 18 text

医師向けのQ&A掲示板

Slide 19

Slide 19 text

SP APP レンダリング API API PC

Slide 20

Slide 20 text

導入して詰まった所は?

Slide 21

Slide 21 text

詰まり所① サーバーサイドの情報が少ない

Slide 22

Slide 22 text

Java x spring boot Kotlin x spring boot Qiitaの記事数 1250 132 Stack Overflowの質問数 21,434 2,369 Google 検索結果数 38,300,000 614,000

Slide 23

Slide 23 text

詰まり所② JVMのコンパイラ周りの 知識がないとツライ

Slide 24

Slide 24 text

● Lombokを使っているJavaクラスのプロパティをKotlin で認識できない => Delombok、モジュール分割で回避 ● JavaからKotlinクラスを呼ぶとビルドエラー => コンパイル順の調整で回避

Slide 25

Slide 25 text

詰まり所③ ライブラリ使用の際、若干調整必要

Slide 26

Slide 26 text

● テストのモック用ライブラリ mockitのany、captureで Nullセーフ関連のエラーが発生 => Utilクラスでラップすることで回避 ● FormのBean validationが認識されない。 => アノテーションにget追加で回避

Slide 27

Slide 27 text

導入してよかったところは?

Slide 28

Slide 28 text

利点① 導入が楽!!

Slide 29

Slide 29 text

● Maven、Gradleのプラグインを入れるだけ => 導入わずか5分 ● Javaとの共存が可能 => 試しにTestのみKotlinで書くとかもOK

Slide 30

Slide 30 text

利点② コード量が圧倒的に少なくすむ

Slide 31

Slide 31 text

Java Kotlin ex. Data Class

Slide 32

Slide 32 text

利点③ 使いやすい標準ライブラリ

Slide 33

Slide 33 text

ex. コレクションの操作(filter, sorted) Java

Slide 34

Slide 34 text

ex. コレクションの操作(filter, sorted) kotlin

Slide 35

Slide 35 text

利点④ NULLセーフが素敵

Slide 36

Slide 36 text

● Nullの危険がある場合はビルド出来ない => ヌルポが起きない => 自分がいかにNullの危険のあるコードを     書いていたか分かる。

Slide 37

Slide 37 text

利点⑤ エンジニアとしての市場価値アップ!

Slide 38

Slide 38 text

急成長している言語(コントリビュータ数)2018.9.30 the State of the Octoverse: top programming languages of 2018 kotlin NO. 1 2.6倍

Slide 39

Slide 39 text

まとめ

Slide 40

Slide 40 text

サーバーサイド Kotlinを どんどん使っていこう! 詰まる頃あるけど それを上回るメリットがある。

Slide 41

Slide 41 text

Kotlinで省力化出来た エネルギーは。。。。

Slide 42

Slide 42 text

Let’s Training!! 目指せ筋肉エンジニア!!