Size: a a a

Android Architecture

2020 August 26

S

Sergey Mitrofanov in Android Architecture
Singular
Ну навигацию между экранами берет на себя слой Presenter, а в чем там могут быть трудности? Делать все через фрагменты и все
Я не о навигации.
Трудности могут быть в неучтенных состояних и их связи с жизненным циклом отдельных презентеров.
Например, когда я писал видеочат, то там просто невозможно было обойтись без отдельного слоя для всей этой запутанной логики в реалтайме: кто с видео, кто без, кто онлайн, кто только с аудио и пр. И все это должно быть между собой синхронизированно между разными экранами и диалогами в списках порой по 100+ записей.
источник

S

Sergey Mitrofanov in Android Architecture
Так что все сильно зависит от конкретного проекта )
источник

S

Singular in Android Architecture
Roman Chumachenko
Ох не знаю, такая спорная штука. Вроде и легче делает некоторые вещи, а вроде лучше бы руками дергал фрагменты. Хочу теперь Цицерон попробовать
Я навигацию юзал и чеерз EventBus, Cicerone, Самописный, и скажу так, Да Nav не идеален, доработки нужны.
Но он реально упрощяет навигацию и ты в реалтайме видишь навигацию.

EventBus это ад, для навигации точно не подходит.

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

Самописный это круто, но надо оч хорошо знать все ситуации или писать их походу

А с Nav реально просто, даже не знаю почему) Просто все работает как надо)
Просто бывают моменты когда нужно правильно и логично построить эту нафигацию, не только через фрагменты, а через ViewPager допустим и прочие компоненты.
источник

S

Singular in Android Architecture
Sergey Mitrofanov
Я не о навигации.
Трудности могут быть в неучтенных состояних и их связи с жизненным циклом отдельных презентеров.
Например, когда я писал видеочат, то там просто невозможно было обойтись без отдельного слоя для всей этой запутанной логики в реалтайме: кто с видео, кто без, кто онлайн, кто только с аудио и пр. И все это должно быть между собой синхронизированно между разными экранами и диалогами в списках порой по 100+ записей.
А в чем проблема создать все, а потом для каждого отключить то что не юзается?
источник

S

Singular in Android Architecture
А каждый компонент отдельно делать
источник

RC

Roman Chumachenko in Android Architecture
Singular
Я навигацию юзал и чеерз EventBus, Cicerone, Самописный, и скажу так, Да Nav не идеален, доработки нужны.
Но он реально упрощяет навигацию и ты в реалтайме видишь навигацию.

EventBus это ад, для навигации точно не подходит.

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

Самописный это круто, но надо оч хорошо знать все ситуации или писать их походу

А с Nav реально просто, даже не знаю почему) Просто все работает как надо)
Просто бывают моменты когда нужно правильно и логично построить эту нафигацию, не только через фрагменты, а через ViewPager допустим и прочие компоненты.
Мои моменты счастья, это когда из кода приходилось подменять основной фрагмент стека. Или я дурак, или это было не самое очевидное)
А вообще понимаю, event bus для навигации даже звучит больно
источник

S

Singular in Android Architecture
Roman Chumachenko
Мои моменты счастья, это когда из кода приходилось подменять основной фрагмент стека. Или я дурак, или это было не самое очевидное)
А вообще понимаю, event bus для навигации даже звучит больно
Ну вот, в таких случаях оч помогает Редактор Nav
источник

AC

Arsen CeH9 in Android Architecture
> Cicerone хороша, но юзать либу для архитектуры это слишком. 

либа юзается не  "для архитектуры", она решает конкретные проблемы, в частности с лайфсайклом
источник

AC

Arsen CeH9 in Android Architecture
Sergey Mitrofanov
Да еще и с маппингами между слоями иногда...
чем плох маппинг?
источник

S

Singular in Android Architecture
Arsen CeH9
> Cicerone хороша, но юзать либу для архитектуры это слишком. 

либа юзается не  "для архитектуры", она решает конкретные проблемы, в частности с лайфсайклом
В чистом коде об этом говорится, что юзать либу для построеняия архитектуры это ужасно. Особенно не оффициальную
источник

AC

Arsen CeH9 in Android Architecture
Singular
В чистом коде об этом говорится, что юзать либу для построеняия архитектуры это ужасно. Особенно не оффициальную
а еще там говорится, что можно любую либу отгородить абстракцией (интерфейсом)
источник

AC

Arsen CeH9 in Android Architecture
я бы не стал приписывать большое "влияние" на архитектуру факту наличия либы типа cicerone
источник

AC

Arsen CeH9 in Android Architecture
как показывает практика: официальный еще не значит, что качественный
источник

AC

Arsen CeH9 in Android Architecture
к слову, архитектуру на фрагментах гугл подсмотрел у комьюнити
источник

S

Singular in Android Architecture
Arsen CeH9
а еще там говорится, что можно любую либу отгородить абстракцией (интерфейсом)
Там все абстракицей можно одгородить, в итоге получитеся Clean Abstactions
источник

S

Singular in Android Architecture
Arsen CeH9
к слову, архитектуру на фрагментах гугл подсмотрел у комьюнити
Ну больше он у iOS взял. Да и многое оттуда он берет
источник

D

Donald in Android Architecture
Чичероне просто классно вписывается в клин, зачем изобретать свое если уже реализовали нормально
источник

D

Donald in Android Architecture
Андроид бойлерплейт отдельно и на выходе удобный интерфейс роутера
источник

D

Donald in Android Architecture
Или навигатора
источник

D

Donald in Android Architecture
Изи
источник