С какими UI фреймворками работал

Ответ

Jetpack Compose — современный декларативный фреймворк, активно использую его в новых проектах. Знаю принципы композиции, состояние, модификаторы, анимации.

XML + View — классический подход. Работал с ConstraintLayout, RecyclerView, кастомными View. Понимаю важность оптимизации (например, избегание вложенных ViewGroup).

Пример Compose:

@Composable
fun Greeting(name: String) {
    Text(
        text = "Hello $name!",
        modifier = Modifier.padding(16.dp),
        style = MaterialTheme.typography.h5
    )
}

Из сторонних: немного опыта с Flutter (для кроссплатформы) и Lottie для анимаций.

Ответ 18+ 🔞

А, ну вот, пришёл человек с современными штуками, я смотрю. Jetpack Compose, говоришь? Ну это, бля, ёперный театр, конечно, по сравнению с тем, что было. Я помню, как на XML с ViewGroup'ами сидел, так там мозг выносило, пока всё сконстрейнишь, чтобы не разъехалось. Овердохуища вложенности получалось, а производительность потом хромает.

Ты вот пишешь этот свой Greeting, и оно сразу красиво и понятно. Это, конечно, пизда рулю, не поспоришь. Но чувак, ты веришь, что под капотом-то там всё равно иногда творится какая-то мудя? Особенно с этими рекомпозициями, если не следишь за стейтом — они могут начать перерисовываться, как сумасшедшие. Сам от себя охуеешь, когда приложение жрёт батарею и тормозит, а ты думал, что сделал всё по фен-шую.

А старый-добрый XML... Ну, это как дед, который ворчит, но своё дело знает. ConstraintLayout — вещь, конечно, мощная, но иногда чувствуешь себя каким-то хитрожопым архитектором, который чертит схемы моста, а не кнопки расставляет. И этот ваш RecyclerView... Боже, сколько я на нём волос вырвал, пока кастомные айтемы и хедеры делал. Терпения ноль ебать, честно.

Flutter — это вообще отдельная история. Я его пробовал, так там вообще всё по-другому. Как будто в параллельную вселенную попал. Вроде и похоже на Compose, а вроде и нет. И Dart этот... Ну, да похуй, в принципе, язык как язык.

Главное, чувак, что бы ты ни использовал — Compose, XML или ещё какую мартышлюшку — понимай, что ты делаешь. А то будут тебе потом legacy-проекты, где всё вперемешку, и там уже не до красоты. Там просто выживать надо. Так что опыт с обоими подходами — это, считай, золотая жила. Тебя так просто не возьмёшь.