Можете объяснить в двух словах почему всем так не нравится

гугловая навигация? Сам на композе приложения ещё не делал, изучаю стек

9 ответов

15 просмотров

Композовскую навигацию большинство просто не умеют готовить и ругаются на неё. Мне она как ни странно, понравилась, после того как добавил немного своих абстракций. Из минусов композовской навигации от гугл: - Нельзя передавать тяжёлые объекты между экранами Остальные минусы либо решаемы, либо и вовсе ими не являются: - Плохо подходит для многомодульности (не все умеют его готовить, на самом деле отлично ложится на многомодульность) - Очищается UI прошлого экрана при навигации. Мне кажется, что с этим нужно просто научиться работать, так как в Compose любая навигационная библиотека будет очищать прошлый экран - Навигация происходит только из UI слоя (эта проблема решаема абстракциями)

Vitaly Peryatin
Композовскую навигацию большинство просто не умеют...

По поводу передачи объектов, я же правильно понимаю что там лимиты такие же как и у xml? Типа не передавай объекты превышающие лимит бандла и все будет хорошо, а для всего остального есть вьюмодель

Дмитрий Рубцов 👨‍💻
По поводу передачи объектов, я же правильно понима...

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

Vitaly Demidenko
При каких сценариях очищается?

При переходе на следующий экран Composable функция предыдущего экрана всегда очищается из дерева (не видна на экране и вызывается onDispose)

не типобезопасна все время баги, баги, баги все время надо какие-то костыли пилить, лазить по сэмплам гугла, код которых хрен поймешь, да они еще и не работают полностью как надо (мультибэкстэк с боттомнавигейшном тот же) дурацкие флаги

Vitaly Peryatin
Композовскую навигацию большинство просто не умеют...

В Decompose можно сделать так, чтобы предыдущий экран не очищался

Silent829
не типобезопасна все время баги, баги, баги все вр...

вертикальные навхосты, горизонтальные навхосты NavController NavType BackStackEntry NavigationUI…(…) хочешь анимации - бери аккомпанист еще впридачу

Похожие вопросы

Обсуждают сегодня

что насчет пагинга? на осдеве непонятно(
Vi Chapmann 🪙
26
что лучше для раста, Clion или IntellJ IDEA?
dbxty
11
if (user?.choseType === 'oneDay') { await ctx.reply( 'Добро пожаловать в команду «Магнита»! Правда, на один день ☺️ ', ); await ctx.s...
Kokni
1
А вообще существует редактор (современный), который не позиционирует себя как "легковесный, удобный и расширяемый"?
Andrey Zgarbul
7
Продолжая диалог про свифт в проде – сейчас возник вопрос в активном наборе бекендеров. В основном в нашей компании мы фанаты Java Spring и полностью ей довольны. Однако найм ...
Guseyn
27
Читаю сейчас [нет, уже больше не читаю!] курсовую о Булгакове, написанную, похоже, с помощью ChatGPT. Это удивительный психоделический опыт. Текст в основном написан в стиле б...
✨ Uni [🌊 В отпуске]
1
Всем привет! поделитесь, пож-та, как кто дебажил / решал проблему с 504 Time out ошибкой от nginx, когда стучишься на свой vapor сервер? в логах /var/log/nginx/error.log е...
Paul
24
А кто-то пользуется хостингом в РФ здесь? Где правильно покупать сегодня VPSки с нормальным uptime провайдера? Лет 15 этого не делал - отстал.
Keiman
5
если загрузчик efi? если сама PML4 PDPT PDT PT лежит в неудобном для меня месте?
Vi Chapmann 🪙
8
Я тут пытаюсь переработать архитектуру подсистемы памяти ядра во что-то осмысленное. Есть pmm, который создает набор range’ей(пока что только для ядра, потом для юзерспейса), ...
Evg Resh
19
Карта сайта