Headless WP Podcast

The Astro Framework with Fred Schott

November 03, 2022 Season 3 Episode 8
Headless WP Podcast
The Astro Framework with Fred Schott
Show Notes Transcript

In this episode, Fran and Jeff talk to Fred Schott, the co-creator of the Astro framework. Astro is a newer JavaScript framework that focuses on creating super fast content-focused sites. There is a ton of love in the JS community for Astro, and we dig into Astro's origin stories and some of Fred's background with build tools. 

Astro aims to reduce complexity by offering a server-first, zero-JS by default experience for building sites. For WordPress developers who've done some work with PHP, Astro invokes a lot of that simplicity. Astro also doesn't ship a frontend framework by default, so you can use React, Vue, Svelte, or any other framework you want. We touch on some additional benefits of Astro as well:

  • Islands architecture
  • Client directives for selectively loading JS
  • How Astro focuses on prioritizing content-focused sites

Fred shares with us some of the future goals of Astro and talks about how it fits into the community.

Astro Website

Astro Discord Server

Jeff Everhart: All right.
Jeff Everhart: Ah, there we go. Yeah,
Jeff Everhart: all right. Welcome to the headless Wp. Podcast. I'm. Jeff everpart and i'm joined today by my co-host fran Agalto, and we have as our guest. Fred shot the Co-creator of the astro framework. So, Fred Fran, how are you all doing today?
Fred Schott: Doing great it takes driving me on.
Fran Agulto: And, Jeff, you know how I am. I don't think i'm ever not stoked, but i'm super jam-stoked today, because just playing with the Astro framework, and having Fred on to talk about this and the entire company as a whole,
Fred Schott: I i'm it's such a tree, Fred, and thank you for coming on. And you just enhanced My, You made my my week. So thanks for coming. Yeah, for sure. And it's only Tuesday of a holiday.
Fred Schott: Yeah, this is the one hundred and a week.
Jeff Everhart: Yeah. And there's so much heightened out there for Astro, and so much love for it in the Javascript community. Um that we're definitely seeing uh some buzz on on our side where we primarily within this wordpress so definitely wanted to have you on. Talk about it a little bit uh as i'm. Sure, we'll talk about it, podcast as we go Uh, friend and I had a chance to play around, but to kick us off. We always just like to ask our our guests about their tech origin story. We are suckers for
Jeff Everhart: you. Wouldn't mind, Could you just kind of give us some background on yourself and how you got into tech and then web development.
Fred Schott: Oh, God, yeah, I mean
Fred Schott: this, Astro. You could even like I'm going to find a way to tie this all together, because a lot of what Astro is trying to do is bring some of, and really like the joy of
Fred Schott: I got started on Php. I first learned how to do web development, a lot of my development on Php: Um. And the idea of just like mixing your template that you know how to like. See in the browser with your server logic. So you like making a database call that flexibility.
Fred Schott: I wrote some horrible code, but like man, I felt like productive and like I knew what I was doing, and the the feedback cycle was so cure on that. Um we're trying to bring a lot of that back to Astra. So that's how I got my start. There's a total nostalgic dive in, master over the mixing of template logic and server logic in the same file.
Fred Schott: Um, But yeah, I I got my starting web development. Um worked at a couple of companies um have worked on a couple of open source projects. I've been very lucky to work on um going all the way back, Pico. If anyone remembers that a snowpack skypack.
Fred Schott: These are all like different projects in the javascript space which we're exploring what is now Esm. This module system import export in the javascript language. If anyone's used V.
Fred Schott: Snow talk was very much like an early take on what beat has now become. So.
Fred Schott: Yeah, that project's great. So, Astro, we we lovingly kind of build on top of the
Fred Schott: yeah, just. I've been lucky enough to work in open source and web development for a long time, and Aster is kind of my my love letter to Webinar, and it's definitely a kind of new take on performance and definitely a kind of response to the
Fred Schott: big javascript, Big Spa kind of complexity movement. In the last decade we have a really unique Take on web development that's trying to remove a lot of that complexity from the story and go back to something that feels a lot more familiar.
Jeff Everhart: Okay, cool. So let's let's stick into that just a little bit, because I think before we get into like the technical details of what makes Astro Astro got maybe some like astrology stored questions. One, I think, a fantastic thing for a framework. So is there anything about you want to share with us about how you came up with that name? And what is Asteris origin story you just mentioned, like it being a response to a couple of different things, you know, like what what were those as you saw in the existing javascript solutions like,
Jeff Everhart: What did you use before you scratched your own itch and made Astro.
Fred Schott: Yes, I wish I had a better story for the name. It really was. I just went back and found the thread where we were just like
Fred Schott: coming up with goofy names, and asked her literally like there's nothing more of it. It was just like, Oh, this disaster sound good, And then people were like, Yeah. And then that was it like It's so obvious.
Fred Schott: No, that's it. But sometimes those are the best names where it's like.
Fred Schott: There is no deeper meeting, or just like this sound school. You know it's cool. The package is available in Npm: It's funny, Fred, because when I was looking at
Fran Agulto: you know, sometimes I over well,
Fran Agulto: maybe, as all developers, I just want it. So i'm not like i'm gonna shame myself. I overthink things a lot. Not only maybe things is hard.
Fred Schott: Here's the thing is like I started thinking like, Oh, I wonder what Fred's gonna say today about the Asteroid Origin story? Oh, it's Fred A. Jetson's cartoon.
Fred Schott: That's what I thought the Orton story was going to be. But again overthinking too much is just. I'm embarrassed by how it just like meager that story.
Fred Schott: Oh, I don't think he showed me at all. It is really funny, though, because that's that exists on one end of the spectrum. And then we had a as recent guests Max Joyer and Thomas Hanrock from Ah, Stella. We talked with them about their renaming, and they were like Well, we were looking through the dictionary and like found this eighteenth century word to describe a star-like structure.
Fred Schott: That's the third thing. So it's like you have this this awesome spectrum of like all right. Now we just threw in slack, and everybody gave it a thumbs up.
Jeff Everhart: That's right.
Fred Schott: Yeah, there's
Fred Schott: a total tangent. But I just learned through this naming process. Actually, the Bluetooth symbol is like an ancient ruin for like a
Fred Schott: Yes, I did it.
Fred Schott: That is got to be the coolest.
Fran Agulto: Yup, are you? I forget.
Fran Agulto: Yeah, yeah, go, Wikipedia. It's really neat so, and I forget that that that might have been like
Fran Agulto: what they named the project internally and like, just ran with it. And then, yeah, it took the root. I think it's too like a layering of two rooms, maybe.
Fred Schott: Yeah. So interesting naming stories. Yeah. So once you hear that story, there's just there's nothing
Fran Agulto: I I was just going to add something real quick. Jeff,
Fran Agulto: who says you? You don't learn new things on the headless wordpress podcast! That's number one, and that bluetooth thing blew my mind, and number two for your younger ones younger listeners out there. Ah, the Jetsons was a cartoon in comparison to the flintstones that Hannah Barbara wrote, so that it's like a future and a past
Fred Schott: parity between, anyway. And Astro. Was the dog. Okay, sorry. Go ahead, Jack.
Fred Schott: Oh, no. So I was just gonna I was just gonna bring us back to ask those origin story. So you mentioned like this this progression of complexity that Astro is kind of a response to. Could you? Could you elaborate on that? And like, what did you use before you?
Fred Schott: I've been doing web development long, and I I used next Js: I'm. A huge fan of next to us, even though we
Fred Schott: we are in a different framework. But we're very much. We see ourselves as another side of the spectrum. So all the love to that team. Yeah. Php: In the earlier days I've used Django abused rails. But
Fred Schott: a lot of what this project came out of was. So I mentioned a couple of those old projects, and Skypack was one of the earlier ones where we really built a team around building this new kind of Cdn. So the best example I can give, if you use, like the jakery cdn ever this was going to be like that. But for all of Npm. Using modern technology and letting you basically kind of deploy your website as just the collection of Cd. Anywhere else. It was this whole crazy take on one development that was really cool, but like really limited, because we just ended up being this like
Fred Schott: that powered your site without really having any opinion, like we were just kind of a wet I plug in at the end of the day. It was kind of hard to really
Fred Schott: help. You do much in sort of like building a better architecture, building a better website. We were just kind of this, like little thing that was much smaller than we meant to be,
Fred Schott: and at the same time we ended up building a documentation site for one of those projects, and we did eleven, and we got a kind of like on how fast they performed, like Alex Russell, if you'll know, and he's like performance, Grandpa Twitter.
Fred Schott: That was something we really connected to. So Aster really came out of actually like, Okay, how can we bring
Fred Schott: that experience where we actually didn't realize we were building the fast site until we built it.
Fred Schott: Pastor is very much like trying to be that for performance where you only use javascript if you need it,
Fred Schott: and at the same time reducing a lot of complexity of, you know. If you build the next Js. You have to be, Think of your Api, and this application can run on the client. It can run in the server. It's like there's just a lot to juggle in your head as you're thinking about your site that Astro is really trying to answer. And say, Don't, worry about that. We're going to be really server first really surrendered,
Fred Schott: and you bring in the clients that complexity when you need to.
Jeff Everhart: Oh, yeah, that's that's really interesting. And I think like that's something that I feel like
Jeff Everhart: the remix framework talks a little bit about when I hear Ryan Florence talk about
Fred Schott: it. The idea that this can run, and in the browser, and a server like which one to switch, and where, where and how is your data getting loaded like this complexity that the developer has to manage as they go about building their site for app, and it's just that you take that away, and you say, all right. This is going to be server record first like It's just so much simpler. I think it's a much simpler abstraction, right? If you're not thinking about. Okay, what is doing work here? What is doing the work there? All right. So that's that's awesome.
Fred Schott: If you really think about the Astro. Oh, sorry. I was just gonna quickly add
Fred Schott: it can tie this all together, because the reason we're talking about them together is twitter kind of like started saying this feels like Php. Like, Why am I writing a Php in like, you know, in an astro like like we mainly talk to a Javascript audience, and they're just
Fred Schott: feel a little like. What is this this idea of? Like? Just my server logic runs, and then my template runs. And that is kind of the joke of our project is that we kind of unintentionally rebuild Php, or at least that developer experience that I think you all love from
Fred Schott: um where the dash dash kind of code fence that we say is essentially just a Phd like server tag like, run this logic and then template on the result. That's It's it's meant to invoke that kind of that familiar, easy to use language.
Jeff Everhart: And when you do stuff like that, like, I think I heard you mentioned earlier, like the idea of the feedback loop being very tight with things like that, and that is something. I remember from my early days a Php. Like I could just make a change to a file, refresh the thing, and it was there. Where, like once you get into javascript when you're like, All right. Well
Fred Schott: did I kill this process like you know, I reload my environment variables like. There's all these other ways you can, you know, Think that you're refreshing your application, and you're not. And it was just, or even just the hello world of like the Jsx. We have ecosystems all right to start my name on the
Fred Schott: you know. You know server components. And so it's some data type script here. Css: You're not actually learning Css. Or you're learning Css. In Jsx, because that's the only way to react like just to get Hello, world is so much versus what we really try to hit on is like
Fred Schott: an astro component at the end of the day is just a snippet of html, and You can add this server logic if you want to, but you can also just copy paste, html, and it will work your masters like I mean script tag style tags. You can really feel that feedback loop. I'll just remove all the required complexity. You can still add it
Fred Schott: at the end of the day. It's just html, if that's all you're trying to learn all you're trying to,
Fran Agulto: and and I think, having used it, if you want to add it, it's very easy to add, and so like when we we did a a little team pairing session what was like two weeks ago, we said, Yeah,
Jeff Everhart: yeah. And so I was like, all right. Well, you know, let's just i'm gonna follow the docs like I don't i'm not a huge react fan. I like a few a little bit better. So I was like
Fran Agulto: as I was going through the Docs, I was like, Okay, let me add you, a friend just like saw my eyes slide up. Oh, oh, wow! This was so easy to implement. It was just like Astro ad that's there. And then, if I have, you know. I get to
Jeff Everhart: create these components with the framework that I won and add add that interactivity. How I want to it was It was all super easy to implement
Fran Agulto: you should have seen in space, Fred, light up literally in this dual programming I've never seen. I've been coworkers with Jeff for like
Fran Agulto: four or five. I can't believe It's coming on five months now, and I've never seen him so happy when we are going through our Intro to Astro and his ability to like
Fred Schott: literally have the power of like. Oh, do I want you here? I don't want it here. I'm just gonna do right here. And then he's like, Oh, my God, it's so easy.
Fran Agulto: Yeah, Oh, that might, And I and I was laughing because I was like you, said Fred. It's your love letter to Web Development.
Fran Agulto: I think Jeff was about to like rewrite.
Fred Schott: I was like That's it because I mean it was that
Jeff Everhart: that sort of simple thing that I was looking for, and there's a lot of things that I like about how you position the framework that we can get into what? Here? Just a second. So like if you could, just for our listeners who might be new to Astro, could you kind of give us just an overview of its features, and maybe describe how it's different or different from, or similar to like some of the other frameworks that they would be used to like next. Js:
Fred Schott: Yeah. So I think what you're getting at there, what you kind of connected with. I I don't want to put words in your mouth. But that idea of like number one, we don't ship a front-end framework by default so unlike next Js or noxter's felt Kid or remix. They've all
Fred Schott: the javascript framework and they like kind of put that all the way down your stack. So you're building your front end. You're building your back end. You're building your server. Html. You're building your data fetching like It's all
Fred Schott: all tied to the framework of choice, whichever one that is, we try to take this different stance, which is that all of the kind of like next Jse, things are actually not tied to your framework. So we do use this thing called an asteroid component again. It's just really an html snippet. But then from there you can kind of add on your framework of choice, so you can literally inject a react component,
Fred Schott: or as felt component or review component,
Fred Schott: or you can inject all three like they all can live on the page in harmony. If that's what you want to do. Um. But what that allows us to do is we kind of detach the model from this javascript framework component, and instead, we provide the routing. We provide the like data fetching on the server, but it's all
Fred Schott: going to feel a lot more like a server language like rails or php, or should they ruby their Phd. Or Python? If you's in Django, that idea of
Fred Schott: at the end of the day all Astro is doing is rendering your html fetching in the data that you need on the server, and then letting you kind of inject the interactive components where you
Fred Schott: um. So this is what we call Islands architecture, where literally the interactivity on your page, instead of being one big javascript, app that you need to think about. It's literally these like little islands almost like you call the micro front ends. You can call them like isolated components,
Fred Schott: but they're all able to remember and load and become interactive almost in isolation in parallel you can control their loading. So you have something really expensive and heavy
Fred Schott: lower down on the page it won't load until you scroll into view, which is like one of my favorite features of Astro. Mm-hmm it totally just lets you detach
Fred Schott: from thinking about your website as a big javascript application, and instead, it's a page, and it's going to have some interactivity. But you don't have to worry about that complexity until you need it.
Jeff Everhart: Yeah, I think that's awesome, because I think one of the things that initially drew me to view is the idea that when it's sort of busted on the scene, it was built as like the progressive frame. Right you could. I didn't have to like, do this
Fred Schott: create, react app thing in terminal to get it. I could include this script tag on my existing website and add these little like, you know, almost islands of interactivity where I wanted them, and it's just like, so I I like that. Feel like I didn't like having to be tied off. Command line stuff like I didn't need these long processes, for you know, to do things like a carousel, or like, maybe like a header that toggles a class,
Jeff Everhart: you know, a drop out of it, or something like that. So it certainly felt to me like that same philosophy was baked into Astro, which I really liked. I think the idea, too, that
Fred Schott: you know you sort of relegated the Javascript framework to like rendering Html, which I think is like what it was initially.
Fran Agulto: Ah, you know your bundles to make stuff a little bit interactive. And I think, what what did we do, Fry? And like? I made like a basic component that was like just static html. And then I made like the you know. Ah, counter increment or you did a counter. Yeah, you did a counter.
Fran Agulto: Yeah, And it was just like that was super easy. And Then we looked at You know. How
Fran Agulto: do we load this when it's visible? Do we load it? And when the browser stays I don't like there's a lot of options there to use that. So the islands architecture stuff it's really cool. It's um go, man, because, like, when when over the weekend, when I played with it in react. I don't know why I like react. I'm a Glenn for punishment.
Fran Agulto: Ah, but
Fran Agulto: so I think, yeah. I'm like the
Jeff Everhart: I'm like the person.
Fran Agulto: What was cool is, I didn't really have to um Npm, and I didn't have to import anything. I literally just said like install react right? And then I made a component,
Fran Agulto: you know, in a folder, did a button component with Jsx, and then I put it in the islands architecture like it. I could put my component in the html, and I just made a button that said, Hello, world! With a javascript pop up on click, and I was like, Oh, my God!
Fred Schott: And then I added, that work like my I just used a fetch Api, and added my wordpress at a point I was like, Oh, my God!
Fred Schott: It's so awesome to hear you all!
Fred Schott: It's! It's so awesome here. You all connected with this, because this is literally like
Fred Schott: the early pitch, was like Use your favorite framework, and we weren't sure like, is everyone going to build their full site with react because we could let you do that literally like. Only use react components to build your site, even if they're server rendered. You could do that. No javascript on the phone end.
Fred Schott: But what we realized is that people actually like the asterisk syntax, because if you think about what it is, it's a it's a ui component that was designed for the server only, and all the complexity of react and spell and view comes from having to handle user interactivity like That's one hundred and fifty.
Fred Schott: Ultimately, what they were designed for is the idea of like, Okay, react. It's going to re-render when some state changes or you're going to you know like, Read it. So It's a good example like export cons, like. I need to export this thing and handle what happens when one of my props chain, like all these things, are about changing the state over time, which is
Fred Schott: a front-end concern, but not really on the server. You're kind of rendering the page, once shooting it over the wall to the user and then you wash your hands on it. So like we talked a little bit, I think, before we start Css. Or the idea of How do you handle Css and react like That's because react is designed around a set of limitations in Astro.
Fred Schott: It was designed around just like, How can we get the Html, the Css. The scripts, if you need them to the user So the amount of complexity we have to deal with is is ten percent of what all these other frameworks were designed for. What we found is, people actually seem to be moving to that syntax first, and then they go to their framework when they need the interactivity, but
Fred Schott: they're actually able to leave a lot of that baggage behind if they're having trouble doing styles and reactor learning how the export keyword works and spell like Aster was a much simpler Take because our limitations are requirements. What we're concerned about way way limited compared to what the front end has to worry about.
Jeff Everhart: Yeah, I think that's interesting. That brings me to kind of one of the points that I really like about how you position the framework. So in like, I think, in the section of like to ask for Docs where it's like. When do you use this. You talk about this being built for like content focused websites, and not so much web applications. And I think that's really unique, because if you don't see a lot of technologies. Do that and be like, hey? If you're building this thing like Don't use us,
Fred Schott: you know, and so much the tendency is like you have a framework that starts off small, and then it like grows and grows and tries to be everything. All people just eventually does a bunch of things for poorly, and not like point fingers of anybody saying that. But I just think that's like the That's the the growth cycle, right? It's like these things get large, and then people have more needs, more dish needs. It gets folded on, and then eventually you're like, What is all this stuff? What is it doing so like? I really like the
Jeff Everhart: that you said. This is what we're for, and if you're like looking at this, you know, maybe maybe you look elsewhere. And so I don't know if you could talk about that a little bit.
Fred Schott: Yeah, I mean that's and this is where, like I think we're way less competitive with it, like something about like the front end frameworks like it feels like this: Holy war of like everyone.
Fred Schott: Yeah, and stick with it. And now all other frameworks are dead to you. We really kind of fills this void that no one else is right. Now, which is, yeah, that content focused site so. And it's why we don't see us as like
Fred Schott: competitor or a like next to us as the kind of other side of the spectrum, and I think so good, and and knocks all kind of fit this like. If you're building an application where you have dashboards and state, and what happens when the user does this thing? How like, if you're building the next Facebook next? Janice is a great choice like it
Fred Schott: mit ctl and handles all that for you. The idea of thinking of your site as a Javascript application. It's worth the cost of shipping all the javascript because you get this really nice developer experience where data is flowing everywhere. And you're re-rendering the site every time like that's that's really good for an application one.
Fred Schott: The cost is the complexity. And also the performance is you're shipping all that javascript down to the user just to make the whole thing interactive.
Fred Schott: Um! That's a huge cost for something that cares about first page flow. So a marketing site a blog e-commerce like anything where seo becomes an issue because Google is going to downrink you if you take too long to load, which is a huge problem, if everything has to be javascript.
Fred Schott: So that's where after really comes in, it's a totally different set of concerns that that content site has, where performance matters more than the data flow of an entire site when really the site just existed, get some content in front of you like a blog post, a marketing site or a product. They work one hundred
Fred Schott: e-commerce and they want you to hit that by but as quickly as possible. Yeah, that's very different than the next Facebook. So we get to kind of come in, and our architecture is very unique, and it's really uniquely suited to that developer.
Jeff Everhart: And that's awesome, because I feel like, Oh, go ahead, Frank.
Fran Agulto: No! I was just saying that, like as as you were speaking for it in my mind was just
Fran Agulto: well. Obviously my mind's blown already just having you on the show talking about Astro and the Island architecture, man, but it's so cool that you just gave me an idea for a future blog post in my own on my own stack here.
Fran Agulto: The differentiation.
Fran Agulto: What you actually are trying to do at the core of your website or web app, if you will. As Fred was saying, the
Fran Agulto: Facebook versus Hey, I. I just have a call to action site because I got a product that I just a Sas thing that I want to sell, or whatever
Fran Agulto: that's a huge disparity, and people that are getting into web development even like some senior developers. With all this confusion of all the frameworks flowing around in the ecosystem. It's
Fred Schott: kudos to you, Fred and the Astro team to actually state your purpose.
Fred Schott: I think it just it's kind of the place we find like we made these trade-offs intentionally. So it's not like we're trying to come up with a fake message to like patch over our deficiencies like there's so much work happening on the complexity side of things, we really just.
Fred Schott: Yeah, it's a unique. Take on this from an architecture standpoint to a message to a kind of where our themes and templates all lie like we're all about serving this developer, especially with the headless Cms. Movement, like Yes, people are using have. The Cms is to build sites. But like, why are all the front end framework for building apps like That's where we see ourselves today.
Fred Schott: Yeah, like the at speed kind of came in and tried to look at this, and I think they've kind of, you know, obviously been taking a step back to to focus on on some more kind of core problems, but
Fred Schott: with that kind of them taking a step back. That's like everyone's been moving the next Js. And that's overkill and like, where do they find themselves like? This? Feels like the right time to have this conversation about a new architecture designed for this use case,
Fred Schott: and i'll just say i'm wondering about that. Is that the the beauty of this ah space that we're in is that progressively that the web is just going to continue on right. It's not going anywhere. I should have invested it in the nineties. What did I do?
Fred Schott: The My is on pets, dot com
Fred Schott: Yeah, my mom was like reflecting back. She's like damn friend. That Internet thing stuck around,
Fran Agulto: anyway, anyway. But the cool part about this whole thing is Fred to Your point is that
Fran Agulto: the right tool for the right job is okay, because, as far as from an industry perspective,
Fran Agulto: there is plenty. There is plenty out there for all either website, content, focus versus application, dynamic client-side, Facebook style applications, and that's what's the beauty is that with these kind of frameworks and movements
Fran Agulto: within our ecosystem. It just makes our industry that much better.
Fred Schott: Then it makes people want to get into it more, and then it continues up kind of like a circle of life, Simba.
Jeff Everhart: Definitely Not a zero-sum game, I think,
Fran Agulto: which which is, you know, Nice to see everybody kind of realize that and say just because I like this thing. Yes, I mean, i'm devaluing this other.
Fred Schott: Yeah, I mean, I see a lot of something that we've. It's just like what I just wanted to add like It's weird seeing this new prop of There's a couple of other new frameworks like solid Js: um quick. Even eleven is kind of trying to tell a story here. It's like,
Fred Schott: and I think because we have this new mindset of like different frameworks, different choices. Use what you like like we're tweeting at each other, and like having a lot of fun with it. Like all the holy war mentality just feels like It's this relic of like you have to pick a camp. And now all the new frameworks are like No, do whatever you want it's cool.
Fred Schott: It's been really fun to see, like just everyone seems to be having a bit more fun with it these days, and I think that's also like baked into there right like, as you're saying you
Fred Schott: do. You want to use web lit web components, or you want to use view? You?
Fred Schott: Well, you can do that like, Come, one, come all, it's the definition of a big tent framework, which is really cool,
Jeff Everhart: and I see a lot of utility for that, particularly with the types of developers that we support their U. P. Engine. Right? Do people do it? Headless wordpress In in most cases like I can point to a couple of people who built like apps or Sas-like things on top of Havas word for us, because you can do it.
Jeff Everhart: But most things are that content focused site like they're just looking for speed performance in some cases security. So I feel like having something there that just doubles down on all that just sort of underscores. It like the space is here like It's staying here, and it's It's really cool to see
Fred Schott: right. I do have one other like technical like question that I wouldn't mind just getting your thoughts on so like you.
Jeff Everhart: I really like the idea of, you know, like shipping as little javascript to the browser as we can, and like these low jobs for runtimes where I know Astro sort of builds itself that way. Got done some exploratory work remix like they're also sort of geared towards the idea that this should work by default without javascript so like. What do you see being the drivers of of that?
Fred Schott: Oh, God! There's There's a lot there.
Fred Schott: The biggest one that it seems like everything is flowing out of is Google has kind of taken a stance on performance.
Fred Schott: Five years ago you could have just ignored performance you really could have, and you would have been punished for it in your like data, like there is plenty of data, backing up that every one hundred milliseconds you cause your user to spend waiting. That is actual, measurable. Turn down
Fred Schott: someone not converting someone, not buying that product like you weren't being rewarded for not having a fast site, But you were like you were being punished, but in kind of an invisible way, and the biggest change i'd say that's happened is Google has started really pushing
Fred Schott: the message that No, you're You're being punished for building a slow site like we're going to downrank you on the Ceo. We are going to make it really clear with all these great White House web vitals. These are still fairly new tools that have like totally taken over. How we talk about your side like we can tell a performance story, and on that alone people are excited about what we're doing.
Fred Schott: So I'd say that's been the biggest at Google stepping in and putting their hand on the scale
Fred Schott: defense of these kind of things which are really like people were building, create, react, app like
Fred Schott: e-commerce sites like those are just slow. It's like there's no server rendering like, Oh, the the panel that was because people didn't really know they didn't think about it in these terms. And Google, I think because there's a lot of credit for getting these kind of web vitals. These core terms out there into the world,
Fred Schott: and putting some real stakes in the game that are very visible, like no one wants to be down rank on the Ceo. That's such a clear thing versus performance, and maybe we can ignore this and hope it goes away like you can't ignore the fact that you're dropping out
Fred Schott: because you're being beat out by a much faster site in those same rankings.
Fred Schott: That's a big one. I'd say there's maybe like just a larger industry trend, which is,
Fred Schott: and I think next Js is kind of the other side of this like if you look at what react is doing is reacts for components super cool technology. They're trying to solve the idea of shipping less. Javascript
Fred Schott: with more javascript like it's a solution that's built into the framework. It's going to add runtime cost. It's super cool. It's super powerful, but it's it's just more incremental complexity and more javascript to run this.
Fred Schott: You hope it's going to work. I really like. I haven't seen as many kind of you know. Actual performance metrics coming out of it. I'm sure they'll do a great job, but it's one of those things where we see ourselves, I think. What's fun about the asteroid project is It's very much a reset. It's a
Fred Schott: you know it's It's vhs's versus Dvds like you can keep building better and better Vhs. Players. But like, what if we just revisited this from the get-go, and revisited the
Fred Schott: the answer, isn't more complexity. The answer is actually reimagining where the ui framework sits in the stack. It doesn't have to be the end. I'll be all it can be a tool that does its job, like everything else which is to render interactive. Ui,
Fred Schott: That's I'd say the larger industry trend that we think, but like that's the Why, now, that's that's kind of really exciting for us.
Jeff Everhart: Yeah, I think it's excited. It's going to better. Also users, too. I mean, when you just think about one like you said once, Google puts their thumb on something.
Fred Schott: So
Fred Schott: it happens because there's dollars attached to it. And so you know, i'd be happier if every website loaded in a hundred milliseconds or less like that. That's that's a fantastic world to envision,
Fred Schott: and and next year it deserves a lot of credit, because they give you a lot of tools. And I think where we see ourselves is this: this reset is like, What if it was fast by default, like, instead of you needing to hire someone who's an expert in performance? What is just like the framework stop you from?
Fred Schott: You know death by a thousand paper cuts or death from one big paper cut like What if we can see ourselves as actually responsible for for performance instead of saying No, that's your job
Fred Schott: We're just the framework you figure out. Performance. It's like No,
Jeff Everhart: it's a responsibility.
Jeff Everhart: That's something I talk about in comparison to the wordpress a lot as well, because it's about that, like philosophical positioning of
Fran Agulto: where, Where are we going to prioritize these optimizations where it's like with wordpress right? You can make fast traditional wordpress sites. But I have to make all these intentional choices where, like you know, next Js. Does some of that for you out of the box, but it's It's cool to have other options out there,
Fran Agulto: and I think on your on. You know asterisk thing is right. It should be impossible to build a slow website with Astra, which I think is like a whole other level of like. We're going to just, you know, not encourage or not allow you to do these things,
Fred Schott: or maybe common practice, but blow it a page, and you know oh, I mean, if you want to build a sub-site, we won't. Stop you. But you have to.
Fred Schott: But it should be impossible. Yeah,
Fred Schott: It should be impossible. Exactly. Exactly.
Fran Agulto: Yeah, wait. So because one of the questions and the kind of you address this Fred is
Fran Agulto: earlier about, and that's kind of a learning thing for me, because you know for me I origin story-wise, because I learned in javascript, and I kind of like Php with secondary in fact, Jason Ball here still has to like be my co-pilot who invented Wp Graphql when we're coding together and writing php But
Fran Agulto: I just kind of wonder, like number one from a comparatability perspective. You
Fran Agulto: what are the are there? I need to see these you guys need to point these out to me the dev memes of comparing Astro
Fran Agulto: to be?
Fran Agulto: Are they like? Is it like talking smack, or is it like good means? Um, And you,
Fran Agulto: you know um! And on the secondary thought that I just had, and you could um add on to it. Right is, I think that's a good approach, because, as far as like having that templating system of Okay, we're going to server. Render these things, and then, like you can choose on the front how to render these things from a tablet perspective.
Fran Agulto: I think layout lies that that totally makes sense for a content-driven site. You know what I mean.
Fred Schott: Yeah, that's I mean that's where I think the names come from Ultimately it's the simplicity of you know. Here's your server Logic user, Template, and the idea of like Well, our actual syntax isn't like this is the Php tag and the dash dash that we use. They feel very similar.
Fred Schott: I've done some wild stuff in beef, or you're like literally like making a day to this call, and then you're like mapping over the rows that come back and like the html then gets added,
Fred Schott: We do have some rules in place like you, you Aren't, mixing and matching. You're very much up here as a server logic, and down here is the template.
Fred Schott: Um. But the idea is that it has something that feels familiar to everyone, so that, like learning curve is something we really care about. And all of this stuff you've been talking about is almost directly in service of master should be really easy to learn, either as someone learning what development for the first time. You're just going to worry about each, you know,
Fred Schott: or if you're coming from react spell, you Php: We tried to have something in there for everyone that was going to be this like anchor. So the astro component. It's a single file component kind of like stalter view, and it uses it's almost gsx like. If you need to work with data. You can kind of map over an array of items like Js: Yeah. So
Fred Schott: it's got all these little things where it's like. This is your hook in if you need to feel familiar, and and the Ph. One is probably my favorite, because it's just like It's simple like That's the mean the meme is that It's like all this complexity kind of melts away. You're just like literally call the database inside your component. You don't have to worry about this like motor function, or
Fred Schott: this code might run in the client. So you can't call the database directly, because who knows where it'll run like that? All melts away like, make a fetch call, make a database call whatever you want to do.
Fred Schott: The end goal of the asterisk. Devon is to render each email on the server. That's at the end of the day. What it's doing, Man Fred. I know you're a busy guy, but man, that'd be cool like
Fran Agulto: it might be a company against company policy, but adding Fred to our Wp. Admin Jeff, and then us through co-writing a blog post tutorial,
Fred Schott: headless wordpress and aster, Yeah,
Fred Schott: I'm down.
Fred Schott: I I mentioned this to you all earlier, but also you will not be the first, because the first person ever do a headless wordpress Demo was Chris Coyer literally rewrote Css tricks, and Astro talking to wordpress, using a fetch call and just iterating over the data
Fred Schott: that was like one of the first ever demos, and that wasn't really. Oh, this is this is here! This is this: all fits together Well,
Fred Schott: it's on Github. I don't know if you ever streamed it.
Fred Schott: Oh, dude! But then he loves the ancestors, and he sold Cs history. So I don't think not a guy anymore. We got to be sick.
Fran Agulto: Yeah, and that's awesome, free. And I think there's a lot of nostalgia, too, as somebody who was doing Php stuff like ten years ago, because it was so simple.
Fran Agulto: It was just a file. You edited the file, and then you clicked refresh in the browser. There, there, wasn't a bunch of other stuff you had to do. It was just that easy.
Jeff Everhart: And that's to me where the beam comes in, and I also think it's funny, because, like
Fran Agulto: as somebody who's been around and done Php: stuff for a while like It's gotten a bad rap. Php has. Its fair amount of haters, so like I feel like you're either like on team paid Php. Or you're like looking at Taylor a wells lambo and you're like
Fred Schott: for this p- Land, you know, like you're you're on one side or the other, and i'm on team like, think fondly a Php. Cause it is still very easy to develop it. I mean it's funny because I I've been on these tweet uh twitter, not wars, but like,
Fred Schott: and even like I have meetups here in Austin Texas in like Javascript, and they get heated like It's almost like a I'm like Bro: It's a programming like so much. These, these these javascript guys. They're like, fran Yeah, Yeah, Yeah,
Fran Agulto: you're messing around with more price. You've been headlessly
Fred Schott: Yeah. Your your career is going nowhere. I'm like i'm on Devereil, but he will always be the first one to just be like you all are fighting over like
Fred Schott: school, middle school drama, and like, meanwhile, people are doing real work over here like,
Fred Schott: Yeah. Figure out your javascript like your little tips, and then come and like, do some real work over here with us. Um, I mean, just make it like we just have to like. Look at the scoreboard, right? Like wordpress, is still forty percent of the lab, like sixty plus percent of content-driven sites, like, or Cms driven sites rather like That's you. Can't.
Fred Schott: I don't know why people don't give a wordpress more credit for that, like everyone's trying to reinvent it. But then like can't come to terms of the fact that it's still this giant force. What? Twenty come up on twenty years later.
Jeff Everhart: Yeah,
Fred Schott: Now you got it you have to. I feel like, if anything that Astro is, It's like It's a recognition of that fact, and trying to. Now take the best parts of wordpress and bring them into this this modern jam stack, Javascript world.
Fred Schott: Because you can't ignore it. It's It's a huge,
Fred Schott: really something going right there,
Fran Agulto: Jeff, and I have said this many times: Read that like this is not a negative connotation at all. The word cockroach. But Php is the cockroach of the Internet. If there was a zombie apocalypse you can smash. Hp: You can spray raid on it. It's not going to die.
Fred Schott: The same old guy guys. It's here just anyway. So yeah,
Jeff Everhart: uh, so awesome. So we'll we'll switch gears just a little bit. So I know, like you have Astro, the open source framework. It also looks like there's an Astro technology company.
Jeff Everhart: It exists alongside the framework. So what's the roadmap Look like for y'all at Astro? I guess company-wise. And How are those two things symbiotic?
Fred Schott: Yeah. So we we formed a company January this year.
Fred Schott: Um, which is mainly to support the project. So we saw that this was starting to catch on. We realized we needed full time. Develop on it. Um, we do have a pretty um. It's a active, open source, sponsorship model. So we have a notify which we're super lucky to have as a sponsor. Um story Block just came on for sale, Google, like we've done a really good job of building up the open source side of things. But
Fred Schott: at the end of the day we still haven't hit like one person working full time on this and to kind of play in this space. Now the the bar has been raised it. It can't be a side project. So yeah, a lot of the company we saw is kind of creating the team that would support this project full time. Invest in it Docs code. The whole deal.
Fred Schott: We very much see ourselves as in support of the open Source project. So i'd say, trying to flip the model a bit in terms of building things that make astro users,
Fred Schott: you know. Help them make their lives better. So i'd say tailwind is a really good inspiration for what we're trying to do here. It's like tailwind. Ui. They're making millions of dollars on that, like just done components alone, like There's clearly ways to build a company around your open source. Project that Aren't, taking advantage of that company of that of that user base
Fred Schott: which I think a couple of it's It's a hard line to walk, but
Fred Schott: we're really trying to be conscious of that. So
Fred Schott: yeah, down our roadmap is is supporting the projects for organ. Our users not building a hosting company like that is not the direction we're trying to go. Yeah, we think there's enough room here to just kind of support the users we have with stuff more like components teams, how people are using astronom. We're super excited and awesome
Jeff Everhart: because it's just interesting to see how how all the different takes on, how how companies decide to do that sort of things. Obviously, you know, like wordpress, where we sort of understand, you know, like we have wordpress associated products, and like
Fran Agulto: commit some amount back to what core development and things like that, if you look at other, some of the Cms is like. Ah, I always get this one messed up. It's not stravy. Ah, it's been for black Cms.
Fran Agulto: No one of the open source ones, and I, I don't know. But you got like things like ghosts to go. Cms: you know, like they're sort of open source have their own, like hosting company built on top of it. So it's really unique to see how how people approach that it's cool to hear that you all are gonna
Jeff Everhart: track what the tail when folks are doing. Because I think that's a really neat
Jeff Everhart: to, and they produce a lot of value for a lot of people for not a ton of money.
Fred Schott: Yeah, it's an odd time for open source, because I think we're a part of this so like Ah, it's, it's like a reckoning of what is our role in this like? You have Bruterius joining Marcel, and and and a lot of other men joining me.
Fred Schott: And clearly there's like big companies investing in open source. So that's one where you can go, or you can build a company. But then you need to make sure those incentives are aligned. Otherwise you're just setting yourself up for failure, and one hundred and one.
Fred Schott: You have to take advantage of your user base if you're not careful. So it feels like there needs to be some fired path, but it's it can't be sponsorship. I don't think, because it's just you. I don't know there's. I can think of two or three projects you and Babel that have done this well, but even dabble with its size, I mean they still, I think, most recently, and just like this isn't sustainable, like
Fred Schott: all of the people who are working so hard on this are taking pay cuts to make it happen like at the end of the day
Fred Schott: there needs to be some pat third path there, and I I don't know what that is,
Fred Schott: man. I tell you what, Fred, you're a cool guy he can because we're so user-facing. We have,
Fred Schott: you know, a great story that we can tell with nullify about pushing our users to check out. Me the fine. You know It's it's a sponsorship. There's you know. It's like, Yeah, you're wearing. Mike used to play basketball like there's a There's a contract there a bit, but
Fred Schott: it still allows us to do some really cool things. We just did a like literally yesterday or on Friday of last week, a giveaway like every couple of months we give our full sponsorship budget back to the contributors in our community.
Fred Schott: So it's totally that's awesome. It's awesome
Fred Schott: every couple of months it gets bigger and bigger. So it's just five thousand dollars given back to people working on Docs people working on the Verscell immigration. Just the people who are making this community awesome. So
Fred Schott: it's cool. We do get to in little ways Play around with the things that we want to see happen in open source, and you're actually using your budget for the community as a big part. Yeah,
Fran Agulto: Because what I fear like most of, and this is something like where i'm kind of a little bit newer on the business side of things, Fred, is that
Fran Agulto: there's been podcast. I've listened to where, like, if an open source project, obviously it's open source.
Fred Schott: So if it's not properly funded or whatnot, that maintainer has a day job, it has to pay bills. It gets abandoned. It was a cool, open source project, but no one's working on it because they can't afford. You know what i'm saying it's that kind of like at the end of the day you have to make some kind of money, and that's why I'm like always trying to connect like, Okay, how can they?
Fran Agulto: There are?
Fred Schott: Yeah, I agree. I totally agree. I know It's like companies hiring you to work on. The project seems to be a trend that I mean, that gives someone full time, but it Also, it's that same incentives question that you just got to watch out for, like, are you incentivizing to work on behalf of the company, or on behalf of the the framework.
Fran Agulto: yeah, that's a
Fred Schott: and that that does become a hard line to toe. I mean credit to Zach Andrich both. I think they've done a good job of,
Fred Schott: and actually um. It was a Ryan, a carnyado of solid like. I've talked with all of them, and I think they all were like, Okay, i'll join you. But like this project, Isn't: a amplify project, or every salt project like this is Yeah, a project. You are sponsoring open source development. So it's possible. I think they've done a good job so far.
Jeff Everhart: cool. So we definitely we're pushing the top. There definitely want to be respectful of your time. I think we got two more two more quick questions that we'll hit you with. So
Jeff Everhart: uh in in your experience, have you seen. I obviously you mentioned the Chris core thing. That's a pretty big example of people using headless wordpress with Astro? Or is there anything else that you've seen out there in a while. Um! And any thoughts on how we, as people who are working on how this word for us could make this more appealing to your
Fred Schott: yeah. I mean you. You mentioned the term that we we love, which is big town like our whole thing is, and it's, I think, a part of this headless jam stack world where we find ourselves now, which is like everyone is building. Assuming
Fred Schott: that someone's going to consume them, using some standard way. So fetch Fran. You mentioned like That's yeah, if that's the Api wordpress we support. Fetch. You know
Fred Schott: we have this really cool other system which you all mentioned, Astro. Ad. It's like how we have integrations to use your favorite framework, your favorite um libraries, tools, Story block, is a good example. They just released a new integration of literally like Astro ads, and it lets you.
Fred Schott: I mean it hooks up your authentication. It hooks up all the kind of Apis, you need It's essentially an Sdk integrated directly in the astral, and that's something we're really excited about,
Fred Schott: because it lets us kind of we don't have to build every Cms into a single Api kind of like what Gatsby does with Graphql Instead, every Cms, every content source, can have its own integration that you learn you have the readmate. You have the documentation. It's designed for that exact use case,
Fred Schott: some stuff like that is really exciting, I think, with our V. One launch that's we're only seeing the early days of what that looks like. If anyone wants to get involved.
Fred Schott: If you all, if you want to pair a program on something that'd be nice to start.
Fred Schott: I saw the story block thing, and I was like, Wow,
Fran Agulto: Yeah, we sure should we should consider.
Fred Schott: And it's really it doesn't even have to be that hard like It's just like best practices. Again, it can use patch internally. So you have all the tools there. It's just a building in best practices, making people feel like they're on the welfare that that that's a big thing that we see our innovations as a survey.
Jeff Everhart: Very cool,
Fran Agulto: awesome. Afraid. You want to r myself with our fun Question.
Fred Schott: Yeah, before I ask the fun of the brand fun question at the end. I just think that I um right after the podcast. Ah, let's let's sink again. I mean, we we can communicate by email, but that would be cool like future wise. Maybe some kind of live stream between the three of us, where we literally so. Um take a graphql and wordpress endpoint,
Fred Schott: and then just consume it, and it doesn't have to be fancy. It's just like an entry.
Fran Agulto: Oh, man, Okay. So, Fred, I know that you can't just sit in front of a computer and talk Astro all day. I mean, you're a human being. So so for fun
Fred Schott: to decompress, because, you know, there's diminishing returns in code. If you're sitting there and you're banging your head, you need to step away. What What do you like to do to be compressed? Are you a rock climber, do you? Mountain bike? Do you just throw more javascript?
Fred Schott: I mean It's a weird part of coding as a job where it's starting as a hobby, and now it's a job, and it all gets jumbled together. Um, I I had a daughter last year, so I have a sixteen month old daughter, and that's that's a big part of what I do when i'm not working. Um! There's plenty of that. That's enough work to keep you busy for
Fred Schott: your life. That's out.
Fred Schott: It's like, Oh, I did all this cool stuff on the weekend, and i'm like what we get. You don't working, We want, you know, Yeah, weekends are, say, like sock or something. Yeah, Exactly.
Fred Schott: That's awesome. Yeah, that's that's like a full-time hobby job on the site in itself. Being a you.
Fran Agulto: Yeah, and especially yeah, So I I totally. I totally get that um man. I definitely
Fran Agulto: i'm pretty self. I don't think I could give man. I'm never going to be a dad or a husband.
Fred Schott: I think we're just a relevant out of the We don't have the worst part of it, which is, you know, like a newborn like. Now we got a Tom, I think I've heard. I don't know,
Fred Schott: Jeff. You can tell me I've heard it gets easier
Fred Schott: in some ways, and in some ways it's just that we're Comp: that's not reassuring at all. Yeah, you get more mobile and more fun like, And so like I definitely love watching my kids grow,
Fred Schott: but I can't like carry them around in a bass net thing anymore, which was nice. But they sleep so like. There. There's just trade-offs all around trade-offs all around. But that'd be cool to make like astro baby swag like baby Astro Rally
Fred Schott: i'm pushing us to have one career like just wild out there like the flame thrower of Elon Musk.
Fred Schott: That's yeah, i'll baby baby rocket packs.
Jeff Everhart: I say that, knowing that no parent's going to put their baby in a rocket back.
Fred Schott: Yeah, Jeff Delaney from Buyership Io. Who's awesome, By the way, did a hundred seconds of what asteroid i'm sure you've seen the it's. Yeah, it's. It's pretty
Jeff Everhart: ah awesome bread. Thanks for coming on today. We can. We can wrap it up um. But definitely. Thanks, thanks for coming on, Astro. I'm pumped about it. So if you're listening as an audience member like you're going to see me doing more stuff with it
Fred Schott: both personally and professionally. Yeah, for sure. And then, yeah, Fred, I think we would be really excited about any kind of future collaborations or anything.
Fred Schott: Yeah, I was gonna say some links asterd up build as our homepage. Um! If you could start a Github repo we're trying to get to twenty K stars that's our next goal. So every start, count sounds appreciate that. Um. An astronaut builds slash, chat is our is our discord server. So come, join, give a wave. Say, Hi! So you came from the podcast.
Fred Schott: We We do a lot of our collaboration on discord. So it's a great, really fun community,
Fred Schott: and I just popped in there this morning, so i'm i'm excited to poke around and beat some new Astro heads. I don't know astronauts.
Fred Schott: What do you call your
Fred Schott: so embarrassing. We don't actually have a name. I think astronauts just because it's
Fred Schott: yeah, we see the Astros like the the baseball team. It's
Fred Schott: Yeah, we haven't figured so many you can. Yeah.
Fran Agulto: Uh: Oh, man, it's like,
Jeff Everhart: Yeah, It was. Thanks so much, Brad, for coming on.
Fred Schott: Oh, my pleasure. Thanks for having me out. Yeah, all right, Cheers. We'll talk soon. Take it easy, bye,