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.4k
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.6k
個人開発駆動学習 / personal development driven learning
kawamataryo
1
100
GitHub Trending Bot, Sky Follower Bridge の紹介
kawamataryo
0
160
[Minecraft × ChatGPT] マイクラで作りたいものを伝えると魔法のように作ってくれるコマンドを作る
kawamataryo
0
1.9k
Resumable な JavaScript フレームワーク Qwik を学ぶ / qwik-resumable
kawamataryo
0
3.1k
JSからTSへ移行した Vue.jsプロダクトの型チェックを 漸進的に強化する/ reinforcing the type
kawamataryo
0
3.1k
Webで動画解析 〜Google Meetの挙手とリアルの挙手を連動させるChrome拡張作った話〜 / sync-raise-hand
kawamataryo
0
120
suppress-ts-errors を使って TypeScriptの型チェックを漸進的に強化する / Introducing-suppress-ts-errors
kawamataryo
2
450
Python の dotted path をコピーするVS Code 拡張を作ってみた / I made a copy python path.
kawamataryo
0
290
Featured
See All Featured
Fontdeck: Realign not Redesign
paulrobertlloyd
76
4.9k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
29
6k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
12
1.5k
Web Components: a chance to create the future
zenorocha
305
41k
Designing with Data
zakiwarfel
95
4.8k
Building Your Own Lightsaber
phodgson
98
5.7k
Fireside Chat
paigeccino
20
2.6k
Pencils Down: Stop Designing & Start Developing
hursman
117
11k
KATA
mclloyd
14
12k
How to train your dragon (web standard)
notwaldorf
72
5.1k
Optimising Largest Contentful Paint
csswizardry
7
2.3k
The Brand Is Dead. Long Live the Brand.
mthomps
48
28k
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使ってハッピーになろう