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
92
Как в 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
200
Design System Driven Android Development: A Guide to Automation Tools
johnmars
1
92
Jetpack Compose Navigation
johnmars
1
120
По чесноку о бизнесе или зачем нам нужен domain layer
johnmars
0
110
Google I/O 19 - Extended at Kolesa Group
johnmars
0
60
Улучшаем жизнь Android разработчика с Kotlin Coroutines и ViewModel
johnmars
1
160
Android Dev Summit 2018
johnmars
0
39
Новый уровень модульной разработки - Mon Repo
johnmars
0
32
Почему Android разработчики переходят на Kotlin
johnmars
0
250
Other Decks in Programming
See All in Programming
Mermaid x AST x 生成AI = コードとドキュメントの完全同期への道
shibuyamizuho
1
270
開発者とQAの越境で自動テストが増える開発プロセスを実現する
92thunder
1
200
ある日突然あなたが管理しているサーバーにDDoSが来たらどうなるでしょう?知ってるようで何も知らなかったDDoS攻撃と対策 #phpcon.2024
akase244
2
430
Semantic Kernelのネイティブプラグインで知識拡張をしてみる
tomokusaba
0
180
どうして手を動かすよりもチーム内のコードレビューを優先するべきなのか
okashoi
3
610
AWSのLambdaで PHPを動かす選択肢
rinchoku
2
310
Scalaから始めるOpenFeature入門 / Scalaわいわい勉強会 #4
arthur1
1
350
これでLambdaが不要に?!Step FunctionsのJSONata対応について
iwatatomoya
2
3.8k
各クラウドサービスにおける.NETの対応と見解
ymd65536
0
180
フロントエンドのディレクトリ構成どうしてる? Feature-Sliced Design 導入体験談
osakatechlab
8
4.2k
わたしの星のままで一番星になる ~ 出産を機にSIerからEC事業会社に転職した話 ~
kimura_m_29
0
210
PHPで作るWebSocketサーバー ~リアクティブなアプリケーションを知るために~ / WebSocket Server in PHP - To know reactive applications
seike460
PRO
2
660
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Typedesign – Prime Four
hannesfritz
40
2.4k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
530
What's in a price? How to price your products and services
michaelherold
244
12k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.6k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Reflections from 52 weeks, 52 projects
jeffersonlam
347
20k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
Facilitating Awesome Meetings
lara
50
6.1k
Making the Leap to Tech Lead
cromwellryan
133
9k
Writing Fast Ruby
sferik
628
61k
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