Size: a a a

AngularPiter - русскоговорящее сообщество

2018 October 09

AA

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

AA

Artyom Andreev in AngularPiter - русскоговорящее сообщество
можно посмотреть в сторону akita
источник

Вキ

Вертихвост キバ in AngularPiter - русскоговорящее сообщество
ngrx накладывает множество ограничений на возможности расширения вашего приложения. Основная и самая главная проблема, что все ваше состояние хранится в рутовом скоупе. Это значит, что так или иначе вам придется писать/генерировать лишний бойлерплейт.

Такие решения хорошо подходят для хранения каких-то общих и глобальных данных. Например, различные конфиги, счетчики и прочее. Поэтому очень не рекомендую рассматривать ngrx и ngxs с точки зрения основного стейт менеджера для своего приложения.

С Akita ситуация обстоит гораздо лучше, так как она позволяет делить состояние приложения на различные сторы. Но это все еще не избавляет от ряда проблем, например, у вас не будет возможности налету создавать новые сторы для управления состояниями ваших компонентов.

Так же есть angular-ngrx-data, который сам генерирует бойлерплейт для вложенных стейтов.

Поэтому, если:
— стейтов будет мало, то ngrx/ngxs вполне подойдут;
— стейтов будет больше и потребуются новые, то ngrx+angular-ngrx-data/Akita;
— стейтов будет много, то Akita, а ngrx будет серьезно проседать по производительности;
— если требуется динамика, то ниодно из этих решений не подходит.

Так же очень рекомендую посмотреть на GraphQL, redux (не ngrx), так как они дают большую гибкость для построения архитектуры вашего приложения. И важно принимать решения исходя из задач, которые будет решать приложение. Не стоит забывать, что возможно и обычные сервисы подойдут.
источник

АП

Александр Приходько 🚀 in AngularPiter - русскоговорящее сообщество
Спасибо огромное за развернутый ответ!
источник

АП

Александр Приходько 🚀 in AngularPiter - русскоговорящее сообщество
Посматривали также в сторону GraphQL и Apollo
источник

GK

Georgii Klubnikov in AngularPiter - русскоговорящее сообщество
Александр Приходько 🚀
Всем привет!
Стою перед выбором либы для стейт менеджмента в Angular. Стартуем в компании новый крупный проект. Хорошо знаком с NgRx, и вот нравится насколько сокращается бойлерплейт в NGXS. Но нет опыта разработки с NGXS и есть опасения, что можно столкнуться с какими-то непредвиденными проблемами. Плюс разработчиков немного переучивать придется. Пересмотрел несколько докладов и статей на тему сравнения и, кажется, все аргументы довольно субъективные.
Есть у кого опыт перехода/использования NGXS после NGRX? Можете подсказать, куда стоит склоняться и какие подводные камни могут ожидать?
Заранее благодарен!
Раз хорошо знакомы с ngrx берите его с ngrx-data, пока немерее уже есть много энтерпрайзных бест практис , будет проще заниматься поддержкой
источник

GK

Georgii Klubnikov in AngularPiter - русскоговорящее сообщество
И да, если есть возможность подцепить графкюэль, то от редакса можно отказаться
источник

АП

Александр Приходько 🚀 in AngularPiter - русскоговорящее сообщество
Спасибо)
источник
2018 October 10

АС

Александр Семенов in AngularPiter - русскоговорящее сообщество
Я конечно может что то путаю, но разве GraphQL - это не просто "синтаксис с помощью которого нужно запрашивать данные", а сторы - это сохранения определенного состояния, например, "сохранение выбранного элемента из какого либо списка для дальнейшего его использования в других модулях, сервисах, компонентах приложения"?
источник

Вキ

Вертихвост キバ in AngularPiter - русскоговорящее сообщество
Александр Семенов
Я конечно может что то путаю, но разве GraphQL - это не просто "синтаксис с помощью которого нужно запрашивать данные", а сторы - это сохранения определенного состояния, например, "сохранение выбранного элемента из какого либо списка для дальнейшего его использования в других модулях, сервисах, компонентах приложения"?
Не путаете. Дописывать все равно придётся :)
источник

АС

Александр Семенов in AngularPiter - русскоговорящее сообщество
Вертихвост キバ
Не путаете. Дописывать все равно придётся :)
https://t.me/angular_piter/1639 - я больше на это сообщение пытался дать ответ, что это разные понятия...

Спасибо.
источник

GK

Georgii Klubnikov in AngularPiter - русскоговорящее сообщество
Александр Семенов
Я конечно может что то путаю, но разве GraphQL - это не просто "синтаксис с помощью которого нужно запрашивать данные", а сторы - это сохранения определенного состояния, например, "сохранение выбранного элемента из какого либо списка для дальнейшего его использования в других модулях, сервисах, компонентах приложения"?
не путаете, все верно, но использование контекстного api дает возможность построения более леггкой архитектуры стейт менеджера чем существующие решения
источник

АС

Александр Семенов in AngularPiter - русскоговорящее сообщество
Georgii Klubnikov
не путаете, все верно, но использование контекстного api дает возможность построения более леггкой архитектуры стейт менеджера чем существующие решения
Иногда(в большинстве случаев с которыми я сталкивался) на backend нет возможности повлиять...
источник

GK

Georgii Klubnikov in AngularPiter - русскоговорящее сообщество
ну это просто сейчас такое сложившееся положение вещей и текущий уровень технологий =) графкуэль новая вещь и она дает возможность реализовывать новые концепты которые раньше были невозможны
источник

Вキ

Вертихвост キバ in AngularPiter - русскоговорящее сообщество
Все было возможно, просто никто не заморачивался :)
источник

DT

Dmitry Teplov in AngularPiter - русскоговорящее сообщество
Александр Семенов
Иногда(в большинстве случаев с которыми я сталкивался) на backend нет возможности повлиять...
смотря как разработку вести
у меня в основном параллельно бэк с фронтом пилится, всё можно обсудить
источник

АС

Александр Семенов in AngularPiter - русскоговорящее сообщество
Dmitry Teplov
смотря как разработку вести
у меня в основном параллельно бэк с фронтом пилится, всё можно обсудить
У меня так же но ввиду своеобразного "консерватизма" разработчиков бека - что то новое практически под запретом
источник
2018 October 12

АД

Александр Духовняк in AngularPiter - русскоговорящее сообщество
источник
2018 October 18

A

Artem ッ in AngularPiter - русскоговорящее сообщество
Доброе утро, кто то использовал storybook?
источник

АД

Александр Духовняк in AngularPiter - русскоговорящее сообщество
Доброе!
Кто-то использовал. Вопрос в чем?
источник