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
Как в 21 году стать Android разработчиком
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Zhanibek Marshal
November 05, 2021
Programming
0
100
Как в 21 году стать Android разработчиком
Доклад от Android разработчика, который повидал многое за 6 лет разработки на этом роботе.
Zhanibek Marshal
November 05, 2021
Tweet
Share
More Decks by Zhanibek Marshal
See All by Zhanibek Marshal
Maestro - UI testing framework
johnmars
1
330
Design System Driven Android Development: A Guide to Automation Tools
johnmars
1
140
Jetpack Compose Navigation
johnmars
1
160
По чесноку о бизнесе или зачем нам нужен domain layer
johnmars
0
140
Google I/O 19 - Extended at Kolesa Group
johnmars
0
68
Улучшаем жизнь Android разработчика с Kotlin Coroutines и ViewModel
johnmars
1
180
Android Dev Summit 2018
johnmars
0
49
Новый уровень модульной разработки - Mon Repo
johnmars
0
47
Почему Android разработчики переходят на Kotlin
johnmars
0
350
Other Decks in Programming
See All in Programming
株式会社 Sun terras カンパニーデック
sunterras
0
2.1k
15年目のiOSアプリを1から作り直す技術
teakun
1
620
エンジニアの「手元の自動化」を加速するn8n 2026.02.27
symy2co
0
140
go directiveを最新にしすぎないで欲しい話──あるいは、Go 1.26からgo mod initで作られるgo directiveの値が変わる話 / Go 1.26 リリースパーティ
arthur1
2
540
Takumiから考えるSecurity_Maturity_Model.pdf
gessy0129
1
140
今更考える「単一責任原則」 / Thinking about the Single Responsibility Principle
tooppoo
3
1.6k
ベクトル検索のフィルタを用いた機械学習モデルとの統合 / python-meetup-fukuoka-06-vector-attr
monochromegane
2
390
Claude Codeセッション現状確認 2026福岡 / fukuoka-aicoding-00-beacon
monochromegane
4
410
2026年は Rust 置き換えが流行る! / 20260220-niigata-5min-tech
girigiribauer
0
230
grapheme_strrev関数が採択されました(あと雑感)
youkidearitai
PRO
1
210
社内規程RAGの精度を73.3% → 100%に改善した話
oharu121
13
7.9k
Unity6.3 AudioUpdate
cova8bitdots
0
120
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
40
2.3k
Statistics for Hackers
jakevdp
799
230k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
200
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.8k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
140
Rails Girls Zürich Keynote
gr2m
96
14k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.1k
Ethics towards AI in product and experience design
skipperchong
2
220
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
310
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
150
Unsuck your backbone
ammeep
672
58k
Transcript
Как в 21 году стать Android разработчиком Доклад от Android
разработчика, который повидал многое Жанибек Маршал
“Надо знать прошлое, чтобы понимать настоящее и предвидеть будущее” Г.Белинский
А как было изначально? Android SDK выходит в 2008 году
На каком языке надо было разрабатывать? 1.7
А как же актуальная версия Java? 2019 1.8
Но наступила эра Kotlin Kotlin стал приоритетным языком для разработки
Android приложении 2019
С каким инструментом работали Android разработчики раньше Миллион лет тому
назад
Решили взять самое лучшее что есть 2013
Почему эмулятор такой медленный и неудобный? 2013
Но какой-то момент официальным эмулятор стал довольно неплохим ?
Надо как-то показать экран приложения Activity 2008
Activity Жиза
Activity Навигация
Ой, а как реализовать экран для планшета? Fragment 2011
Fragment Еще одна жиза
Так что мне использовать, Activity или Fragment? Fragment 1 Activity
1 Fragment 2 Activity 2 Fragment n Activity n ... ...
Activity + Fragment В итоге в жизни стало все сложно
и еще надо разобраться с навигации
Гугл: ребята, вот вам решение на Single Activity Navigation Component
2019
Ok Google, как добавить кнопку на экране? XML
res/ Очень удобное решение для фрагментации, локализации и т.д.
Как бы сделать дизайн так, чтобы было лучше чем на
iOS? 2014 Material Design
style и theme Как быть стильным и всегда в теме
Дизайнер постоянно спрашивает, какой размер иконки надо нам mdpi, hdpi,
xhdpi, xxhdpi, xxxhdpi?! 8dp, 16dp, 24dp, 36dp, 64dp ...???
А как сделать так, чтобы иконки были в одном файле
и чтобы еще была анимация? 2014 Vector
Что-то слишком много кода на XML стало. Можно как-то попроще
и чтобы летало сразу? 2021 Мы где-то тут
Неплохо было бы, если все могли разработать приложение для контактов
Content Provider
Стоп, а как хранить эти данные? SQLite
Спасибо, но хотелось бы что-то более удобное
Были попытки создать удобное решение для БД на Android 2016
Гугл: псс, не хочешь сочное решение для БД? 2018
А как мне создать супер плеер для прослушивания новых альбомов
Oxxxymiron на Android? Service (Foreground)
Но что-то разработчики стали наглеть и сильно потреблять зарядку Все
чаще стали жестко контролировать Service
Мне бы синхронизировать данные раз в сутки JobScheduler 2013
Но он доступен только с API 21+ Придется создать библиотеку
для решении этой задачи
Гугл: ну ладно, вот вам официальная библиотека Jetpack: WorkManager 2019
Вроде бы разобрались в Android более-менее, но код в проекте
почему-то 💩 Пишем всю логику в Activity/Fragment
MVC, MVP, MVVM или MVWhatever Jetpack Architecture: ViewModel 2018
Clean Architecture Как сделать проект более чистыми и понятными
От теории до тестирования Как реализовать Clean Architecture с MVVM
https://www.youtube.com/watch?v=9 xMZrHXBcFI
Stay hungry, Stay foolish Мы не должны останавливать развиваться
Полезные ссылки 1. Android developer roadmap: https://github.com/mobile-roadmap/android-developer-roadmap 2. От теории
до тестирования MVVM: https://www.youtube.com/watch?v=9xMZrHXBcFI 3. Material Design: material.io 4. Android Developer guide: d.android.com 5. Modern Android Development: https://developer.android.com/series/mad-skills 6. CS101: https://www.udemy.com/course/cs101-introduction-to-computer-science