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
Kotlin導入してみたかったけど結局間に合わなかった…
Search
mukky620
June 22, 2017
Programming
0
3.8k
Kotlin導入してみたかったけど結局間に合わなかった…
2017/06/22 MatchingAgent x Makuake 合同勉強会資料
mukky620
June 22, 2017
Tweet
Share
More Decks by mukky620
See All by mukky620
Firebase A/B TestingとRemote Config を最大限に活用する方法
mukky620
1
1.6k
Firebase A/B Testing Targeting Tips
mukky620
0
2.1k
運用3年のタップル誕生でJavaからKotlin移行した話
mukky620
0
1.3k
Other Decks in Programming
See All in Programming
re:Invent 2025 トレンドからみる製品開発への AI Agent 活用
yoskoh
0
640
AI前提で考えるiOSアプリのモダナイズ設計
yuukiw00w
0
210
2年のAppleウォレットパス開発の振り返り
muno92
PRO
0
180
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
6
1.6k
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
300
LLMで複雑な検索条件アセットから脱却する!! 生成的検索インタフェースの設計論
po3rin
4
1.1k
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
640
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
220
Claude Codeの「Compacting Conversation」を体感50%減! CLAUDE.md + 8 Skills で挑むコンテキスト管理術
kmurahama
1
760
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
340
Pythonではじめるオープンデータ分析〜書籍の紹介と書籍で紹介しきれなかった事例の紹介〜
welliving
3
780
AIエージェントの設計で注意するべきポイント6選
har1101
6
3.1k
Featured
See All Featured
Embracing the Ebb and Flow
colly
88
4.9k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
34
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
120
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.2k
The Limits of Empathy - UXLibs8
cassininazir
1
200
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
1
360
ラッコキーワード サービス紹介資料
rakko
0
2M
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
96
YesSQL, Process and Tooling at Scale
rocio
174
15k
Marketing to machines
jonoalderson
1
4.5k
GraphQLとの向き合い方2022年版
quramy
50
14k
Transcript
Kotlin導入してみた 2017/06/22 MatchingAgent x Makuake 合同勉強会 1 mukky620
Kotlin導入してみた 2017/06/22 MatchingAgent x Makuake 合同勉強会 2 mukky620 かったけど結局間に合わなかった…
• 向中野 亘 (むっきー) • Android Engineer • 3月にアメーバピグから異動 •
Android歴1年と 3ヶ月 3 自己紹介
1. Androidチームの現状の負債 2. JavaからKotlinに移行しようと思った理由 3. 移行するにあたってチーム内でした事 4 本日の内容
1. Androidチームの現状の負債 2. JavaからKotlinに移行しようと思った理由 3. 移行するにあたってチーム内でした事 5 本日の内容
6 2014年7月…Android版タップル誕生リリー ス!
7 しかし、スピード感重視かつ 片手間でのリリースだった事もあり…
8 多くの負債が生まれてしまった… Android Annotations FatなActivity 増え続ける Color定義 大量のDialog Listviewでは ないリスト
エラーハンドリング しきれてない 課金処理 viewholder もどき 非同期処理 辛い state管 理 も 辛 い アーキテクチャ など無い 自由な設計
9 多くの負債が生まれてしまった… FatなActivity 増え続ける Color定義 大量のDialog Listviewでは ないリスト エラーハンドリング しきれてない
課金処理 アーキテクチャ など無い 自由な設計
1. アーキテクチャ改善 ◦ Architecture Component、DataBinding、Dagger2導入 ◦ CleanArchtectureを意識したMVVM 2. コンポーネント化 3.
Kotlin導入 10 負債返済してスタンダード化を目指す
1. Androidチームの現状の負債 2. JavaからKotlinに移行しようと思った理由 3. 移行するにあたってチーム内でした事 11 本日の内容
12 Kotlinが正式にAndroid開発言語に!
• Javaより言語仕様的に優れている(と思う) ◦ Null安全、ラムダ・高階関数…etc ◦ そもそもAndroid開発でJava8使えないの辛い… ◦ RxJavaとRetrolambdaで代替え嫌… • 習熟したら開発効率上がりそう
• Kotlin経験者の強い推し 13 その他採用理由
1. Androidチームの現状の負債 2. JavaからKotlinに移行しようと思った理由 3. 移行するにあたってチーム内でした事 14 本日の内容
15 Kotlinは 自由度が高い言語
16 例えば、Nullableの場合 ← Nullチェック方式
17 例えば、Nullableの場合 ← 早期リターン(エルビ ス演算子)方式
18 例えば、Nullableの場合 ← Nullチェックかつ エルビス演算子方式
19 例えば、Nullableの場合 ← スコープ関数使用す る方式
20 例えば、Nullableの場合 色々な 書き方が ある!
21 チーム内で 共通の認識が必要
• Kotlin移行したソースを経験者にPRしてもらう。 ◦ Javaっぽく書いてないか。 ◦ Kotlinっぽく書けているか。 22 Kotlin移行に伴う取り組み
23 kotlin-lover 経験者によるPRレビュー
24 kotlin-lover 経験者によるPRレビュー
• 週1でKotlin勉強会を開催する。 ◦ Kotlin Koans(全42問)を何週かに分けて自習。 ◦ 当日に答え合わせ、かつ経験者からの補足と別解、プロダ クトで使用等々の解説をいただく。 25 Kotlin移行に伴う取り組み
• Androidチーム以外のメンバーや、他チームのメンバーも興味 を持って参加してくれてモチベが高い。 ◦ 正直、講師の影響が強い。 26 勉強会の良かったところ • 自習でつまづいたところを直接聞ける事で理解が早い。 •
別解やプロダクトでの事例等が参考になる。 • チーム内での言語共通認識を持てる。
27 まとめ
1. 負債は溜め込まない。出来るなら少しづつでも返済しよう。コ ンポーネント化は絶対やった方が良い! 2. 今からAndroid始めるなら絶対Kotlin。 3. チームでのKotlin開発は全員で認識を合わせておく。そして出 来れば1人でも経験者がいた方が良い! → モブプログラミングとかしてみても良いかも
28 まとめ
29 ご静聴ありがとうございました!