vuex
ποΈ Centralized State Management for Vue.js. (by vuejs)
apollo
π Apollo/GraphQL integration for VueJS (by vuejs)
vuex | apollo | |
---|---|---|
90 | 8 | |
28,458 | 6,045 | |
0.1% | 0.2% | |
2.5 | 7.5 | |
6 months ago | 10 days ago | |
JavaScript | TypeScript | |
MIT License | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
vuex
Posts with mentions or reviews of vuex.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2025-02-26.
-
The problem with indirections
Something I have already seen in many different code bases using frontend libraries like React and Vue is that developers use advanced state management solutions (e.g. Redux, Vuex, or Pinia) way too often.
-
2024 Nuxt3 Annual Ecosystem Summaryπ
Document address: Vuex official document
-
Code Refactoring: Avoid Prop Drilling in Vue with Provide/Inject
To avoid prop drilling we can make use of state management library like Vuex and Pinia, but for this article I will demonstrate of using Vue provide and inject. Let's refactor our components.
-
Comparing Frontend Technologies: ReactJS vs VueJS
Flexibility: Vue is also flexible but provides more built-in solutions out of the box, such as Vue Router for navigation and Vuex for state management. This can reduce the need for additional libraries and make development more straightforward.
-
You no longer need Vuex / Pinia for shared state in Vue.
If you have been using Vue.js before 3.x you are probably familiar with Vuex now renamed Pinia. It allows you to have a centralized state that is shared across all your application components. If you have ever found yourself in situations where you are passing data/props between components and things are getting complicated, a centralized state is the answer.
-
How to Protect State in Pinia
Pinia is a relatively new state management tool for the Vue ecosystem. It is the new preferred state management tool recommended by the Vue core team replacing Vuex. Compared to Vuex, Pinia is type-safe by default (direct-vuex was needed to make Vuex type-safe), extremely lightweight, and modular by design (meaning you can create multiple stores instead of multiple modules inside one store, which optimises performance). Similar to Vuex, Pinia has state, computed properties (getters) and methods (mutations and actions). Read more about Pinia and its usage to understand the similarities and differences between Pinia and Vuex.
-
React or Vue, which JS framework is best?
Vue.js also offers built-in features like animation and state management through Vuex which serve a wide range of development needs.
-
Vue 3 vs Vue 2 so far? What's your opinion? Things I didn't like about Vue 3 compared to Vue 2
I really liked the idea of how all the core Vue libraries are maintained by Vue team themselves, making Vue feels like an all-in-one package instead of infinite npm install to add multiple community/personally maintained repos which often caused issues because they don't blend together. And now Pinia will be officially replacing Vuex, making me doubt if it'll be as reliable as Vuex.
-
A guide to Vue Lifecycle hooks.
Vuex: https://vuex.vuejs.org/
-
Which one is the favor?
Pinia. No discussion. Have you checked the Vuex website? It says Pinia is default. https://vuex.vuejs.org/
apollo
Posts with mentions or reviews of apollo.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-10-22.
- Is there a Nuxt API Resource approach?
-
What are the best practices with Nuxt3
Is this what apollo-components is all about? https://github.com/vuejs/apollo Bulletproof is based on a REST API, so if GraphQL is the backend, this would be a great choice!
- GraphQL set up with NuxtJS
-
Nuxt 3 + Apollo
If you're set on using both Nuxt 3 and Vue Apollo, I'd recommend not using the Nuxt Apollo module, and instead integrating Vue Apollo directly: https://github.com/vuejs/vue-apollo
-
Defining many controllers for a model for different API endpoints each requiring its own subset of fields of the model thus ensuring that DB querying is optimized and that no bandwidth is wasted serving up unnecessary data that is not to be rendered
Cool, if you do go with graphql, I'd recommend vue-apollo on the client end. Combine with @vue/apollo-composable and graphql-codegen and it feels like sorcery.
-
Fullstack with vue CRUD frontend and graphql backend... struggling with frontend state ideas
Frontend is vuejs 2 that was scaffolded with vue-clu and is a CRUD site for the backend. I planned on using vue-apollo for the frontend to easily connect to graphql backend, I was especially excited to learn that vue-apollo handles most of the state and caching and decided to try it instead of vuex for state. I've hit a couple snags though and am beginning to think that vue-apollo isn't the right way to approach this (plus their documentation leaves much to be desired). Here's where I'm at:
-
Top 20+ vue.js frameworks and libraries for your next project
You might have heard lots of buzz around GraphQL, and if you are interested in integrating it with Vue.js, then I would like to suggest you try Vue Apollo. The library makes use of Vue in the combination of GraphQL/Apollo for a smooth as well as a pleasant experience. To get startedClick here
-
Why is graphql-tag needed for Vue Apollo?
I'm learning GraphQL and every tutorial/vid I look at in relation to using Apollo with Vue seems to involve this other package, graphql-tag. But no one ever seems to explain why it's needed, and it's not listed as a dependency of Vue Apollo. So can anyone tell me precisely why graphql-tag is needed, and whether Apollo can work with Vue without it? Essentially, is it required (and if so why isn't it listed as an Apollo dependency?) or optional?
What are some alternatives?
When comparing vuex and apollo you can also consider the following projects:
ao-loot-logger-viewer - AO Loot Logger Viewer
urql - The highly customizable and versatile GraphQL client with which you add on features like normalized caching as you grow.
pinia - π Intuitive, type safe, light and flexible Store for Vue using the composition api with DevTools support
swrv - Stale-while-revalidate data fetching for Vue
uuix - A tiny (<1KB) and fast UUID (v4) generator for Crystal
react-query - π€ Powerful asynchronous state management, server-state utilities and data fetching for TS/JS, React, Solid, Svelte and Vue. [Moved to: https://github.com/TanStack/query]