January 29, 2022

Релиз Jetpack Compose

TL;DR

Спустя два года после представления на I/O 2019 Google представила Jetpack Compose версии 1.0 — тулкит для быстрой верстки UI для Android приложений с использованием Kotlin вместо XML. Аналоги — SwiftUI и верстка во Flutter. Вместе с полноценной версией представлены руководство по началу работы и roadmap.

Подробнее

Долго ждал этого релиза, ибо худшее, что есть в Android разработке в данный момент это XML-верстка, где в папке layout находится огромная куча неструктурированных файлов. Более того, предыдущие методы не предлагали достаточной функциональности для реализации простейших интерфейсных компонентов по типу drawable-ресурса квадрата с закругленными углами и обводкой толщиной 4dp, из-за чего приходилось создавать отдельный файл. В то же время гибкость инструментов Flutter позволяла все делать inplace, не создавая отдельный файл и не прерываясь, переходя в другое место.

Использование Kotlin как все-таки более интересного и глубокого языка, разработанного не только для UI-верстки (в отличие от Dart) выглядит как преимущество. Проблема тут заключается в неповоротливости и слабой маневренности индустрии, особенно это касается крупных компаний, у которых главная цель — не использование новомодных библиотек, а оптимизация скорости. Вопрос правда в том, что в данном случае окажется быстрее для конечного пользователя и меньше по весу.

Вообще Jetpack Compose является частью Android Jetpack — набора рекомендованных библиотек для современной разработки Android-приложений. Я уже делал пост, в котором рассказывал о проблемах и перспективных решениях, но в дополнение к сказанному там: используя эти инструменты объем работы и возможных проблем (за исключением разве что огромной кучи устаревших туториалов и документации) заметно сократится, что делает нативную разработку вполне конкурентоспособной в рамках одной платформы в небольших приложениях.

Announcing Jetpack Compose 1.0

Видео с канала Android Developers, в котором разработчики рассказывают о нововведениях и преимуществах.

Jetpack Compose for Desktop

Еще есть фреймворк, основанный на Jetpack Compose, разрабатываемый JetBrains и позволяющий разрабатывать кроссплатформенные десктоп приложения, используя Android-библиотеки. Но я больше топлю за нативный софт, поэтому пробовать такое если и стану, то чисто из интереса.