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
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Как в 21 году стать Android разработчиком
Доклад от Android разработчика, который повидал многое за 6 лет разработки на этом роботе.
Zhanibek Marshal
November 05, 2021
More Decks by Zhanibek Marshal
See All by Zhanibek Marshal
Maestro: Reliable E2E testing made easy
johnmars
0
16
Maestro - UI testing framework
johnmars
1
370
Design System Driven Android Development: A Guide to Automation Tools
johnmars
1
170
Jetpack Compose Navigation
johnmars
1
170
По чесноку о бизнесе или зачем нам нужен domain layer
johnmars
0
150
Google I/O 19 - Extended at Kolesa Group
johnmars
0
76
Улучшаем жизнь Android разработчика с Kotlin Coroutines и ViewModel
johnmars
1
190
Android Dev Summit 2018
johnmars
0
55
Новый уровень модульной разработки - Mon Repo
johnmars
0
61
Other Decks in Programming
See All in Programming
【SRE NEXT 2026 Lunch Session】一人目専任SREの立ち上げを加速する ― AIと進めたオンボーディングで2分を0.04秒にした話
pkshadeck
PRO
0
2.8k
OSINT for SRE: 学術論文とポストモーテムから探る システム障害の共通パターン / SRE NEXT 2026
tomoyk
1
3.9k
ランチタイムLT会3周年!ランチタイムLT会を3年間続けられたお話
y0hgi
1
140
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
360
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
910
エンジニアにデザインハーネスを 〜デザインプロセスを規定するためのハーネス〜 / Design harness from an engineer's perspective
rkaga
2
1.5k
SREの積み重ねがAI駆動開発のガードレールになった ― 7つの実践/SRE Guardrails The 7
tomoyakitaura
8
4.4k
Honoでのサプライチェーン侵害対策 〜 3つのライブラリに学ぶ
yusukebe
7
1.9k
JAWS-UG横浜 #102 AWSサ終供養LT会 成仏できない AWS サービスたち 〜本日、三体供養します〜
maroon1st
0
210
なぜ型を書くのか? TSKaigi2026で改めて考える #tskaigi_smarthr
kajitack
0
380
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
1
190
壊れたパーサから始める関数型設計と構成的なパーサ #fp_matsuri
raiga0310
2
330
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
330
40k
The Curious Case for Waylosing
cassininazir
1
430
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
350
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
2
340
Product Roadmaps are Hard
iamctodd
55
12k
The Invisible Side of Design
smashingmag
301
52k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
870
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
180
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
Everyday Curiosity
cassininazir
0
260
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