Зачем Pinia, если можно написать свой стор?
Захотелось ответить на очень однобокий взгляд вот здесь - https://t.me/vuejs_ru_feed/37
Во-первых, это не велосипед, а решение под нужды своего проекта.
1. "Унификация и единый API". А давайте всех побреем и будем ходить строем. Сперва под Options API ходили, под Mixins API, под Vuex API, а теперь под Pinia API. Все, что было раньше и теперь на свалке, очевидно, было сразу плохо и временно, а вот Pinia API - это круто и навсегда, конечно
2. Нет, копию Pinia делать - это глупо. И никто это не делает. Надо решать задачи приложения, и без ограничений "единого API Pinia" они решаются проще, удобней, правильней и намного более функциональней при необходимости
3. Кроме ES модулей реализовать паттерн Singleton можно еще несколькими способами, если в этом есть необходимость по архитектуре приложения.
4. BFF SSR - зло и труп. Оставьте его врагам.
5. Какая-то надуманная проблема. Вы пишете сайты на десятки тысяч DOM элементов, а потом беспокоитесь, очистит ли GC покупательскую корзину, на которую [не] осталось ссылок?
6. А зачем очищать "глобальный стор"? Что под этим имеется ввиду, и как часто это надо делать?
Еще раз, если у тебя в реактивных переменных столько данных, что они съедают значительную часть памяти веб-приложения и тормозят его - значит ты делаешь что-то не так. Эван для этого и придумал Reactivity API, возможности которого Pinia сильно обрезает.
И, нет, память это не освободит, а пометит для GC, который вряд ли на этом сработает в большинстве случаев.
7. Почему они должны быть объединены?
9. Реклама чужих велосипедов, таких же порой неправильных, тормозных и ненужных, как и во VueUse, в попытке сделать из Vue конструктор для вкатунов
10. Такое пишут люди, которые привыкли к Pinia и к её формату. Никаких проблем в работе в DevTools с обычными ("глобальными") реактивными переменными нет.
Ну и определять архитектуру приложения на основе своих предпочтений работы в DevTools - такое.
—
У не-Pinia решений есть плюсы. Ты не ходишь строем, а ходишь, как тебе удобно, используя в полной мере Vue Reactivity API.
—
На самом деле в оригинальном посте пропущен главный пункт, такой же как с Накстом:
11 . Когда в команде много слабо квалифицированных программистов, которые могут написать дичь, удобно всем ходить строем.
Ответ:
11. Повышайте уровень своих джунов до уровня проекта, а не опускайте проект до уровня джунов.
#pinia #reactivity
Захотелось ответить на очень однобокий взгляд вот здесь - https://t.me/vuejs_ru_feed/37
Во-первых, это не велосипед, а решение под нужды своего проекта.
1. "Унификация и единый API". А давайте всех побреем и будем ходить строем. Сперва под Options API ходили, под Mixins API, под Vuex API, а теперь под Pinia API. Все, что было раньше и теперь на свалке, очевидно, было сразу плохо и временно, а вот Pinia API - это круто и навсегда, конечно
2. Нет, копию Pinia делать - это глупо. И никто это не делает. Надо решать задачи приложения, и без ограничений "единого API Pinia" они решаются проще, удобней, правильней и намного более функциональней при необходимости
3. Кроме ES модулей реализовать паттерн Singleton можно еще несколькими способами, если в этом есть необходимость по архитектуре приложения.
4. BFF SSR - зло и труп. Оставьте его врагам.
5. Какая-то надуманная проблема. Вы пишете сайты на десятки тысяч DOM элементов, а потом беспокоитесь, очистит ли GC покупательскую корзину, на которую [не] осталось ссылок?
6. А зачем очищать "глобальный стор"? Что под этим имеется ввиду, и как часто это надо делать?
user = null;
- это очищение стора? Свой стор не очищается при необходимости одной строчкой?Еще раз, если у тебя в реактивных переменных столько данных, что они съедают значительную часть памяти веб-приложения и тормозят его - значит ты делаешь что-то не так. Эван для этого и придумал Reactivity API, возможности которого Pinia сильно обрезает.
И, нет, память это не освободит, а пометит для GC, который вряд ли на этом сработает в большинстве случаев.
7. Почему они должны быть объединены?
9. Реклама чужих велосипедов, таких же порой неправильных, тормозных и ненужных, как и во VueUse, в попытке сделать из Vue конструктор для вкатунов
10. Такое пишут люди, которые привыкли к Pinia и к её формату. Никаких проблем в работе в DevTools с обычными ("глобальными") реактивными переменными нет.
Ну и определять архитектуру приложения на основе своих предпочтений работы в DevTools - такое.
—
У не-Pinia решений есть плюсы. Ты не ходишь строем, а ходишь, как тебе удобно, используя в полной мере Vue Reactivity API.
—
На самом деле в оригинальном посте пропущен главный пункт, такой же как с Накстом:
11 . Когда в команде много слабо квалифицированных программистов, которые могут написать дичь, удобно всем ходить строем.
Ответ:
11. Повышайте уровень своих джунов до уровня проекта, а не опускайте проект до уровня джунов.
#pinia #reactivity
Telegram
Vue Feed - Канал русскоговорящего сообщества
Зачем Pinia, если можно написать свой стор?
!store #help
Во-первых, это прежде всего велосипед - мы пишем свое собственное решение, которое делает то же самое, что и Pinia.
Во-вторых, у этого велосипеда будет масса недостатков по сравнению с готовым решением:…
!store #help
Во-первых, это прежде всего велосипед - мы пишем свое собственное решение, которое делает то же самое, что и Pinia.
Во-вторых, у этого велосипеда будет масса недостатков по сравнению с готовым решением:…
👍9👎9❤1🔥1