Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
8割完成済みのjavaプロジェクトにkotlinを途中導入した話
ryo
November 07, 2018
1
1.9k
8割完成済みのjavaプロジェクトにkotlinを途中導入した話
どこでもkotlin #6 発表スライド
ryo
November 07, 2018
Tweet
Share
More Decks by ryo
See All by ryo
suppress-ts-errors を使って TypeScriptの型チェックを漸進的に強化する / Introducing-suppress-ts-errors
kawamataryo
2
120
Python の dotted path をコピーするVS Code 拡張を作ってみた / I made a copy python path.
kawamataryo
0
81
OSS活動ことはじめ / begin oss activities
kawamataryo
7
960
閲覧履歴、ブックマーク、タブを 横断的に検索できる Chrome拡張を作った話 / introduction to chikamichi
kawamataryo
3
200
esa+VuePressでJamstackなドキュメントサイトを作る / Build Jamstack site with VuePress & esa
kawamataryo
2
1.6k
Vue.js 状態管理の選択肢 - そのVuex本当に必要ですか - / Vue.js State Management Options
kawamataryo
7
3.4k
Firebase + Bolt で もくもく会用のSlack botを作った話 / Build slack bot with firebase + Bolt
kawamataryo
2
5.3k
Ref vs Reactive Vue3 Composition APIのリアクティブ関数の探究 / ref vs reactive Vue Composition API Deep in
kawamataryo
12
13k
僕とQiitaと、ときどきLT 〜アウトプット駆動でスキルを磨く〜
kawamataryo
0
320
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
280
17k
Teambox: Starting and Learning
jrom
123
7.7k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
105
16k
Statistics for Hackers
jakevdp
781
210k
Code Review Best Practice
trishagee
43
9.2k
Thoughts on Productivity
jonyablonski
43
2.3k
Writing Fast Ruby
sferik
612
57k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
237
19k
The Cult of Friendly URLs
andyhume
68
4.8k
Side Projects
sachag
450
37k
Design by the Numbers
sachag
271
17k
Creatively Recalculating Your Daily Design Routine
revolveconf
207
10k
Transcript
8割完成済みのJavaプロジェクトにKotlinを 途中導入した話 エムスリー株式会社 川俣 涼
自己紹介
川俣 涼 @ryoKawamata 1989.04.25 生 前職: 消防士 (エンジニア歴9ヶ月) 好きな言語: Ruby,
js, Kotlin
報告書作成支援 システム Electron Vue
鍼灸院専門の webデザイン事業
患者管理システム Ruby Rails
今日話すことは?
Javaプロジェクトに Kotlinを途中導入してどうだったのか? メリットは? 導入の経緯は? 詰まったところは? デメリットは?
どんなプロジェクトに導入?
m3.com カンファレンス Java8 maven SpringBoot Tymereaf
なぜKotlin導入したの?
1. 社内でのKotlin導入の流れ 2. 技術的な挑戦をしてみたい
導入にあたっての障害は?
以前社内でKotlinでリニューアルを担当した @susan2goさんの存在 チームとしての姿勢 特になし
どのように進めている?
1. 新規追加するクラス・テストはKotlinで実装 2. 機能追加完了後、全クラスのKotlin化を進める
Kotlin化のメリットは?
1. コード量の減少で開発効率アップ Data Classの利用, raw string, 強力なコレクションの操作(map, filter) 2. 素敵なNull安全
ヌルポの危険を事前に検知。 いかにJavaでnullの危険のある書き方をしていたかがわかる。
ex. コレクションの操作(filter, sorted) Java
ex. コレクションの操作(filter, sorted) kotlin
Kotlin化のデメリットは?
特になし
1. まだ情報が少ない 2. javaコンパイラ周りの知識は必要
1. まだ情報が少ない
Java Kotlin Qiitaの記事数 1250 132 Stack Overflowの質問数 21,434 369 Kotlin
or Java ✖ spring bootの情報量 2018/11/7 時点
2. javaコンパイラ周りの知識は必要
lombokを使っている Javaクラスのプロパティを参照できない
Delombok or Kotlin 化 or 別モジュール への切り出し
JavaからKotlinのクラスを参照すると ビルドエラー
maven-compiler-plugin を追加し ビルド順を変更 Kotlin-maven-plugin maven-compiler-plugin Kotlinをコンパイル後に Javaをコンパイル
実際導入はどれくらい簡単なの??
Demo
まとめ
サーバーサイドの Kotlin導入は容易に出来る Kotlin使ってハッピーになろう