Tomek Poniatowicz
11/23/2020
Jamstack is a new architectural approach with the core principle of pre-rendering aiming to make web applications to:
All that achieved with the use of many modern tools to bring productivity to the maximum. Sounds interesting right? This approach is gaining a lot of popularity which makes a market for new tooling supporting the Jamstack approach. RedwoodsJS is one of the new shining stars, its team believes that JAMstack is a huge leap forward in web development and they are doing their best to make it even more pleasant to work with.
Redwood is an open-source project initiated by Tom Preston-Werner, the co-founder of GitHub & creator of Jekyll - one of the first static site generators. So what is Redwood?
Imagine a React frontend, statically delivered by CDN, that talks via GraphQL to your backend running on AWS Lambdas around the world, all deployable with just a git push—that's Redwood.
RedwoodJS is a highly opinionated, full-stack, serverless web application framework that aims to make building and deploying JAMstack apps as easy as possible.
RedwoodJS uses some of the most popular cutting-edge technologies and by giving up the freedom of choosing your tech stack, you are gaining a significant reduction of the level of complexity of setting up all services to make your infrastructure work as intended:
Frontend - this part is covered by React supported by Apollo and it has a lot of code generators involved which let you create everything i.e. routes, pages, cells (even with already pre-configured tests) out of the box.
Backend - it's becoming difficult to talk about cutting-edge technologies without putting GraphQL into the equation. Redwood uses Prisma for its GraphQL backend, enabling quick creation of backends with graphical interfaces.
Deployment - Redwood's development team has support for several deployment targets on their roadmap with a top-priority to make deployment strategies in a way that makes it easy for additional targets to be added, as well as to make it easy to adjust to user's own deployment strategy. Right now it offers out of the box deployment to Netlify and Vercel, with AWS and Google Cloud Run high on their road map.
Redwood features a lot of new interesting concepts as well as brings a breath of fresh air to well-known ones. One of the most interesting ones are definitely:
If you interested in more detailed information about Redwood's concepts and its implementation make sure to visit the official docs.
RedwoodJS software has not reached a stable version 1.0 yet. Its team put Redwood in the later stages of the "make it work" phase in the "make it work; make it right; make it fast" paradigm. Although this makes it not suitable for production use, Redwood is a concept that is definitely worth following.