Что такое @Composable функция

«Что такое @Composable функция» — вопрос из категории Jetpack Compose, который задают на 24% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

@Composable — это аннотация, помечающая функции, которые описывают UI в Jetpack Compose. Они могут вызывать другие @Composable функции и преобразуют данные в элементы интерфейса.

Особенности:

  • Могут перезапускаться при изменении входных параметров
  • Не возвращают UI-виджеты напрямую, а декларируют их
  • Должны быть идемпотентными (одинаковые входные данные → одинаковый UI)

Пример:

@Composable
fun Greeting(name: String) {
    Text(text = "Hello, $name!")
}

Примечание: Внутри таких функций нельзя использовать обычные Kotlin-корутины или блокирующие операции.