DEV Community

Cover image for Which Frontend Framework Would You Use For an Ecommerce Storefront?
Shahed Nasser for Medusa

Posted on • Edited on

Which Frontend Framework Would You Use For an Ecommerce Storefront?

Medusa provides 2 starter storefronts for your headless commerce platform, one using Next.js and one using Gatsby. These 2 frameworks not only provide a good developer experience, but they also allow you to create fast ecommerce storefronts. This provides users with a good experience when using an online store.

In addition, as Medusa is a headless commerce platform, developers can create a custom storefront with any frontend framework of their choice. They just need to interact with the REST APIs.

If you were to create an ecommerce storefront and had full freedom to choose which frontend framework to use for the storefront, which would you pick and why?

Latest comments (56)

Collapse
 
brense profile image
Rense Bakker

Payload, vite, react, vercel, stay headless 😉

Collapse
 
booboboston profile image
Bobo Brussels

Very good stuff

Collapse
 
james_palermo_bc208e463e4 profile image
James Palermo

dotNET. Robust, well supported, expandable to massive scale, fully cross platform, and highly opinionated.

Collapse
 
shahednasser profile image
Shahed Nasser Medusa

I agree with you. And unfortunately a lot of ecommerce platforms don't give you the freedom to choose what frontend framework to use to enhance the user experience. You'll probably end up stuck with something like PHP

Collapse
 
snelson1 profile image
Sophia Nelson

Great post!

Collapse
 
merthod profile image
Merthod

NextJS has one of the strongest templates there is.

There's also another based on a real-time Node fw that adds those kinds of utilities.

NextJS FTW!

Collapse
 
goldnead profile image
goldnead

I just wrote my own shopify storefront wrapper with alpinejs on an existing site that runs on statamic. Depending on the store complexity and what stack you want/have to work with that is a lightweight and pretty flexible option.
Thought about using it with a Medusajs backend in a future project. Seems promising :)

Collapse
 
shahednasser profile image
Shahed Nasser Medusa

Sounds interesting! Looking forward to see it with Medusa

Collapse
 
danilovmy profile image
Maxim Danilov

I wrote my own e-commerce backend on python and use vuejs/nuxtjs for the frontend.

I don't understand why I need anything more than nuxtjs.
There are enough components, a large community. And it's very fast.

Does medusa have any advantages?

Collapse
 
shahednasser profile image
Shahed Nasser Medusa

It's important to point out here that the comparison shouldn't be Medusa vs python and vue.js. Medusa is composed of 3 components: the headless server, the admin panel, and the storefront.

Medusa's headless server is built with Node.js in an abstract architecture to allow developers to easily customize existing features or integrate third-party services in a plug-and-play process. Instead of being dependent on a specific service, you install an existing plugin (or create your own), add the necessary configuration and code for it, and it will run as part of Medusa.

The headless server also provides you with the freedom to connect any frontend to it uniformly. This means that the implementation for the server is not catered to a specific frontend like a website which would put mobile apps at a disadvantage, instead, the headless server handles all logic independently of what frontend is accessing it.

So, you can choose to create the frontend with Vue.js or any similar framework. There are existing starters that you can set up but you can also use your own.

I think the biggest advantage, however, is the fact that it's an open source platform. It's very cool that you created your own, but you can alternatively utilize an existing open source platform like Medusa and customize the code as you see fit. No limitations or workarounds whatsoever.

This allows you to reuse an existing platform with many ecommerce features instead of reinventing the wheel, and focus on adding your own custom features.

Collapse
 
ajshivali profile image
Shivali Pandey

I would use react or vuejs. I personally prefer vue, it is so easy and fun to use. Also passing props and data bindings are so much easier. Vue also provides you with hooks already so you would not need to create any custom hooks.

Collapse
 
shahednasser profile image
Shahed Nasser Medusa

That's cool, would you use any specific frameworks with each?

Collapse
 
satyamr123 profile image
Satyam Rajvanshi

Vue and Nuxt