Issue #373 · May 20, 2024

Merging Remix and React Router

“Innovation is the outcome of a habit, not a random act“”

Hello, Welcome to issue #373. Last week, ReactConf was on! As you might imagine, this means that this issue is going to be somewhat React-heavy. So, hopefully, you like React and you look forward to catching up with all the React updates! I'll also leave you with the full recording of day one if you prefer to watch ALL OF IT!

Without further ado, let's dive in!

— Your editor, Luciano

Merging Remix and React Router

Merging Remix and React Router

Remix is a full-stack web framework build on top of React. React Router? Well, if you have done any React SPA in the last 10 years, there are big chances you have bumped into it (7.8 million projects have React Router as a dependency!). If not, it's a router library that helps you to change views based on the current URL of the page (without triggering a full refresh). Since there's a significant overlap between the two communities of developers maintaining React Router and Remix, it makes sense that the 2 projects get merged into one. But what does it mean to merge a full-stack framework with a routing library? Isn't the scope of the two very different? Well, let's find out!

Articles

Manifesto for a Humane Web

The web is becoming hostile to humans. Users are tracked and their privacy is routinely violated. Search results are populated with ads. We are constantly spammed by bots... If you feel all of this in your daily experience with the web, and, even more so, if you feel a responsibility as a web developer, this is the manifesto you were waiting for! Let's share it as much as we can!

hot-hook: 🪝 Simple HMR for NodeJS + ESM

Simple HMR for Node.js + ESM. This is pretty cool! We are quite used to hot-reload on the frontend, but this is the first time that I am seeing this idea being brought to the backend. Let's find out why it can be quite useful!

✂️ knip

Another interesting open-source project on GitHub! Knip is a developer tool that allows you to find unused files, dependencies, and exports in your JavaScript and TypeScript projects and... you guessed it, remove them from the project before you ship them! Knip it before you ship it!

The Modern Guide For Making CSS Shapes

In this comprehensive guide, Temani Afif explores different techniques for creating common shapes with the smallest and most flexible code possible. No SVGs, only CSS! This is a topic that has always been fascinating me, so if you are like me, you will enjoy this deep dive!

Snappy UI Optimization with useDeferredValue

useDeferredValue is one of the most underrated React hooks. It allows us to dramatically improve the performance of our applications in certain contexts. The good ol' Josh Comeau, recently used it to solve a gnarly performance problem on his blog, so let's use this deep dive to learn more about this hook!

Updates for Dockerfile syntax (v1.7.0)

Dockerfiles are fundamental tools for developers working with Docker, serving as a blueprint for creating Docker images. There's a new version of the DockerFile syntax which makes them more powerful and user friendly. So, let's learn about new Dockerfile capabilities and how you can leverage them in your projects to further optimize your Docker workflows.

Book of the week

Event-Driven Architecture in Golang: Building complex systems with asynchronicity and eventual consistency

Event-Driven Architecture in Golang: Building complex systems with asynchronicity and eventual consistency

by Michael Stack

Event-driven architecture in Golang is an approach used to develop applications that shares state changes asynchronously, internally, and externally using messages. EDA applications are better suited at handling situations that need to scale up quickly and the chances of individual component failures are less likely to bring your system crashing down. This is why EDA is a great thing to learn and this book is designed to get you started with the help of step-by-step explanations of essential concepts, practical examples, and more. You'll begin building event-driven microservices, including patterns to handle data consistency and resiliency. Not only will you learn the patterns behind event-driven microservices but also how to communicate using asynchronous messaging with event streams. You'll then build an application made of several microservices that communicates using both choreographed and orchestrated messaging. By the end of this book, you'll be able to build and deploy your own event-driven microservices using asynchronous communication.

Additional Links