Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
8割完成済みのjavaプロジェクトにkotlinを途中導入した話
Search
ryo
November 07, 2018
1
2.5k
8割完成済みのjavaプロジェクトにkotlinを途中導入した話
どこでもkotlin #6 発表スライド
ryo
November 07, 2018
Tweet
Share
More Decks by ryo
See All by ryo
GitHub Actions と Datadog でコードベースの定点観測
kawamataryo
7
1.7k
個人開発駆動学習 / personal development driven learning
kawamataryo
1
110
GitHub Trending Bot, Sky Follower Bridge の紹介
kawamataryo
0
220
[Minecraft × ChatGPT] マイクラで作りたいものを伝えると魔法のように作ってくれるコマンドを作る
kawamataryo
0
2k
Resumable な JavaScript フレームワーク Qwik を学ぶ / qwik-resumable
kawamataryo
0
3.2k
JSからTSへ移行した Vue.jsプロダクトの型チェックを 漸進的に強化する/ reinforcing the type
kawamataryo
0
3.2k
Webで動画解析 〜Google Meetの挙手とリアルの挙手を連動させるChrome拡張作った話〜 / sync-raise-hand
kawamataryo
0
150
suppress-ts-errors を使って TypeScriptの型チェックを漸進的に強化する / Introducing-suppress-ts-errors
kawamataryo
2
500
Python の dotted path をコピーするVS Code 拡張を作ってみた / I made a copy python path.
kawamataryo
0
320
Featured
See All Featured
What's new in Ruby 2.0
geeforr
338
31k
What’s in a name? Adding method to the madness
productmarketing
PRO
21
2.9k
Designing the Hi-DPI Web
ddemaree
276
34k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
Facilitating Awesome Meetings
lara
46
5.8k
Designing Experiences People Love
moore
136
23k
How GitHub Uses GitHub to Build GitHub
holman
471
290k
Art, The Web, and Tiny UX
lynnandtonic
291
20k
Rails Girls Zürich Keynote
gr2m
93
13k
How to name files
jennybc
67
96k
Creatively Recalculating Your Daily Design Routine
revolveconf
214
11k
Clear Off the Table
cherdarchuk
89
320k
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使ってハッピーになろう