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.8k
8割完成済みのjavaプロジェクトにkotlinを途中導入した話
どこでもkotlin #6 発表スライド
ryo
November 07, 2018
Tweet
Share
More Decks by ryo
See All by ryo
退屈なことはDevinにやらせよう〜〜Devin APIを使ったVisual Regression Testの自動追加〜
kawamataryo
3
710
SaaS公式MCPサーバーをリリースして得た学び
kawamataryo
7
2k
Raycast AI APIを使ってちょっと便利な拡張機能を作ってみた / created-a-handy-extension-using-the-raycast-ai-api
kawamataryo
0
560
ts-morphのパフォーマンス改善Tips
kawamataryo
0
54
webpack to Rspack
kawamataryo
0
62
GitHub Actions と Datadog でコードベースの定点観測
kawamataryo
7
2k
個人開発駆動学習 / personal development driven learning
kawamataryo
1
230
GitHub Trending Bot, Sky Follower Bridge の紹介
kawamataryo
0
440
[Minecraft × ChatGPT] マイクラで作りたいものを伝えると魔法のように作ってくれるコマンドを作る
kawamataryo
0
2.3k
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Gamification - CAS2011
davidbonilla
81
5.4k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Music & Morning Musume
bryan
46
6.7k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Mobile First: as difficult as doing things right
swwweet
223
9.9k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
The Pragmatic Product Professional
lauravandoore
36
6.8k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
How GitHub (no longer) Works
holman
315
140k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
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使ってハッピーになろう