Playing with RedwoodJS, an opinionated, full-stack, serverless web application framework

Forest
Forest
Photo by Caryle Barton on Unsplash.

When I listened to the React Podcast episode about RedwoodJS two weeks ago, it sparked a lot of excitement in me. I wanted to try it out immediately. After working with it a bit, I’m still impressed but also see where this framework needs to be polished.

In this article, I want to share my thoughts about it.

What Is RedwoodJS?

Redwood is an opinionated, full-stack, serverless web application framework. It works with the JAMstack and aims to make full-stack web application development and deployment easier. It is initiated and led by Tom Preston-Werner, the co-founder and former CEO of GitHub.

Redwood is…


Photo by Kevin Ku on Unsplash

Testing is important to ensure the quality of your software. One part of that is to write unit tests. For that many tools exist in the JavaScript World, e.g. Jest, Jasmine or Mocha. Just to name a few.

Coming from frontend focused development with React, I love Jest for writing and executing my unit tests. Knowledge gained in that domain would be great to be applied in the Azure serverless functions world. Well, when you write your serverless functions in Node.js that’s possible.

Locally create an Azure Function App

We first need to create an Azure Function App to have functions we can test in the…


Coding
Coding
Photo by Ilya Pavlov on Unsplash

I’m really like React Query. For me, it makes backend communication with my React application much easier and let me abandon Redux or the Context API to manage data from the backend in my fronded.

Get data from your backend with useQuery was quite straightforward for me, however, useMutation introduced some sort of complexity.

Let’s say I have a function to update a journal entry for one user in my backend.

import axios from 'axios'; interface journalEntry { id: string; title: string; content: string; } export const updateJournalEntryforUser = async (journalEntry: journalEntry, journalEntryId: string, userId: string) => { await axios.put(`/api/journalEntries/${userId}/${journalEntryId}`…

Tobias Meyer

I’m a self-taught web developer who loves React, the Jamstack and serverless architectures. Lives and works in Munich. Opinions are my own.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store