Полезные материалы для начинающих Android разработчиков

Данную страничку подготовила компания CleverPumpkin, разработчик мобильных приложений на заказ. Наши актуальные вакансии можно найти на HeadHunter.
Книги
Эти книги будут полезны не столько для Android разработки, сколько для общего развития как программиста. В них очень много универсальных знаний, которые применяются во всех сферах разработки

Общее
  • Clean Code / Чистый код. Роберт Мартин (ISBN: 978-5-496-00487-9)
  • The Clean Coder / Идеальный программист. Роберт Мартин (ISBN: 978-5-4461-1067-4)
  • Code Complete / Совершенный код. Стив Макконел (ISBN: 978-5-7502-0064-1)
  • The Pragmatic Programmer / Программист-прагматик. Энди Хант, Дейв Томас (ISBN: 5-85582-213-3)
  • Introduction to Algorithms / Алгоритмы: построение и анализ. Томас Кормен, Чарльз Эрик Лейзерсон, Рональд Линн Ривест, Клиффорд Штайн (ISBN: 978-5-907114-11-1)
Kotlin
  • Head First. Kotlin. Авторы: Гриффитс Дэвид, Гриффитс Дон (ISBN 978-5-4461-1335-4)
Статьи и другие материалы
Архитектура
Разбор MV(x) архитектур можно найти в материале на academy.realm.io или в переводе от RYGITAL на Хабре.

Для более подробного понимания тонкостей той или иной архитектуры стоит переходить на более глубокие статьи по конкретной архитектуре. Например:

Большой список статей по описанным выше архитектурам (и не только) можно найти в репозитории Awesome Android Architecture пользователя onmyway133 на github.
Платформа
UI
Для создания лейаутов рекомендуется использовать ConstraintLayout. С помощью него можно создавать сложные по дизайну экраны избегая излишней вложенности: статья ConstraintLayout 101 и новый редактор компоновок в Android Studio (Лайв Тайпинг) и Работа с ConstraintLayout через XML-разметку(Touch Instinct)).

Для работы с View стоит использовать ViewBinding. Для удобства работы можно использовать ViewBindingPropertyDelegate от Кирилла Розова.

Networking
Для работы с сетью чаще всего используется связка okHttp + Retrofit + Gson. При работе с данными библиотеками не стоит забывать использовать аннотацию @SerializedName (или аналогичную в других библиотеках для работы с json), чтобы избежать проблем при обфускации кода.
Image Loading
Для загрузки изображений существует достаточное количество удобных библиотек, таких как Glide, Picasso, Fresco, Coil. Последний весьма хорош, т.к. он полностью написан на Kotlin, использует корутины под капотом и достаточно прост в использовании. Почитать об этой библиотеке можно в статьях Taking a look at Coil (Kudzai Chasinda) и Introducing Coil: Kotlin-first image loading on Android (Colin White).
Async
Coroutines
Для работы с асинхронными задачами отлично подходят корутины. Отличный курс на StartAndroid и документация
Не стесняйтесь делиться этой страничкой с друзьями и коллегами, если считаете её полезной. Если у вас будет какой-то фидбек по этой страничке — напишите нам на почту .
Не стесняйтесь делиться этой страничкой с друзьями и коллегами, если считаете её полезной. Если у вас будет
какой-то фидбек по этой страничке — напишите нам на почту.