Kotlin導入してみたかったけど結局間に合わなかった…
by
mukky620
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Kotlin導入してみた 2017/06/22 MatchingAgent x Makuake 合同勉強会 1 mukky620
Slide 2
Slide 2 text
Kotlin導入してみた 2017/06/22 MatchingAgent x Makuake 合同勉強会 2 mukky620 かったけど結局間に合わなかった…
Slide 3
Slide 3 text
● 向中野 亘 (むっきー) ● Android Engineer ● 3月にアメーバピグから異動 ● Android歴1年と 3ヶ月 3 自己紹介
Slide 4
Slide 4 text
1. Androidチームの現状の負債 2. JavaからKotlinに移行しようと思った理由 3. 移行するにあたってチーム内でした事 4 本日の内容
Slide 5
Slide 5 text
1. Androidチームの現状の負債 2. JavaからKotlinに移行しようと思った理由 3. 移行するにあたってチーム内でした事 5 本日の内容
Slide 6
Slide 6 text
6 2014年7月…Android版タップル誕生リリー ス!
Slide 7
Slide 7 text
7 しかし、スピード感重視かつ 片手間でのリリースだった事もあり…
Slide 8
Slide 8 text
8 多くの負債が生まれてしまった… Android Annotations FatなActivity 増え続ける Color定義 大量のDialog Listviewでは ないリスト エラーハンドリング しきれてない 課金処理 viewholder もどき 非同期処理 辛い state管 理 も 辛 い アーキテクチャ など無い 自由な設計
Slide 9
Slide 9 text
9 多くの負債が生まれてしまった… FatなActivity 増え続ける Color定義 大量のDialog Listviewでは ないリスト エラーハンドリング しきれてない 課金処理 アーキテクチャ など無い 自由な設計
Slide 10
Slide 10 text
1. アーキテクチャ改善 ○ Architecture Component、DataBinding、Dagger2導入 ○ CleanArchtectureを意識したMVVM 2. コンポーネント化 3. Kotlin導入 10 負債返済してスタンダード化を目指す
Slide 11
Slide 11 text
1. Androidチームの現状の負債 2. JavaからKotlinに移行しようと思った理由 3. 移行するにあたってチーム内でした事 11 本日の内容
Slide 12
Slide 12 text
12 Kotlinが正式にAndroid開発言語に!
Slide 13
Slide 13 text
● Javaより言語仕様的に優れている(と思う) ○ Null安全、ラムダ・高階関数…etc ○ そもそもAndroid開発でJava8使えないの辛い… ○ RxJavaとRetrolambdaで代替え嫌… ● 習熟したら開発効率上がりそう ● Kotlin経験者の強い推し 13 その他採用理由
Slide 14
Slide 14 text
1. Androidチームの現状の負債 2. JavaからKotlinに移行しようと思った理由 3. 移行するにあたってチーム内でした事 14 本日の内容
Slide 15
Slide 15 text
15 Kotlinは 自由度が高い言語
Slide 16
Slide 16 text
16 例えば、Nullableの場合 ← Nullチェック方式
Slide 17
Slide 17 text
17 例えば、Nullableの場合 ← 早期リターン(エルビ ス演算子)方式
Slide 18
Slide 18 text
18 例えば、Nullableの場合 ← Nullチェックかつ エルビス演算子方式
Slide 19
Slide 19 text
19 例えば、Nullableの場合 ← スコープ関数使用す る方式
Slide 20
Slide 20 text
20 例えば、Nullableの場合 色々な 書き方が ある!
Slide 21
Slide 21 text
21 チーム内で 共通の認識が必要
Slide 22
Slide 22 text
● Kotlin移行したソースを経験者にPRしてもらう。 ○ Javaっぽく書いてないか。 ○ Kotlinっぽく書けているか。 22 Kotlin移行に伴う取り組み
Slide 23
Slide 23 text
23 kotlin-lover 経験者によるPRレビュー
Slide 24
Slide 24 text
24 kotlin-lover 経験者によるPRレビュー
Slide 25
Slide 25 text
● 週1でKotlin勉強会を開催する。 ○ Kotlin Koans(全42問)を何週かに分けて自習。 ○ 当日に答え合わせ、かつ経験者からの補足と別解、プロダ クトで使用等々の解説をいただく。 25 Kotlin移行に伴う取り組み
Slide 26
Slide 26 text
● Androidチーム以外のメンバーや、他チームのメンバーも興味 を持って参加してくれてモチベが高い。 ○ 正直、講師の影響が強い。 26 勉強会の良かったところ ● 自習でつまづいたところを直接聞ける事で理解が早い。 ● 別解やプロダクトでの事例等が参考になる。 ● チーム内での言語共通認識を持てる。
Slide 27
Slide 27 text
27 まとめ
Slide 28
Slide 28 text
1. 負債は溜め込まない。出来るなら少しづつでも返済しよう。コ ンポーネント化は絶対やった方が良い! 2. 今からAndroid始めるなら絶対Kotlin。 3. チームでのKotlin開発は全員で認識を合わせておく。そして出 来れば1人でも経験者がいた方が良い! → モブプログラミングとかしてみても良いかも 28 まとめ
Slide 29
Slide 29 text
29 ご静聴ありがとうございました!