
State Management in Vue: Vuex vs. Pinia
Vuex vs. Pinia explained with real trade‑offs, including API design, TypeScript ergonomics, migration paths, and when each choice still makes sense.
Articles
Vue.js is a progressive JavaScript framework designed for building user interfaces. It is often praised for its simplicity and flexibility, offering an approachable learning curve whilst still being powerful enough for complex applications. Vue adopts a reactive data model and a component‑based architecture, making it a popular choice for developers who want a balance between performance and ease of use.
Below you will find a subset of articles from my blog specifically about Vue.js. This is an area that I have worked with for many years, and have managed to write about quite a few times. There are fifteen collected together for you below.

Vuex vs. Pinia explained with real trade‑offs, including API design, TypeScript ergonomics, migration paths, and when each choice still makes sense.

How to test Vue components with Vue Test Utils using realistic interactions, focused assertions, better test boundaries, and less brittle design.

Managing routes in large Vue applications can become challenging. Here, I share practical best practices for structuring Vue Router to keep apps organised.

How to implement server‑side rendering in Vue, with a clearer mental model for hydration, data loading, caching, and where SSR actually pays off.

How to create custom Vue directives for DOM‑level behaviour, without reaching for them when a component, prop, or composable would do better in real interfaces.

Build a reusable Vue 3 composable with the Composition API, covering side effects, useOutsideClick, browser boundaries, typing, and testability well.

provide/inject API: When and How to Use ItWhen Vue provide/inject is the right tool, how to keep it reactive, and where it fits better than props or a full store in larger component trees.

Vue 3 replaces Vue 2's getters and setters with JavaScript proxies. This article explains how they differ and why proxies improve Vue's reactivity system.

Optimise Vue.js performance with lazy loading and code splitting, covering route‑level chunks, async components, bundle strategy, measurement, and UX.

How Vue Suspense handles async components and loading states, where it helps, where it falls short, and what still needs extra care in production.

How to use Vue Teleport for modals and portals, whilst keeping overlays accessible, maintainable, correctly layered, and out of awkward DOM nests.

The Vue 3 Composition API explained with practical TypeScript examples, refs, composables, reactivity, and when the pattern genuinely helps larger components.

Automate copyright year updates across JavaScript, React, Angular, Vue, jQuery, PHP, and WordPress so footers do not go stale each January across stacks.

Compare React, Vue, and Angular across ecosystem, learning curve, state, templates, team fit, SEO concerns, and how to choose a front‑end framework.

JavaScript frameworks streamline development with reusable components, state management, and optimised rendering. Here, I compare React, Vue.js, and Angular.