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.
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.
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.
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.
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.
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.
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!
Disclaimer: I am one of the core maintainers at https://github.com/wasp-lang/wasp
Top comments (57)
Nice list. I'm surprised I don't see SvelteKit on here though.
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!
SvelteKit + something like Supabase would check that box. It supports creating APIs, etc. Def not just for the front end
thanks for the info. Have been considering diving into SvelteKit for some time now...
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!
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
Give it a shot. Hit me up on Twitter(X) or Threads @danawoodman with questions
I think SvelteKit doesn't cover the database layer? What is its backend story?
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
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.
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
as well as SolidStart or Qwik City or Remix 😁
Yeah none od these take care of a database and mostly focus on FE so I haven't considered them here.
What do you mean by this? ORM included? SQLite out of the box?
What about NestJs and AdonisJs ?
And how wasp is compared to full stack framework from other languages? Like Laravel from PHP?
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!
Ya make sense. I love Laravel. We have 3 option there
Was looking something close in nodejs community, hope wasp is what I am looking for or at least closer.
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
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.
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?
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
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 :)
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.
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 :)
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.
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.
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.
That's really cool Kristof, thanks for sharing! I like how they described each stack and named it after a music genre :).
Great summary! I'm was just looking for boilerplate generators for react apps. Looks like wasp does that.
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.
For a quick start checkout our GPT-powered app generator: magic-app-generator.wasp-lang.dev/
Lovely take on js
Glad you like it! What's your weapon of choice?
Yet to discover the best
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)?
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.
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
That's amazing to hear! 🔥🔥🔥
Great list!
Thank you!
Thanks Nevo, glad you found it useful :)
Some comments may only be visible to logged-in visitors. Sign in to view all comments.