ajcwebdev
Video cover art for RedwoodJS, the JS App Framework | JavaScript Jam

RedwoodJS, the JS App Framework | JavaScript Jam

Published:

Anthony Campolo joins JavaScript Jam to demo RedwoodJS, a full-stack JavaScript framework, discussing its capabilities, comparisons to other frameworks, and deployment options.

Episode Summary

In this episode, Anthony Campolo, a developer advocate at StepZen and core team member of RedwoodJS, provides an in-depth look at RedwoodJS, a full-stack JavaScript framework inspired by Ruby on Rails. He demonstrates the framework’s key features, including its opinionated structure, built-in admin UI, and GraphQL integration. Anthony walks through creating a basic blog application, showcasing Redwood’s scaffolding capabilities, database integration with Prisma, and deployment process. He discusses the framework’s philosophy of convention over configuration and its goal to streamline full-stack JavaScript development. The conversation also covers comparisons with other frameworks like Blitz and Bison, addressing topics such as authentication options, server-side rendering, and the framework’s roadmap. Anthony highlights RedwoodJS’s approach to solving common web development challenges and its potential for both rapid prototyping and scalable application development.

Chapters

00:00 - Introduction and Anthony’s Background

Anthony Campolo introduces himself as a developer advocate at StepZen and a core team member of RedwoodJS. He shares his background, transitioning from music education to web development through a bootcamp experience. Anthony describes how he got involved with RedwoodJS by writing about it and eventually joining the core team. This chapter sets the context for the discussion, highlighting the speaker’s journey into tech and his expertise with RedwoodJS. It also touches on the importance of creating and sharing projects as a way to stand out in the tech industry, especially for career changers and bootcamp graduates.

02:56 - Overview of RedwoodJS and Its Inspiration

This chapter delves into the core concepts of RedwoodJS, explaining its nature as a full-stack JavaScript framework heavily inspired by Ruby on Rails. Anthony discusses the framework’s use of React for the frontend and Node.js for the backend, with GraphQL as the communication layer. He explains how RedwoodJS aims to bring the conventions and productivity benefits of Rails to the JavaScript ecosystem. The discussion covers the framework’s opinionated nature, its use of Prisma as an ORM, and how it addresses common web development challenges. This section provides listeners with a foundational understanding of RedwoodJS’s philosophy and architecture.

08:06 - Setting Up a RedwoodJS Project and Database Integration

Anthony begins a live demonstration of setting up a RedwoodJS project. He walks through the initial project creation, explaining the file structure and key components. The chapter covers integrating a database using Railway for Postgres hosting and demonstrates how to set up Prisma models. Anthony shows how to generate scaffolding for a basic blog post functionality, highlighting RedwoodJS’s ability to quickly set up CRUD operations. This practical demonstration gives viewers a clear understanding of the development workflow in RedwoodJS and showcases its rapid development capabilities.

19:48 - Exploring RedwoodJS Features: Cells and Data Fetching

This chapter focuses on one of RedwoodJS’s unique features: Cells. Anthony explains how Cells work as a convention for data fetching and state management in React components. He demonstrates creating a Cell to fetch and display blog posts, showing how RedwoodJS handles loading states, empty states, and error handling. The discussion covers the integration with GraphQL and how Cells simplify the process of connecting the frontend with the backend API. This section highlights how RedwoodJS aims to streamline common patterns in React development.

30:22 - Deployment and Database Considerations

Anthony walks through the process of deploying a RedwoodJS application, focusing on Netlify as the deployment target. He discusses the challenges of connecting serverless functions to databases, particularly the connection pool issues that can arise at scale. The conversation touches on potential solutions like pgBouncer and RDS Proxy. This chapter provides insights into the considerations developers need to keep in mind when deploying RedwoodJS applications and scaling them in production environments.

42:57 - RedwoodJS Ecosystem, Competitors, and Future Roadmap

The final chapter broadens the discussion to cover the RedwoodJS ecosystem and its place in the JavaScript framework landscape. Anthony compares RedwoodJS to competitors like Blitz and Bison, discussing their similarities and differences. He talks about the framework’s progress towards version 1.0 and mentions some companies already using RedwoodJS in production. The conversation concludes with a look at the future roadmap for RedwoodJS, including upcoming features and improvements. This section gives listeners a comprehensive view of RedwoodJS’s position in the market and its potential future direction.