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
運用中の JavaプロジェクトにKotlinを導入した話
Search
mkimura
October 23, 2017
Technology
0
280
運用中の JavaプロジェクトにKotlinを導入した話
mkimura
October 23, 2017
Tweet
Share
Other Decks in Technology
See All in Technology
設計に疎いエンジニアでも始めやすいアーキテクチャドキュメント
phaya72
27
18k
どうなる Remix 3
tanakahisateru
0
130
[re:Inent2025事前勉強会(有志で開催)] re:Inventで見つけた人生をちょっと変えるコツ
sh_fk2
1
1.3k
AI-ready"のための"データ基盤 〜 LLMOpsで事業貢献するための基盤づくり
ismk
0
110
abema-trace-sampling-observability-cost-optimization
tetsuya28
0
480
Giving Tuesday Auctria Set-Up 2025
auctria
PRO
0
100
Data Engineering Guide 2025 #data_summit_findy by @Kazaneya_PR / 20251106
kazaneya
PRO
8
1.3k
データエンジニアとして生存するために 〜界隈を盛り上げる「お祭り」が必要な理由〜 / data_summit_findy_Session_1
sansan_randd
1
960
kotlin-lsp の開発開始に触発されて、Emacs で Kotlin 開発に挑戦した記録 / kotlin‑lsp as a Catalyst: My Journey to Kotlin Development in Emacs
nabeo
2
330
251029 JAWS-UG AI/ML 退屈なことはQDevにやらせよう
otakensh
0
190
AI時代の発信活動 ~技術者として認知してもらうための発信法~ / 20251028 Masaki Okuda
shift_evolve
PRO
1
140
[AWS 秋のオブザーバビリティ祭り 2025 〜最新アップデートと生成 AI × オブザーバビリティ〜] Amazon Bedrock AgentCore で実現!お手軽 AI エージェントオブザーバビリティ
0nihajim
1
350
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
246
12k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Visualization
eitanlees
150
16k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Building Flexible Design Systems
yeseniaperezcruz
329
39k
The Cost Of JavaScript in 2023
addyosmani
55
9.1k
Java REST API Framework Comparison - PWX 2021
mraible
34
8.9k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
We Have a Design System, Now What?
morganepeng
54
7.9k
A Modern Web Designer's Workflow
chriscoyier
697
190k
Speed Design
sergeychernyshev
32
1.2k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Transcript
運用中の Javaプロジェクトに Kotlinを導入した話 #m3kt どこでもKotlin #3 秋のLT大会
自己紹介 • 木村 正弘 • 株式会社サイバーエージェント(中途入社4年目) • アメーバピグ サーバーサイドエンジニア •
ゲームが好き(PSNトロフィーレベル12) • PlaystationHomeにハマって以来、理想のコミュニティーサービス を追い求めている
今日のテーマ
もくじ • 前提 • 導入の動機 • 候補 • 迷い •
勉強会 • 比較 • 本番リリースに向けて • 導入後 • 今後の展望
前提 • アメーバピグはサービス開始から8年半 • サーバーサイドはJava • 既存のコードは100万行以上 (ー_ー;) • 自社の技術ブログに書いた内容と重複あり
導入の動機 • 社内でのトレンドはJava→Node.js→Go • 他部署への人材流出 • (> 2つの言語をメンテするデメリット)
候補 • Scala • Go • Kotlin
迷い 候補から絞りきれなかったので 迷いも含めてメンバーを巻き込む
勉強会 • Scala, Go, Kotlin • 資料はよさげなサイトを使う • 実習としてWebの掲示板を作成 •
1言語ごとに振り返り
比較 好み プロジェク ト マッチ 社内から の採用 社外から の採用 教育
合計 重み 100% 100% 40% 30% 30% Scala 5 4 4→1.6 2→0.6 2→0.6 11.8 Go 3 3 4→1.6 3→0.9 4→1.2 9.7 Kotlin 4 5 2→0.8 2→0.6 4→1.2 12.6 • 定量化する • 説明順序は定量→定性 • コスト削減になる場合は具体的に書く
本番リリースに向けて • コード的にはpom.xmlの修正だけ • リスクの少ないプロセスから • テスト用の機能を追加 • レイヤー(Controller, Service,
Dao)も除々に
やらなかったこと(時間があれば) • サブシステムとして独立させない • 既存JavaコードのKotlin置き換えはしない • Gradleの導入はしない
導入後 • 導入がゴールではない! • チーム内で活発に使われるか • チームメンバーが興味を持ててるか • チームメンバーが成長できるか •
組織の外からみて気になる状態
今後の展望 • JRebel導入(済み) • Google App EngineでKotlin(新規開発で検証中) • AndroidでKotlin一気通貫の開発 ◦
通信はRPC ◦ ローカルのテストではサーバープロセス上げない • インラインテストデータ作成ツール
ご清聴ありがとうございました