Написать пост

Стартер-пак Android-разработчика: что учить

Аватарка пользователя sudo >: )

Узнали у middle и senior разработчиков, что нужно учить каждому Android-разработчику, какие фреймворки, библиотеки и инструменты устарели, а какие актуальны.

Узнали у middle и senior разработчиков, что нужно учить каждому Android-разработчику. Спросили, какие фреймворки, библиотеки и инструменты безнадёжно устарели, а какие невероятно актуальны.

Напоминаем, что вы можете задать свой вопрос экспертам, а мы соберём на него ответы, если он окажется интересным. Вопросы, которые уже задавались, можно найти в списке выпусков рубрики.

Если вы хотите присоединиться к числу экспертов и прислать ответ от вашей компании или лично от вас, то пишите на experts@tproger.ru, мы расскажем, как это сделать.

Какие библиотеки, инструменты, фреймворки Android уже устарели?

Андроид развивается очень динамично, поэтому, многое из того, что было популярно 5 лет назад уже не используется. Конечно же сразу приходит на ум RxJava, про нее был каждый второй доклад на любой конференции 5-6 лет назад. А теперь ее изредка спрашивают на собеседованиях. На замену ей пришли Kotlin Coroutines.

Java как язык разработки под андроид остался, наверное, только в каких-то старых проектах динозаврах. Kotlin это новый стандарт уже лет 6.

С появлением Jetpack Compose UI код использующий стандартные Android Views стал легаси. Многие приложения сейчас Compose First, и все новые фичи тоже разрабатываются на Compose.

Архитектура презентационного слоя так же изменилась, всё меньше можно увидеть MVP, а MVVP и MVI стали де факто стандартами разработки.

Какие библиотеки Android нужно знать в 2024 году?

Если мы возьмем более менее стандартное приложение со стандартными подходами, то наверняка там будут эти библиотеки: Retrofit 2, Dagger2/Hilt, Kotlin Coroutines, Jetpack ViewModel, Room, Lifecycle. Но стоит помнить, что библиотеки приходят и уходят, а фундаментальные знания остаются. Человеку, освоившему фундамент будет гораздо легче освоить какую-либо библиотеку.

Какие фреймворки Android нужно знать в 2024 году?

В Андроид немного фреймворков, наверное главный и самый нашумевший в последнее время это Jetpack Compose. Так же стоит знать архитектурные подходы MVI/MVVM, MVP, плюсы и минусы их работы. Так же неплохо было бы понимать базовые вещи, которые могут не относится только к Android, например SOLID, Dependency Injection.

Какие инструменты Android нужно знать в 2024 году?

Швейцарский нож Android разработчика в 2024 это Kotlin, Kotlin Coroutines, Jetpack Compose, MVVM/MVI, Google Jetpack Libraries, REST, Single Activity, Dagger 2, Retrofit 2. Зная этот стек можно будет легко разобраться в 95% приложений.

Что уже устарело

Язык разработки Java для Android

Современный подход к разработке под Android является Kotlin-first. Это означает, что Kotlin является основным языком для разработки приложений. Также уже несколько лет все нативные библиотеки для самых различных целей и задач пишутся преимущественно на Kotlin. Поэтому будет полезнее направить усилия по изучению данного языка вместо Java. Java вы всегда успеете выучить при необходимости, чтобы лучше понимать подкапотный мир JVM, общий с Kotlin.

Расхожее мнение, что с появлением Jetpack Compose учить разработку View на Xml становится неактуально. Тут все неоднозначно. Несмотря на нарастающую популярность Compose, все еще много проектов, где UI реализуется преимущественно на классическом подходе (View + Xml), а переезд на новую технологию по каким-то причинам не так приоритетен.

RxJava 

Использование реактивного подхода было весьма популярно еще буквально несколько лет назад. С помощью фреймворков типа RxJava решали вопрос и компактности кода, и реализации асинхронной разработки. Сейчас фокус сместился в сторону Kotlin Coroutines. Это является актуальным и рекомендованным решением для многопоточной разработки.

Также к устаревшим технологиям относятся DataBinding для связи верстки и бизнес-логики, KAPT для обработки аннотаций. Редко уже используется SqLite ORM. 

В целом, большинство устаревших решений никуда не уходят. Просто появляются новые библиотеки-обертки, делающие работу с ними и их освоение более удобным.

Какие библиотеки нужно знать в 2024 году

Must-havе любого разработчика Android - это семейство библиотек Jetpack Components:

  • ViewModels (это не только ViewModels для MVVM, но и в целом рекомендованный компонент для вызова бизнес-логики и хранения состояния),
  • Lifecycle,
  • Navigation
  • Room ORM (для локального хранилища).

Для сети продолжает оставаться актуальным использование Retrofit. В качестве альтернативы можно порекомендовать Ktor.

Очень полезным будет знание Kotlin Coroutines, Kotlin Flows. Для организации фоновой работы будет полезно знание такого механизма как WorkManager.

Для построения корректной архитектуры приложения необходимо знание 1-2 библиотек для Dependency Injection. Актуальным будет знание Dagger/Hilt, дополнительно можно освоить Koin и Kodein. 

Какие фреймворки нужно знать

Конечно, Android SDK и Jetpack Compose. С первым все понятно - это база по Android. Декларативные подходе к разработке приложений в принципе актуальны последние несколько лет, т.к упрощают и ускоряют процесс. После выхода первой стабильной версии Compose, несмотря на необходимость доработок, компания Google сделала ставку на данную технологию. Практически все туториалы и гайды по работе с UI ориентированы теперь и на Compose. Какие-то решения уже идут Compose-First. Например, Google добавили в фреймворку поддержку различных классных анимаций. 

Философия Jetpack Compose - это не только UI, но и управление состоянием приложения, связь элементов с бизнес-логикой, поддержка навигации и т.п

Какие инструменты нужно знать

Основным инструментом разработки под Android является Android Studio. Это доступная и бесплатная среда разработки, которую можно установить на любую операционную систему. Помимо тулинга для разработки, дебага и сборки приложения, IDE содержит инструменты для профилировки приложения. Очень важно знать Gradle как систему управления зависимостями и сборкой приложения. 

Эрудированному разработчику Android в 2024 году полезно знать набор Jetpack Components, Jetpack Compose, Kotlin Coroutines, Retrofit, Dagger/Hilt. Обязательно владение Android SDK и Kotlin, знание паттернов и архитектур, понимание принципов SOLID и ООП.

Напоминаем, что вы можете задать свой вопрос экспертам, а мы соберём на него ответы, если он окажется интересным. Вопросы, которые уже задавались, можно найти в списке выпусков рубрики. Если вы хотите присоединиться к числу экспертов и прислать ответ от вашей компании или лично от вас, то пишите на experts@tproger.ru, мы расскажем, как это сделать.

Следите за новыми постами
Следите за новыми постами по любимым темам
661 открытий3К показов