We have a couple of design principles on the Astro web framework. One of my favorite one of them is this idea of pushing the web forward. There are plenty of web frameworks out there. We don't want to just be another one of them, another way to use React or Celt or Vue. We want to be something that challenges best practices and ideas.
So to give an example of this, when we started Astro, we were looking around. And one of the things that was like super frustrating at the time, this is going back, you know, a while now, was this idea of performance. You know, every web framework, including Next.js, including, God, what was, you know, create React app especially, they had their great hello worlds, their great blogs, their great getting started all looked good under the kind of, you know, if you look at them quickly, the performance was there. But then real world, they all struggled to actually deliver on that promise. So real world performance and kind of theoretical performance, very different.
When you're shipping a lot of JavaScript to the client, it's really hard. Your baseline is already so high to then have so little room to wiggle around and actually build your own code when the framework is taking up so much of that. When you're building your UI as a JavaScript app versus a page of HTML that is static and fast and has interactive components, we're not talking about a static kind of dead web, but the idea of shipping an app versus a page, in practice, it becomes very hard to make an app performant at the same level that a page of HTML can be.
So we saw this problem where in real world applications, everyone was struggling to hit performance. No one up here is batting above 50%. Right? Some are even, you know, one out of five sites are performant, four out of five aren't. That's a really kind of scary place to be in. And so we saw this problem not as a problem of developers not taking performance seriously. You know, it's not really something that is up to everyone to be an expert in performance. If that's the baseline for the web, that's a pretty tough place to start. We saw this as a problem of tools. Tools can do a better job at, we use this term, the pit of success, pushing you into the pit of success. You should fall in to success, not have to struggle to climb it.
So we built Astro around this idea of performance. We shipped a new architecture called Islands, which is incredibly performant. It strips out unnecessary JavaScript, it makes your page faster. And now, after years of real world adoption, we are now way, way above baseline here against every other JavaScript framework. This idea that full stack JavaScript is like this super unified story, but it doesn't have to mean everything JavaScript, client JavaScript, server. Everything is getting shipped to the user. We can be much smarter about how we deliver that. And the results here speak for themselves. So we're not even like the smallest or the second smallest in this chart. There's so much real world data that shows that when you remove JavaScript and get super smart about how you deliver your site, even if you're using React, even if you're using a framework, whatever your favorite tools are, you can still bring those to the developer experience, but get something at the end of the day that's much, much faster, a much better developer and user experience. That's our goal with Astro, ultimately, especially for content sites. Content is so important to the web. That's our whole focus. If you're building a marketing site, a blog, an e-commerce site, if the main purpose of your site is to deliver content to the user, that's where Astro can really come in. So if you haven't checked it out, that island architecture, that's the original kind of genesis of Astro challenging the way that frameworks build sites. The next year, we looked at content as a primitive for Astro. So content has lived as a primitive in static site builders for forever. Gatsby had the GraphQL content. This is not a new idea, but we wanted to bring this to the modern age, right? TypeScript, not GraphQL, schema validation, front matter validation. We built content into the platform of the Astro framework last year, or a couple years ago. And then lastly, view transitions. If you haven't seen view transitions, they're gonna blow your mind. React, Astro, it doesn't matter. This is like one of my favorite technologies to come out of the web platform. So if you haven't had a chance to check this out, we're gonna dig into it because it's really, really cool. And there's some really exciting things happening, not just like this year, but like literally this week that we're gonna dive into. So view transitions, we started adopting last year.
Comments