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
2024新卒技術研修_Android
Search
DMM.com_新卒採用
September 10, 2024
0
61
2024新卒技術研修_Android
DMM.comの24新卒エンジニア技術研修_Android研修の資料です。
DMM.com_新卒採用
September 10, 2024
Tweet
Share
More Decks by DMM.com_新卒採用
See All by DMM.com_新卒採用
DDD‗20250716_traP×DMM
dmm_recuruit
0
10
組織運営‗20250716_traP×DMM
dmm_recuruit
0
7
DMMにおけるレコメンドの紹介‗20250716_traP×DMM
dmm_recuruit
0
180
KC3Hack2025向け_ハッカソンのコツ.pdf
dmm_recuruit
0
87
DMM.com_技育祭2024秋講演資料
dmm_recuruit
0
210
2024新卒技術研修_BE
dmm_recuruit
0
77
2024新卒技術研修_FE①
dmm_recuruit
0
43
2024新卒技術研修_FE②
dmm_recuruit
0
39
2024新卒技術研修_FE③
dmm_recuruit
0
53
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
100
5.7k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Fireside Chat
paigeccino
38
3.6k
Being A Developer After 40
akosma
90
590k
A better future with KSS
kneath
238
17k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
21
1.4k
Automating Front-end Workflow
addyosmani
1370
200k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
880
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
283
13k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
The Language of Interfaces
destraynor
158
25k
Transcript
© DMM 開始までお待ちください comment screen: **** password: ****
© DMM © DMM CONFIDENTIAL Android 技術研修2024 DMMポイントクラブグループ 宮里颯斗 2024/06/03
© DMM お品書き • 講師紹介 • Androidアプリ開発の概要 • 研修の進め方 •
ゴール • 進め方 • Q&A 3
© DMM Androidアプリ開発の概要
© DMM Androidアプリ開発の選択肢 • ネイティブ開発(Kotlin/Java) • Flutter • KMP •
React Native • .NET MAUI • ノーコード • etc… 5
© DMM 必要なツール・言語など • Android Studio • IDE、動物の名前が使われる(Jellyfish) • Kotlin/Java
• 新規はKotlinが多い • XML • アプリリソース管理 • Gradle • ビルドシステム構築 • スマホ • エミュレータでも 6
© DMM Androidアプリの開発を 支える技術・知識
© DMM Androidアプリの開発を支える技術・知識 • Activity/Fragment • Lifecycle • Resource •
Permission • Android SDK • APK/AAB • adb • Manifest • Android View • AVD • Context • Gradle 8 • Jetpack Library • Jetpack Compose • Material Component • Kotlin Coroutine/Flow • LiveData • ViewModel • DI • Retrofit • Json Parser • ConstraintLayout • MotionLayout • Bundle • RecyclerView • Paging • Repository • UseCase • Room • Storage • Thread • DataBinding • Navigation • Animation • Large Screen/Foldable • SplashScreen
© DMM
© DMM 大丈夫
© DMM Androidアプリの開発を支える技術・知識 • Activity/Fragment • Lifecycle • Resource •
Permission • Android SDK • APK/AAB • adb • Manifest • Android View • AVD • Context • Gradle 11 • Jetpack Library • Jetpack Compose • Material Component • Kotlin Coroutine/Flow • LiveData • ViewModel • DI • Retrofit • Json Parser • ConstraintLayout • MotionLayout • Bundle • RecyclerView • Paging • Repository • UseCase • Room • Storage • Thread • DataBinding • Navigation • Animation • Large Screen/Foldable • SplashScreen
© DMM Androidアプリの開発を支える技術・知識 • Activity/Fragment • Lifecycle • Resource •
Permission • Android SDK • APK/AAB • adb • Manifest • Android View • AVD • Context • Gradle 12 • Jetpack Library • Jetpack Compose • Material Component • Kotlin Coroutine/Flow • LiveData • ViewModel • DI • Retrofit • Json Parser • ConstraintLayout • MotionLayout • Bundle • RecyclerView • Paging • Repository • UseCase • Room • Storage • Thread • DataBinding • Navigation • Animation • Large Screen/Foldable • SplashScreen
© DMM 研修の範囲
© DMM Androidアプリの開発を支える技術・知識 • Activity/Fragment • Lifecycle • Resource •
Permission • Android SDK • APK/AAB • adb • Manifest • Android View • AVD • Context • Gradle 14 • Jetpack Library • Jetpack Compose • Material Component • Kotlin Coroutine/Flow • LiveData • ViewModel • DI • Retrofit • Json Parser • ConstraintLayout • MotionLayout • Bundle • RecyclerView • Paging • Repository • UseCase • Room • Storage • Thread • DataBinding • Navigation • Animation • Large Screen/Foldable • SplashScreen
© DMM Androidアプリの開発を支える技術・知識 • Activity/Fragment • Lifecycle • Resource •
Permission • Android SDK • APK/AAB • adb • Manifest • Android View • AVD • Context • Gradle 15 • Jetpack Library • Jetpack Compose • Material Component • Kotlin Coroutine/Flow • LiveData • ViewModel • DI • Retrofit • Json Parser • ConstraintLayout • MotionLayout • Bundle • RecyclerView • Paging • Repository • UseCase • Room • Storage • Thread • DataBinding • Navigation • Animation • Large Screen/Foldable • SplashScreen
© DMM 研修の進め方
© DMM 研修のゴール 弊社でも採用されているデファクトスタンダードな開発手法で Androidアプリ開発できるようになる 17
© DMM 進め方 ハンズオン形式で講義資料を読みつつYatterアプリの開発を行う 休憩時間も各自で決め、各自のペースで進めてください 18
© DMM 進め方 (外部公開用に内容が同じなインターンシップのURLに置き換え) 講義資料 https://github.com/mitohato14/Yatter2024- Internship/tree/main/%E8%AC%9B%E7%BE%A9%E8%B3%87%E6 %96%99 Yatterテンプレート https://github.com/mitohato14/Yatter2024-
Internship/tree/main/Yatter2024 19
© DMM 進め方 Androidアプリ開発の基礎的な部分が身についている(はず) 20
© DMM 講義資料 Markdownで記述 ローカルにダウンロードしてもGitHub上でも 21
© DMM 講義資料の説明 • Yatter • tutorial • appendix 22
© DMM Yatter 研修期間中メインで進めていく資料 Yatterアプリ開発をベースにハンズオン形式 アプリ開発を進めていく上で必要な分の解説 UI実装にフォーカスしているがそれ以外の部分(appendix)も 23
© DMM tutorial Androidアプリ開発を進める上で必要な知識 主にYatterアプリ開発進めるための前提知識 DMMで推奨されているアーキテクチャの解説も 24
© DMM appendix Androidアプリ開発について深掘りたい人向け よく利用されている概念や要素の解説書に近い 従来の開発手法であるAndroid Viewの解説など 25
© DMM 必須項目 • Yatter • tutorial • appendix 26
© DMM 必須項目 • Yatter • tutorial • appendix 27
© DMM オススメの進め方(appendixは任意) Androidアプリ開発初めて tutorial→Yatter→appendix 28
© DMM オススメの進め方(appendixは任意) Androidアプリ開発初めて tutorial→Yatter→appendix Androidアプリ開発に少し自信ある、挑戦したい Yatter→appendix 29
© DMM オススメの進め方(appendixは任意) Androidアプリ開発初めて tutorial→Yatter→appendix Androidアプリ開発に少し自信ある、挑戦したい Yatter→appendix Androidアプリ開発チョットデキル 自由に進める 30
© DMM Yatterテンプレート 講義資料を進める上で必要な実装が含まれる Yatter講義資料のappendix以外で実装できる 使わなくても良い 31
© DMM 進捗表 終わったら随時チェックマークをつけてください 進み具合を把握するために利用します 周りが早いからといって焦らないでください 各自のペースで学んでいきましょう〜 32
© DMM Q&A
© DMM Q.講義はありますか? 基本的にはない予定 進捗状況や要望に応じて解説を行う 34
© DMM Q.その他のコンテンツはありますか? 希望者が多ければ、ライブコーディングやコードレビュー実施予定 もし、「こういう話が聞きたい!」という要望があれば頑張る 35
© DMM Q.資料不備を見つけました すみません!ありがとうございます! 講師陣にお伝えください PR出しても大丈夫です 36
© DMM Q.Yatter講義資料終わりました 講義資料で解説していない機能も実装してみましょう appendix資料も学んでみましょう CI/CDの導入やDIツールの移行、UI改善など課題設定しても 37
© DMM Q.ハンズオン内容の質問して良いですか? もちろん!遠慮なく! 調べても分からないことは講師やチームメンバーに聞きましょう 質問するまでの基準を決めて質問してみると良いかも 38
© DMM Q.質問方法は何に対応している? 口頭でもテキストでも テキストであれば他の方からも見れる利点が 口頭であればタイムラグ無しに解決する利点が 口頭で聞かれたこともなるべくテキストにするようにしますが、 両方すると最高かも 39
© DMM Q.Gemini in Android Studioは使って良い? 今回はNG プロンプト情報を送信するため 意図せずコードを送信してしまう可能性がある デフォルトでOFF
40
© DMM Q.Android Studioが重いです ネイティブモバイルアプリ開発は要求スペック高め 開発に支障きたすと感じたら、相談ください 41
© DMM 頑張っていきましょう
© DMM 学習リンク集
© DMM 事前課題 • 必須 • https://developer.android.com/courses/kotlin-bootcamp/overview • 推奨or任意 •
https://developer.android.com/courses/kotlin-android- fundamentals/overview • https://developer.android.com/jetpack/compose/tutorial?hl=ja • https://play.kotlinlang.org/koans/overview 44
© DMM 学習コース • 公式 • https://developer.android.com/courses?hl=ja • ロードマップ •
https://roadmap.sh/android • 勉強会の解説動画 • https://tokyo.gdgjapan.org/devfest2020/schedule/1/103 • Codelab • https://codelabs.developers.google.com/?product=android 45
© DMM キャッチアップリンク • 公式 • https://android-developers.googleblog.com/ • https://www.youtube.com/@AndroidDevelopers/videos •
https://codelabs.developers.google.com/ • DroidKaigi • https://2023.droidkaigi.jp/timetable/day1/ • Android Dagashi • https://androiddagashi.github.io/ • Android Wagashi • https://scrapbox.io/android-wagashi/ 46
© DMM 質問タイム
© DMM 5日間よろしくお願いします!
© DMM
© DMM 待機所
© DMM 1日目締め
© DMM 1日目お疲れ様でした!
© DMM Androidアプリ開発どうでしたか?
© DMM 初めてのことだらけで大変だったと思います
© DMM 進捗表を見ると結構進めている
© DMM 素晴らしい
© DMM チーム内で協力している様子
© DMM
© DMM 待機所
© DMM 3日目締め
© DMM 出席+進捗のチェックお願いします!
© DMM みなさん調子はいかがですか?
© DMM 進捗表や各チーム回っている限りは 少しづつでも進められてそう
© DMM 講義資料にない部分も深掘り始めてる
© DMM 1日目に比べてAndroid慣れてきました......?
© DMM サポート引き続き頑張ります
© DMM Yatter講義資料以外も気になり始めている(はず)
© DMM appendix資料も読んでみてください
© DMM モックサーバについて
© DMM
© DMM yatter-backend-go-2024のクローン時期によって 画像URLが正しく取得できない可能性
© DMM cherry-pickなどで差分取り込んでみてください
© DMM やって欲しいことがあれば聞きたいです
© DMM 例えば コードレビュー ライブコーディング 各チームへの長時間滞在 など。。。
© DMM 今日で折り返し。。。 頑張っていきましょう
© DMM
© DMM 待機所 comment screen: **** password: ****
© DMM 最終日締め
© DMM Android研修修了です!
© DMM お疲れ様でした!
© DMM Androidアプリ開発慣れましたか?
© DMM 研修のゴールを振り返ってみる
© DMM 研修のゴール 弊社でも採用されているデファクトスタンダードな開発手法で Androidアプリ開発できるようになる 83
© DMM 達成できてそうですか?
© DMM
© DMM 🥲
© DMM Androidアプリの開発を支える技術・知識 振り返り
© DMM Androidアプリの開発を支える技術・知識 • Activity/Fragment • Lifecycle • Resource •
Permission • Android SDK • APK/AAB • adb • Manifest • Android View • AVD • Context • Gradle 88 • Jetpack Library • Jetpack Compose • Material Component • Kotlin Coroutine/Flow • LiveData • ViewModel • DI • Retrofit • Json Parser • ConstraintLayout • MotionLayout • Bundle • RecyclerView • Paging • Repository • UseCase • Room • Storage • Thread • DataBinding • Navigation • Animation • Large Screen/Foldable • SplashScreen
© DMM なんとなく分かりましたか?
© DMM
© DMM
© DMM Androidアプリ開発がなんとなく分かったら嬉しい
© DMM Android研修を乗り越えた皆さんはすごい
© DMM 自信を持ってこれからも進んでください
© DMM
© DMM 今後は?
© DMM Android特有の機能を活用する
© DMM Yatterアプリの機能を充実させる
© DMM 開発設計の理解を深める
© DMM 0からアプリを作ってみる
© DMM 業務では?
© DMM モバイルアプリのバックエンド担当するかもしれない
© DMM 直接開発せずともモバイルアプリの気持ちがわかる
© DMM モバイルアプリ開発を始めているかもしれない
© DMM Androidアプリ開発の基礎は身についている(はず)
© DMM いつでもAndroidアプリ開発できる!
© DMM いつでもお待ちしてますね
© DMM #team-android
© DMM 講師陣からの感想
© DMM 皆さんからの感想
© DMM 来年以降のためにもぜひFBを
© DMM 今日の残り時間
© DMM 時間が来るまで残りの開発を進めましょう!
© DMM キリの良いタイミングで切り上げて明日に備える
© DMM お疲れ様でした!
© DMM 研修残りも頑張ってください! 応援しています〜!
© DMM これからもよろしくお願いします!