---
title: "Learn About RedwoodJS the Full-stack JAMstack Framework"
description: "Do you love the JAMstack philosophy but need a database-backed web app? RedwoodJS is here! Built on React, GraphQL, and Prisma, Redwood works with the components and development workflow you already love."
source: "https://www.netlify.com/blog/2020/03/11/redwoodjs-the-full-stack-jamstack-framework/"
last_updated: "2026-07-10T18:16:14.000Z"
---
The logical next step in the maturation of the [JAMstack movement](https://www.netlify.com/jamstack/) is for frameworks to extend beyond static site generators into full-stack frameworks. By having a stronger opinion on technologies used from frontend-to-backend, you can build in a quantum leap in developer experience for JAMstack apps.

Many people have tried to build “Rails for JavaScript”, to varying degrees of success. But what Redwood brings to the table is its choice of a new generation of open source technologies that have independently proven themselves as standalone tools. I’ll [paraphrase Sid Sijbrandij](https://news.ycombinator.com/user?id=sytse) (CEO of GitLab):

> This feels like Rails for the JavaScript age. Moving from:
> 
> -   REST => [GraphQL](https://graphql.org/)
> -   Sprockets => [Babel/webpack](http://webpack.js.org/)
> -   VM => [Lambda functions](https://docs.netlify.com/functions/overview/?utm_source=twitter&utm_medium=redwoodblog-swyx&utm_campaign=devex)
> -   Caching => [Static site](https://www.staticgen.com/?utm_source=twitter&utm_medium=redwoodblog-swyx&utm_campaign=devex)
> -   Erb => [React](https://reactjs.org/)
> -   Active Record => [Prisma](https://github.com/prisma/prisma2)
> -   Rspec => [Jest](https://jestjs.io/)
> -   routes.rb => Routes.js

All this, curated for you with Rails-like scaffolding powered by [convention over configuration](https://en.wikipedia.org/wiki/Convention_over_configuration), by an all-star dev team headed by [Tom Preston-Werner](https://tom.preston-werner.com/) (Cofounder of GitHub), alongside Peter Pistorius, and Rob Cameron.

Redwood embeds a lot of how we at Netlify envision an ideal JAMstack architecture and developer experience for dynamic apps: A strong separation of concerns for frontend (so you get the speed of JAMstack) and backend (APIs and serverless functions you can scale independently), and yet a unified developer experience for fast local development:

![Diagram of Redwood Architecture](https://d33wubrfki0l68.cloudfront.net/fe55b84dd8ef022e3729071c88f19825f564eaec/d049e/images/structure.png)

For React developers in particular, two innovations are worth highlighting:

-   [Redwood Cells](https://redwoodjs.com/tutorial/cells) take a fully declarative approach to loading states with GraphQL integration, which lend themselves to [render-as-you-fetch React Suspense data fetching](https://reactjs.org/docs/concurrent-mode-suspense.html#approach-3-render-as-you-fetch-using-suspense) in future!
-   [Redwood Forms](https://redwoodjs.com/tutorial/everyone-s-favorite-thing-to-build-forms) embed a ton of niceties for making great user form experiences with [React Hook Form](https://react-hook-form.com/)!

If you’re looking to get a glimpse of the future of JAMstack, you should definitely check out [RedwoodJS](https://redwoodjs.com/).

[![RedwoodJS logo](https://www.netlify.com/v3/img/blog/redwood-js.jpeg)](http://redwoodjs.com/)

### Share

-   [X (fka Twitter)](https://twitter.com/intent/tweet?text=RedwoodJS - the Full-stack JAMstack Framework&url=https://www.netlify.com/blog/2020/03/11/redwoodjs-the-full-stack-jamstack-framework//)
-   [LinkedIn](https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fwww.netlify.com%2Fblog%2F2020%2F03%2F11%2Fredwoodjs-the-full-stack-jamstack-framework%2F%2F)
-   [Facebook](https://www.facebook.com/sharer.php?u=https://www.netlify.com/blog/2020/03/11/redwoodjs-the-full-stack-jamstack-framework//)
-   [Bluesky](https://bsky.app/intent/compose?text=RedwoodJS - the Full-stack JAMstack Framework+https://www.netlify.com/blog/2020/03/11/redwoodjs-the-full-stack-jamstack-framework//)

* * *

### Tags

-   [Jamstack](/blog/tags/jamstack/)
-   [React](/blog/tags/react/)
-   [GraphQL](/blog/tags/graphql/)
-   [Prisma](/blog/tags/prisma/)

## Keep reading

![](/_astro/eb275ddb9290b947ba4c53ac30538c77b44edae9-720x405_1y2MXK.webp)

News & Announcements June 25, 2026

[

### Netlify Functions, designed for Agent Experience

](/blog/netlify-functions-designed-for-agent-experience)

-   ![Profile picture of Eduardo Bouças](/_astro/52958f21e8450baf6d8e60302341a984e220c0cd-512x512_13VDlu.webp)
    
    Eduardo Bouças
    

![](/_astro/d20f9f717bbdd511f73ee138be4114ff13f480f9-2400x1350_1fe4aq.webp)

News & Announcements June 24, 2026

[

### How we measure Netlify’s Agent Experience

](/blog/how-we-measure-netlify-agent-experience)

-   ![Profile picture of Sean Roberts](/_astro/bbf2243f8171dbddd80ab2103622106cef84d125-512x512_Z1d2LKE.webp)
    
    Sean Roberts
    

## Recent posts

News & Announcements June 25, 2026

[

### Netlify Functions, designed for Agent Experience

](/blog/netlify-functions-designed-for-agent-experience)

-   ![Profile picture of Eduardo Bouças](/_astro/52958f21e8450baf6d8e60302341a984e220c0cd-512x512_13VDlu.webp)
    
    Eduardo Bouças
    

News & Announcements June 24, 2026

[

### How we measure Netlify’s Agent Experience

](/blog/how-we-measure-netlify-agent-experience)

-   ![Profile picture of Sean Roberts](/_astro/bbf2243f8171dbddd80ab2103622106cef84d125-512x512_Z1d2LKE.webp)
    
    Sean Roberts
    

Guides & Tutorials May 15, 2026

[

### How to build a real-time AI chatbot in minutes with Netlify Agent Runners (no backend)

](/blog/how-to-build-a-real-time-ai-chatbot-in-minutes-with-netlify-agent-runners-no-backend)

-   ![Profile picture of Nahrin Jalal](/_astro/f0e7c8f227a03fe58340c99ef5439d5a896c0733-272x272_Z23kDpD.webp)
    
    Nahrin Jalal
    

![](/_astro/3f255b372fa958df35802666ee33b4609b2d71bd-1200x1586_1VtE2D.webp)

### How do the best dev and marketing teams work together?

[Access the report](https://www.netlify.com/reports/2024-leadership-trend-report/access/)