You can hire the same group of developers for building both the back end and front end. The team’s agility level and understanding of the project will be way higher.
Back when I started a Vue Storefront project, I got so many questions about why we chose Vue over React that I even wrote a post on that. After three years from the initial discussion, let’s verify it once again.
Why is Vue.js the best framework for your next business project?
Because it’s not React
When we’ve got just three key frameworks, you can be sure that most of the developers have at least a feeling, or maybe even stronger opinions, about all of them. Maybe they used React or Angular in a previous project? I mean, React, at some point, gained so much popularity that quite a lot of folks were just willing to change the tech stack and try something new. Especially because of one big thing.
Vue.js is simpler
React was started as a UI rendering library, so the core framework is pretty simple. It started with just a few best practices, and because of its simplicity, it left a lot of space for complementary projects, likestate management, server-side rendering, etc. That makes it a truly vibrant, yet complex, open-source ecosystem, specifically for the newbies.
In Vue.js, the ecosystem of projects is less granular with stronger leaders. For example, Nuxt.js for server-side rendering. Because of that, it’s way more coherent. It’s more like .NET or Python than it’s like Java. This coherency makes it way easier to navigate and to make project decisions.
The learning curve is less steep
When you take a look at the eCommerce talent pool , many developers coming from classical platforms, like Magento, Prestashop , or even Shopify, are looking for a framework that gives them the feeling of being productive from day one. Here comes Vue.js , which straddles the line between Angular’s complexity and React’s simplicity. With over 55 front-end devs at Divante, we’ve noticed that the learning curve for React is much steeper. Vue.js is much more fun.
The Vue.js docs are super easy to use. If you put even a junior developer, without the Vue.js experience, on a new project, I bet that after just three to five days they’ll be productive.
Vue comes with the CLI and GUI tools plus tons of boilerplates to start out your next project. That makes developers’ lives much easier. Vue dev tools, including Vuex support and UI tree support, make it a great proposition too.
The alternative to React’s Next.js is NuxtJS. Maybe in the early days, they were copying Next features. But shortly after the first releases, it became clear that both frameworks are growing, vibrant communities. That led to it being developed in slightly different ways. That’s been great for the creation of these two leaders.
NuxtJS’ initial value proposition was server-side rendering and the server-side generate feature, which made it the default choice for the JAM Stack sites based on Vue. It was kind of Rails for Ruby. Right now, the growing marketplace of Nuxt modules makes it the default framework for any Vue-based application.
Yeah ;) Vue Storefront (VSF) is potentially the most developer-friendly front-end option for eCommerce projects at the moment. With a super vibrant community, the Next version supports platforms like commercetools, Magento, and Shopify out of the box. VSF is backed by YCombinator and growing really fast. It’s probably the quickest way to build the eCommerce front end in headless architecture.
A fun fact is that I’ve already attended quite a few Scoping Session Workshops where the attitude towards the framework has changed over time. It’s gone from “Let’s build the custom React app” to “Wow, I wasn’t aware that Vue is so cool. We’re going to use Vue Storefront instead.”
Vue 3 feature: Composition API
A new feature of Vue 3 is the composition API, which is a kind of an answer to React hooks. You don’t have to use Vuex to manage the application state anymore. Composition API brings a new way for managing the reactivity, passing data by reference, and creating the standalone computed values.
Vue 3 feature: Teleports
The new <teleport> element gives component developers more flexibility of the overall page HTML/DOM management from within a single component. You can “teleport” some child elements to any place of the DOM you like. For example, your popup component can render itself into the end of the <body> section no matter where it was initially placed.
Here’s an example: