Tom Preston-Werner: Building Full-Stack JS Apps with Redwood.js

Full Stack Radio


Jaaz is indeed an attempt to build a full stack framework for Java script and to really deploy it in a service way. So that's one of the primary tenants that we have is build it end to end with Javascript and deployed to server list environment. To give you the advantages of the scale that that can bring as well as the global distribution that that can bring so one thing that we say about redwood is that its edges ready and by that we mean all of the different parts of redwood should be able to operate on the edge once technology plays out a little bit more. This is not entirely true today. But really we're building redwood today with an eye to the future so redwood is not yet fully realized but the idea is that if we start today with the idea that some of these technologies will exist in the way that we want them to in say a year. Then we'll be there when the technology is ready instead of technology existing first and then coming in and saying Oh let's take advantage of this and then it takes another year or more to built for it. It's like the way that game. Programmers build their games for the hardware that will exist. Yeah when they release. We're doing the same thing but with web technologies supplying some bets that Some of the tooling that you kind of need to kind of make this thing work the way you you believe has. The potential to work are going to exist You know in the near Ish Future. Yeah absolutely and so I. I can dive into those just real quick to go over them. So as hard as the edge readiness goes so the whole point redwood really is to take advantage of GM stack architecture. And so you start with the client which ends up being a react based javascript client that can be delivered statically so before we even like go even further there. I think it'd be interesting to kind of touch on some of these kind of different layers of the stack because he get through and figure out what the opinions are I think even before he talking about the react client. I'm I think a lot of people have sort of a different definition of Jim Stack or different picture in their head of what it means so when you say stack like how do you define that. And what is what is it. And what is it not in your mind? Yeah so I use the term jam stack. Maybe a little bit more loosely than most people today. But it's a bit on purpose. Purposefully trying to push the boundaries of what would be considered gem stack while still being true to the definition so jam stack javascript. Api's markup that's can cover a lot of territory but it really comes with the deployment strategy as well so a big part of the jam stack is the idea that you can push your code to a git repository and that will trigger deploy. And you're basically done and so that's part of Redwood that same idea the same way that you would build a traditionally considered jam stack application today where it's content faced and maybe you're you have a built step and then you push that aesthetic content to a cdn and with Netla fi and others you can have functions. That'll be spun. Up for you redwood operates in exactly that that space and so by Jim Stack. I mean you have Java script that is your primary it flips a little bit. Maybe the J. M. in in aesthetic content based site you're probably going to have mostly static markup and then you're gonNA sprinkle in Java script to interact with Third Party. Api is or maybe an API that you've written yourself in the redwood version of Jam Stack. Which is really the same tall just jam. Stack. You might have more or less of each one of those components so in Redwood you have more javascript so your your front ends up being all react. So it's page APP and you're mark probably ends up being minimal. Though the idea is that you can do pre rendering and have pages. So let's say you're marketing pages or other content pages that are that are suitable for pre rendering that you have a bill phase to do that and then you can push those out like you would in a more traditional jam stack APP Today and the. Api is baked in as part of this stack in that. You're you're going to write your API it would be. It would be a reason that you would choose to use. Redwood is the full integration throughout the stack to use the all of the fancy stuff really nicely integrated really great developer experience that we're producing four the back end as well and this is. This is another difference from a more of a content related. Jim Koch So in my mind what I'm hearing is it sounds like it's like a Jam Saqi framework designed for People Building Bespoke web applications where they need to write a lot of their own custom backend code and they need a place to do that. That hopefully has some opinions and conventions that let's do it in a more productive way maybe like we typically been used to something like rails. Yeah exactly so. We see it as a rails replacement. Yeah Very Cool. Anything you would normally do with rails. We hope that you'll be able to do with redwood the that's the competitor. Is that really the full end to end? Full stack tightly. Integrated includes everything testing like all like the whole database access. Like the whole thing end to end is just use. This stuff used these sorts of technologies together. We've integrated them beautifully. We've created a deployment paradigm that scales very easily and requires almost no intervention and is Java scripts and

Coming up next