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
Zhanibek Marshal
November 05, 2021
Programming
0
90
Как в 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
100
Design System Driven Android Development: A Guide to Automation Tools
johnmars
1
67
Jetpack Compose Navigation
johnmars
1
110
По чесноку о бизнесе или зачем нам нужен domain layer
johnmars
0
96
Google I/O 19 - Extended at Kolesa Group
johnmars
0
50
Улучшаем жизнь Android разработчика с Kotlin Coroutines и ViewModel
johnmars
1
140
Android Dev Summit 2018
johnmars
0
36
Новый уровень модульной разработки - Mon Repo
johnmars
0
32
Почему Android разработчики переходят на Kotlin
johnmars
0
200
Other Decks in Programming
See All in Programming
デフォルトにして至高、RubyMineの大好きな所
ruzia
0
620
VS Code をプロダクトにどう取り込むか
onomax
1
620
大規模Reactアプリのリアーキテクチャ~8万行のTanStack Query移行の軌跡~
kj455
4
990
Milestoner
bkuhlmann
1
410
Compose-View Interop in Practice (mDevCamp 2024)
stewemetal
0
160
GitHub Actionsで泣かないためにやっておきたい設定 / Recommended GHA settings to avoid crying
pinkumohikan
3
560
Ruby Function Composition
bkuhlmann
1
340
使ってみよう Azure AI Document Intelligence
kosmosebi
2
350
Code Reviews
bkuhlmann
4
890
Hanami and htmx
bkuhlmann
0
210
雑に思考を整理する技術と効能
konifar
61
30k
Git Rebase
bkuhlmann
11
1.6k
Featured
See All Featured
The Invisible Side of Design
smashingmag
294
49k
The Cult of Friendly URLs
andyhume
74
5.7k
BBQ
matthewcrist
80
8.8k
RailsConf 2023
tenderlove
8
550
Making Projects Easy
brettharned
109
5.5k
Typedesign – Prime Four
hannesfritz
36
2.1k
Done Done
chrislema
178
15k
Documentation Writing (for coders)
carmenintech
61
4k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
126
32k
Large-scale JavaScript Application Architecture
addyosmani
504
110k
What's new in Ruby 2.0
geeforr
337
31k
Ruby is Unlike a Banana
tanoku
96
10k
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