Пишу серьезный проект и выбираю технологию на будущее.
Бек на laravel + nodeJS, фронт на vue. После опыта разработки проекта, изначально написанного без глобального store, я понял, что это абсолютно необходимо. Причем не только глобальный, но и локальный, с геттерами-сеттерами-методами.
Посему нашел такую штуку как VueX, но она мне сразу не понравилась своей запутанностью и дублированием методов, как и Тейлору Отвеллу. От него решений я пока не вижу, так что пытаюсь искать сам.
vue-stash - слишком простой. По факту - вынесенное data в переменную, не катит.
Есть ли другие варианты? Так ли плох VueX, или я так подумал из-за неопытности в этой теме?
Есть ли готовые решения с выбранными библиотеками (репо vue-awesome не пойдет)?
Так ли плох VueX, или я так подумал из-за неопытности в этой теме
Скорее всего из-за неопытности. Vuex прекрасен и прост в использовании. Разбиваете структуру логически на файлы, собираете в модули и используете. Просто попробуйте пару дней вникнуть подробнее. Озарение наступит ))
Мне кажется вам просто нужно попробовать. На нем сильно проще и меньше писать чем на том же redux. Это однозначно самый правильный выбор, имхо, для vue на данный момент, если вы хотите хранить состояние в одном месте. Map getters, mapsetters позволяют проксировать функции из хранилища. Геттеры позволяют не писать повторно функции извлечения данных из хранилища в разных компонентах. Эта либа будет наверняка развиваться и поддерживаться синхронно с vue. Вообщем, у вас нет других вариантов)
Особенно мне понравилось в vuex как меняется состояние: вызываем действие -> действие вызывает мутацию -> мутация изменяет состояние. По началу все хорошо, но чем больше проект тем все становится запутанней
Alex Wells: если честно, мне больше всего нравится vuex. Да, он не без шероховатостей в подключении, но хотя бы нету столько бойлерплейта, как с redux, и вся бизнес-логика оказывается в маленьких чистых функциях.