---
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-08-05T04:36:39.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/19ef665d69b3b077bd19c76d9dfcda7749cad7af-1600x900_Z5yehl.webp)

News & Announcements July 28, 2026

[

### New Netlify projects are now private by default

](/blog/new-netlify-projects-are-now-private-by-default)

-   ![Profile picture of Taylor Barnett-Torabi](/_astro/cf4624da8c1286738397b6fecb53bad504df140b-400x400_ZsvK0s.webp)
    
    Taylor Barnett-Torabi
    

![](/_astro/d0354fe52c160a3abdfdeff297a1baf090302a3d-1600x900_Z1eDdJG.webp)

News & Announcements July 14, 2026

[

### More headroom, a lower per-credit rate, and a bill you can predict: introducing new Pro plan tiers

](/blog/new-pro-plan-tiers)

-   ![Profile picture of Gehrig Kunz](/_astro/b4e9f58d914d1334ea70d53ea55a1f26b26f1445-512x512_17SwOI.webp)
    
    Gehrig Kunz
    

## Recent posts

Opinions & Insights July 28, 2026

[

### Open Weights and the 2nd World

](/blog/open-weights-and-the-2nd-world)

-   ![Profile picture of Mathias Biilmann](/_astro/f193d4707a6391d843d5aaa73338b5a5971ec5cc-960x960_1Yylqm.webp)
    
    Mathias Biilmann
    

Tools & Services July 28, 2026

[

### MCP goes stateless and extensible

](/blog/mcp-goes-stateless-and-extensible)

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

News & Announcements July 28, 2026

[

### New Netlify projects are now private by default

](/blog/new-netlify-projects-are-now-private-by-default)

-   ![Profile picture of Taylor Barnett-Torabi](/_astro/cf4624da8c1286738397b6fecb53bad504df140b-400x400_ZsvK0s.webp)
    
    Taylor Barnett-Torabi
    

![](/_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/)