Hey, everybody, what is up? My name is Michael Jackson. I am so stoked to be with you here today at React Summit. Thank you so much for tuning in to my talk. I'm excited to share with you the stuff that I've been working on today, specifically, I want to talk about Remix, which is a web framework that I've been building for the last year or so with my business partner, Ryan Florence.
Together, we have been working on React Router for the last five or six years, which is open source software, it's pretty big, it's used by a lot of people around the world to build awesome web experiences. Remix is built on React Router, the awesome stuff we're building for Remix is actually going to make it back into React Router. The idea behind Remix is that we think that there should be an awesome experience for developing websites with React Router, with React, websites that are built on web fundamentals and that are just awesome for people, as far as accessibility, as far as performance goes, and as far as flexibility and power of the tools that you have at your disposal to build really cool stuff.
So I'm really excited to share Remix with you today. And I thought I would do a quick demo. I only have 20 minutes, so this is going to go pretty fast. But I wanted to show you how, you know, give you a little tour of Remix and some of the stuff we've been working on, and show you what it's like to build a little, you know, just a little app with Remix. So I'm actually going to be using our Express starter template. So we have a few of these starter templates. We have some, we have one right now for Express, which you can deploy to any old virtual private server that you want or any, you know, lots of different cloud providers will just run Node apps. We also have one for Vercel. We also have one for architect, which is, you know, running on AWS lambda. We have coming support for Netlify, for Firebase, and Cloudflare worker. So our plan is with Remix to just support anywhere that you want to deploy a web app, because they all have their kind of different, you know, strengths and Remix is a single programming model that can work on any of them. So I'm going to start with our Express starter. I've got a little app here that is actually, I've been working on it just a little bit. It's basically the Express starter, but I've added a few components. I've got Tailwind going on in here, I've got PostCSS going on, and I've got a couple of routes here already. So let's just start right at the top, right at our entry points. So we've got two entry points here in your app folder.
This one is the client entry point, so this is a regular old React DOM hydrate, and the component that we're rendering is our Remix browser component. This is the one that you render when you get to the browser, and so you have full control over your entry point if you wanted to do something globally in the browser, you can go ahead and do it here in your client entry point. In your server entry point, this is usually running in Node, but this is a function that is basically responsible for rendering the HTML. So Remix is fully server rendered React apps, right? You're going to get all that SEO goodness, all of the like, sending real HTML over the wire, we're not just sending like a shell, and then you fill it in later. This is real HTML. So we're using a standard render to string here to render our Remix server component.
Comments