Как стать автором
Обновить

Комментарии 16

2. Интуитивно понятный.


ИМХО ну ооочень сильно притянуто за уши. Ровно теми же словами можно и про XML сказать - разработчику нужно лишь сказать какие view он хочет видеть на экране, остальное ляжет на плечи стандартного фреймворка.

Интуитивным компоуз станет только когда разработчик окончательно перестроится на новый вид мышления. Наверное. Я сам пока ещё не там, старые привычки слишком сильны.

А ещё мне кажется вы упускаете самый главный недостаток компоуза - он тупо ещё слишком новый.

Слишком новый чтобы легко нагуглить нужное решение (в том числе и для простых вещей);
слишком новый чтобы всегда стабильно и правильно работать;
слишком новый чтобы быть достаточно распространенным;
слишком новый чтобы за хайпом видеть реальную ценность... список можно продолжать.

Я к чему это - учить его уже надо и у меня нет сомнений что в будущем он станет стандартом, но пока что к нему больше вопросов чем реальной осязаемой для бизнеса пользы.

В конце концов попробуй объясни менеджменту зачем всей команде сейчас учиться писать на компоузе если все текущие задачи мы можем сделать "старым" способом :)

Поэтому лично мне не нравится все эти излишне позитивные и поверхностные статейки про компоуз, добавляйте хоть долю реалистичной критики. Давайте все дружно чаще забрало протирать чтобы от хайпа не запотевало.

Полноте, о какой объективности речь, это же стандартный стиль восторженного повествования о новой вундервафле: котлин - "интуитивно понятный", корутины - "интуитивно понятные", теперь вот это.

По большей части я согласен. Любая новинка должна тщательно тестироваться и критиковаться, но тот факт, что инструмент ещё новый, не говорит о том, что его не стоит пробовать. С наличием решений проблем пока не возникало, помимо того на официальном сайте Android разработки есть хорошая документация (хотя возможно у меня не было достаточно сложных экранов). Главное понять принцип, а дальше всё идет по накатанной. И да, к нему нужно привыкать и в большинстве случаев это дело вкуса.

Я немного офигел когда узнал что Compose использует тот же skia что и flutter. И подход к построению очень похожий. Почему JetBrains просто не прикрутят kotlin k flutter - я не знаю (

потому что flutter это гугл
а котлин это jetbrains)

А вообще флуттер это дарт фреймворк и он не совместим с котлин
он только компилируется в джава

Видимо нужно полностью переписывать flutter под котлин

Flutter (а точнее dart) компилируется в натив на андроиде, в apk попадает *so под разные архитектуры, на стороне джавы написана обертка, которая эти сошки загружает, создает view и на ней уже флаттер рисует через skia.

Compose же на андроиде использует стандартные механизмы отрисовки, а skia используется только для desktop'a, через обертку которую делает JetBrains, но это пока альфа версия.

Очень странный бечмарк, compose наверное быстр, но больше похоже на что Jetpack Benchmark не умеет работать с Compose и там код не запускался вообще, слишком большая разница.

Я использовал правило, которое создаётся при помощи createAndroidComposeRule. Оно как раз нужно для установки compose-контента в активити. Плюс на тестах видно, что экран прогружается.

Именно из-за «интуитивности» Compose есть целые циклы статей о том, что такое «remember», как избежать рекомпозиции, как, черт возьми, делать альтернативные лэйауты для разных видов экранов устройств и landscape/portrait, как по человечески работать с темами и делать анимации/drag'n'drop/bottomsheet и прочие вещи, которые в обычных вьюхах давно тривиальны и т.д.

А то классное чувство когда сидел изучал несколько дней и думаешь что вот уже получается, и стейты наконец осознал и понял... И тут случайно попадаешь например р на страничку про сайд-эффекты в компоузе и понимаешь как же много тебе ещё вникать :)

Считаю Compose амбициозным проектом, который должен охватить довольно широкий функционал. Поэтому да, прочитать достаточное количество документации и статей, чтобы его хорошо освоить, придётся. Субъективно по базовым механизмам интуитивно понятно. Его как минимум стоит попробовать, а использовать ли на проде — другой вопрос.

Хе-хе, реакт с хуками наконец-то и до мобилок добрался. Разве что реализация хуков здесь гораздо более правильная, из-за того что используется плагин для компилятора.

minSdkVersion 21

не самый лучший стимул для перехода на Jetpack Compose, далеко не все могут проигнорировать пользователей старых версий android учитывая, что статистика по приложению подсказывает несколько менее оптимистичный расклад по версиям чем подсказка Android Studio при создании проекта.

бещает быть революцией в построении UI

Расскажите это QML, которому 12 лет

Современные мобильные разработчики тогда только школу заканчивали :)

Преимущества XML.

  1. Четкое разделение UI и логики

  2. Легкая читаемость сложных UI

  3. Мгновенное применение изменений (не нужно перекомпилировать)

  4. Можно перейти к элементу просто нажав на часть UI в превью.

    Как по мне навешать слушателей во фрагменте легче чем найти нужный кусочек в файле с 1000+ спагетти кода, найти как он хранит свои переменные, чтобы привязать к вью модели. Но если там вдруг где то завалялся remember ломать голову почему ui не реагирует на нажатие. Еще из минусов, что каждый элемент пишется без какого либо класса, что порой вызывает плохие последствия.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий