DEV Community

Cover image for 🏆 Top 5 full-stack JS frameworks in 2023 - which one should you pick for your next project? 🤔
Matija Sosic
Matija Sosic

Posted on

🏆 Top 5 full-stack JS frameworks in 2023 - which one should you pick for your next project? 🤔

In this post, we'll explore five of the top full-stack JavaScript frameworks of 2023 that every developer should consider for their next project - RedwoodJS, Wasp, T3 stack, MeteorJS, and the evergreen MERN Stack.

Depending on your requirements, picking the right one could mean the difference between seamless coding experience and a daunting development chore.

Who to pick

I know how it feels! Don’t worry, all your questions are going to be answered soon - buckle up and prepare for a deep dive into the world of full-stack JavaScript!

🌲 RedwoodJS - a solid choice for GraphQL lovers

RedwoodJS is a relatively new framework conceived by Tom Preston-Werner (co-founder of GitHub). This opinionated, full-stack, serverless web application framework brings several pieces together (React, Prisma, GraphQL) to offer a wholesome development experience.

Why it’s cool: If the underlying stack works for you, you can start building immediately without spending much time on configuration. Also, the docs are top-notch and there is a helpful CLI tool that comes along.

Redwood testimonial

Check it out here: https://redwoodjs.com/

🐝 Wasp - the first AI-powered full-stack framework 🤖

Wasp is a cool new kid on the block. For example, they just released a GPT-powered app starter, which generates a full-stack app in React/Node.js/Wasp given just a short description. Wasp is in Beta, rapidly pushing towards their first 5,000 stars on GitHub. It glues React, Node.js and Prisma together in a seamless way that cuts down a lot of boilerplate.

Why it’s cool: Wasp provides a fresh approach to full-stack development via a simple config language that lets you describe common features (e.g. auth, cron jobs) at a high level, which then enables Wasp to take care of all the details for you, eliminating the need to manage boilerplate code.

Wasp_testimonial

Check it out here: https://wasp-lang.dev/

3️⃣ T3 - a fast app starter focused on type-safety

T3 is not a framework by a definition, but a collection of popular technologies aka stack. That means you might not get all the bells and whistles that frameworks pack, but on the other hand you get higher modularity. It is based on Next.js and also introduces tRPC, Prisma and Tailwind.

Why it’s cool: T3’s biggest asset is that packs together popular tools that work together well in a sensible way. It’s a no-nonsense stack that allows developers to start quickly with the preconfigured best practices, but also have the freedom to customise their stack as the project grows.

t3

Check it out here: https://create.t3.gg/

🛰 MeteorJS - the classic among full-stack frameworks

Although it doesn’t get as much publicity these days as it used to, it’s definitely still a solution worth listing here. Meteor is actually the “OG” of the idea of a full-stack framework and during its peak was the most starred GitHub project ever (40k+ stars).

Why it's cool: MeteorJS continues to be a compelling choice because of its integrated JavaScript stack that extends from the database to the client's screen. All the layers of your app, from the database to templates, are reactive and update automatically which makes development simple and efficient.

meteor

Check it out here: https://www.meteor.com/

🏆 MERN - the timeless pick

While technically a stack of technologies rather than a singular framework, the MERN stack (MongoDB, Express.js, React, Node.js) has steadily risen to prominence thanks to the standardized end-to-end JS development experience it provides.

Why it’s cool: One thing that is sure with the MERN stack is that 99% of developers out there heard of it and there is also a good chance they worked on a codebase powered by it. When you google a specific issue, there will be a dozen of Stack Overflow entries about it. Although newer solutions have appeared in the recent years, MERN is still an evergreen choice and a the staple of web app development.

mern

Check it out here: https://www.mongodb.com/languages/mern-stack-tutorial

What next? 🌯

And that’s a wrap! Hopefully this was a helpful overview that will make it easier for you to start your next project. And remember - the perfect framework isn't just about the newest tricks or the loudest buzz. It's about finding the "zone" where everything works just right for you.

Is there a stack or framework that you love and think should be mentioned here? Let me know in the comments and happy coding!

hack_planet

Disclaimer: I am one of the core maintainers at https://github.com/wasp-lang/wasp

Top comments (57)

Collapse
 
vincanger profile image
vincanger

Nice list. I'm surprised I don't see SvelteKit on here though.

Collapse
 
matijasos profile image
Matija Sosic

Yeah, in this list I was focusing on fully full-stack (missing a better word) frameworks, meaning they cover everything from the database to front-end. SvelteKit is still mostly staying on the FE afaik. But would be cool to cover in the future, I will keep it in mind!

Collapse
 
danawoodman profile image
Dana Woodman

SvelteKit + something like Supabase would check that box. It supports creating APIs, etc. Def not just for the front end

Thread Thread
 
vincanger profile image
vincanger

thanks for the info. Have been considering diving into SvelteKit for some time now...

Thread Thread
 
matijasos profile image
Matija Sosic

SvelteKit is comparable to Next/Nuxt if I got it right? Using BaaS-es is a totally legit choice but the focus of the article was on full-stack frameworks, so covering everything from db, BE and FE.

But BaaS-es would also be an interesting topic to cover, thanks for sharing!

Thread Thread
 
danawoodman profile image
Dana Woodman

Yes they're all "competitors" so to speak. Was just making the point that T3 and MERN are arbitrary stacks that people decided on, so doing SvelteKit+Supabase (or say Nuxt+Firebase) would be analogous to them

 
danawoodman profile image
Dana Woodman

Give it a shot. Hit me up on Twitter(X) or Threads @danawoodman with questions

Collapse
 
martinsos profile image
Martin Šošić

I think SvelteKit doesn't cover the database layer? What is its backend story?

Collapse
 
danawoodman profile image
Dana Woodman

You can use any DB with it, which is arguably better than a prescriptive choice.

Also, T3 is just a set of tools, so you could say SvelteKit + Supabase (or any similar provider) would be equivalent

Thread Thread
 
matijasos profile image
Matija Sosic

Well, the benefit of a prescriptive choice is that there is a deeper integration within the stack/framework. Knowing your data models, full-stack frameworks such as Redwood/Wasp can do a lot for you, like generating CRUD operations, auto-invalidate cache etc.

Thread Thread
 
danawoodman profile image
Dana Woodman • Edited

Yea, I'm just saying T3 and MERN don't have any of that built in either so SvelteKit/Nuxt/Next would be comparable to them

Collapse
 
umbrien profile image
Umbrien • Edited

as well as SolidStart or Qwik City or Remix 😁

Collapse
 
matijasos profile image
Matija Sosic

Yeah none od these take care of a database and mostly focus on FE so I haven't considered them here.

Thread Thread
 
piwizard3852 profile image
Owen Wood

What do you mean by this? ORM included? SQLite out of the box?

Collapse
 
sanjayojha profile image
Sanjay Ojha • Edited

What about NestJs and AdonisJs ?
And how wasp is compared to full stack framework from other languages? Like Laravel from PHP?

Collapse
 
matijasos profile image
Matija Sosic

that's a good question - it's a bit confusing because all these frameworks call (or used to) themselves full-stack frameworks, while nowadays they are mostly used as API servers.

NestJs, Laravel and Adonis all fall in the same category as Ruby on Rails - backend-first frameworks that also (some of them at least) support HTML generation on server via templates. So if you want to build a "modern" full-stack web app, you will still need to pair it with React/Vue/Svelte, and then some state management system (e.g. Redux) etc.

That's why I omitted them from this write up. Hope this makes sense!

Collapse
 
sanjayojha profile image
Sanjay Ojha

Ya make sense. I love Laravel. We have 3 option there

  1. Use any frontend with Laravel as API.
  2. Use IntertiaJs with vue/react FE without API
  3. Use Livewire that give SPA like feeling but there is no SPA.

Was looking something close in nodejs community, hope wasp is what I am looking for or at least closer.

Thread Thread
 
matijasos profile image
Matija Sosic

yep, I think that's a correct breakdown. Wasp is actually similar to inertia here, only focused on JS - acts as a glue, does a lot stuff for you and you don't have to deal with the API (if you don't want to).

Hope you find it helpful and feel free to ask any questions in our discord! discord.gg/rzdnErX

Collapse
 
robkane1 profile image
Rob Kane • Edited

So if you want to build a "modern" full-stack web app, you will still need to pair it with React/Vue/Svelte, and then some state management system (e.g. Redux) etc.

This just isn't true. Once upon a time - maybe, but there are many more options now. Phoenix LiveViews (and the various ports of it from Elixir to other languages), Blazor, Flutter, not to mention the multitude of wasm compilation friendly tools and even Scala and Clojure frameworks.

Reactive web UIs are not restricted to JS anymore and in many cases, JS frameworks are a bad choice. I know the article is specifically about JS frameworks, but the comments seem to be suggesting that you need to pick a JS framework to begin with.

Edit: thanks for introducing me to a couple of new ones though. JS is my bread and butter, but I find myself putting it further down the list more and more often lately.

Thread Thread
 
matijasos profile image
Matija Sosic

Totally true, I never meant to suggest JS is the only viable choice, just was trying to keep within the JS bounds since that was the premise of the article :).

What's your go-to choice for building a web app?

Thread Thread
 
robkane1 profile image
Rob Kane

Totally depends on the requirements and constraints of the web app, the business, the team, the infra etc. But in the spirit of playing along, lets say a typical, run of the mill crud type app for a start up which also has a few real time and event driven features...

100% Phoenix with Elixir. Keep in mind that I hand roll in-house isomorphic JavaScript frameworks in my sleep these days, so I am definitely not a JS hater! :D

Collapse
 
matijasos profile image
Matija Sosic

re wasp - you can imagine it like laravel, but for the modern full-stack web apps and JS world. It's in Beta so might not have all the features from e.g. Laravel, but you should be able to build what you need in 99% of cases :)

Collapse
 
brense profile image
Rense Bakker

I'm not sure if its a good idea for new developers to get into things like the MERN stack in 2023... There are a lot more job opportunities in fullstack frameworks like next/nuxt or even remix and probably even sveltekit would be more beneficial to learn compared to MERN.

Collapse
 
matijasos profile image
Matija Sosic

Good point! I agree that new(er) apps will not dominantly be on MERN, but there is still a huge amount of apps that run on that stack so thus a honorary mention. The good thing is also that once you learn React that's the knowledge that stays with you, no matter which framework you end up using :)

Collapse
 
appurist profile image
Paul / Appurist

I don't quite get how you could ignore SolidJS (and Svelte and Quik) although it seems the qualification on this list is full-stack. Some of the best choices though (at least in my opinion) don't actually even need a back-end as part of the framework at all, such as SolidJS on Supabase. Row-level security on the db takes care of all that. I find the whole idea of a full-stack a bit old-school these days.

Collapse
 
matijasos profile image
Matija Sosic

I get you! I completely agree there are other valid choices, but the focus of this article was exploring full-stack frameworks. I personally like that they bring "batteries-included" experience and, having a full picture/understanding of your app, can provide some advanced features, especially around API layer and code generation.

Collapse
 
wezea profile image
Kristof

Great list and I will definitely give them a try. I am using Remix nowadays and there ist also the concept of Remix Stacks and it is easy to build your own too.

Collapse
 
matijasos profile image
Matija Sosic

That's really cool Kristof, thanks for sharing! I like how they described each stack and named it after a music genre :).

Collapse
 
zvone187 profile image
zvone187

Great summary! I'm was just looking for boilerplate generators for react apps. Looks like wasp does that.

Collapse
 
martinsos profile image
Martin Šošić

Actually Wasp is trying to be more than a boilerplate generator and is instead trying to get rid of boilerplate! So unlike the scaffolders and similar that generate quite a lot of boilerplate, Wasp is a framework that abstracts all that away.

Collapse
 
matijasos profile image
Matija Sosic

For a quick start checkout our GPT-powered app generator: magic-app-generator.wasp-lang.dev/

Collapse
 
pazapp profile image
PaZapp

Lovely take on js

Collapse
 
matijasos profile image
Matija Sosic

Glad you like it! What's your weapon of choice?

Collapse
 
pazapp profile image
PaZapp

Yet to discover the best

Collapse
 
infomiho profile image
Mihovil Ilakovac

I haven't read about Meteor in a while, surprised to read about it now. How is it with modern tooling (e.g. Typescript and Vite)?

Collapse
 
matijasos profile image
Matija Sosic

Good question! I quickly scanned their changelog/roadmap and saw there were some tasks for improving their TS support, so I guess there is some support already there.

Collapse
 
maksim36ua profile image
Max

I've built several production—ready apps with Wasp already. One of them has been acquired.

Definitely can recommend if you need fast idea validation and prototyping

Collapse
 
matijasos profile image
Matija Sosic

That's amazing to hear! 🔥🔥🔥

Collapse
 
nevodavid profile image
Nevo David

Great list!
Thank you!

Collapse
 
matijasos profile image
Matija Sosic

Thanks Nevo, glad you found it useful :)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.