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
240
Design System Driven Android Development: A Guide to Automation Tools
johnmars
1
100
Jetpack Compose Navigation
johnmars
1
120
По чесноку о бизнесе или зачем нам нужен domain layer
johnmars
0
110
Google I/O 19 - Extended at Kolesa Group
johnmars
0
61
Улучшаем жизнь Android разработчика с Kotlin Coroutines и ViewModel
johnmars
1
160
Android Dev Summit 2018
johnmars
0
39
Новый уровень модульной разработки - Mon Repo
johnmars
0
34
Почему Android разработчики переходят на Kotlin
johnmars
0
270
Other Decks in Programming
See All in Programming
pylint custom ruleで始めるレビュー自動化
shogoujiie
0
160
TCAを用いたAmebaのリアーキテクチャ
dazy
0
210
15分で学ぶDuckDBの可愛い使い方 DuckDBの最近の更新
notrogue
3
790
ABEMA iOS 大規模プロジェクトにおける段階的な技術刷新 / ABEMA iOS Technology Upgrade
akkyie
1
230
生成AIで加速するテスト実装 - ロリポップ for Gamersの事例と 生成AIエディタの活用
kinosuke01
0
130
sappoRo.R #12 初心者セッション
kosugitti
0
280
読まないコードリーディング術
hisaju
0
110
「個人開発マネタイズ大全」が教えてくれたこと
bani24884
1
280
Jakarta EE meets AI
ivargrimstad
0
530
新宿駅構内を三人称視点で探索してみる
satoshi7190
2
120
『テスト書いた方が開発が早いじゃん』を解き明かす #phpcon_nagoya
o0h
PRO
9
2.5k
Amazon Bedrockマルチエージェントコラボレーションを諦めてLangGraphに入門してみた
akihisaikeda
1
150
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
428
65k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
114
51k
Writing Fast Ruby
sferik
628
61k
The World Runs on Bad Software
bkeepers
PRO
67
11k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
We Have a Design System, Now What?
morganepeng
51
7.4k
A designer walks into a library…
pauljervisheath
205
24k
Building Applications with DynamoDB
mza
93
6.2k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
Navigating Team Friction
lara
183
15k
Unsuck your backbone
ammeep
669
57k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
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