But content, this is not a new problem on the web, we have CMSs, we have remote data. We should be able to solve this at the astral level. So one of the things we're exploring this year, early RFC but still something we're actively working on, is the idea of a more powerful content layer. Basically, Gatsby the good parts. Can we get this idea of a unified content layer that isn't just about Markdown, but it's actually about wherever your data lives, remote, local, pull it all into a unified data layer that then you can build on top of reliably, consistently, and with well-documented APIs. So support the same stuff. Backwards compatibility matters a lot. This idea of, if you just want to use a folder of Markdown, great. Or MDX, fantastic. We'll give you helpers to work with that. If maybe you want local content, but you want to break out of this rigid folder structure, you want all your entries in one data file, like a big JSON array, great, you can do that too. You want to write something totally custom, so you want to provide just an inlined array of data, you want to go and make a fetch call to some remote API, that's awesome, you can do that as well. Whatever you want to do, custom loaders.
And what we're most excited about is this idea of making this pluggable. So, you can write your own custom loader, you can package that up, and you can ship that to NPM. Now, anything can be pluggable, anyone can consume that. You can have your CMS like Storyblok. You can have Instagram, Twitter, whatever you want to load content from, pulling this together in a composable way, into a single unified content layer. So there's plenty more on this API, this is just kind of a sneak peek at what I think is most exciting about it. It's pluggable, remote, local, whatever your data looks like, you can pull it into this content layer.
One thing that I don't have time to mention, but also very cool, I mentioned scale. Using a real database this time, not just a giant in-memory blob, but actually embedding SQLite into Astro itself to power this will help us scale to tens of thousands, hundreds of thousands, however much content you have. SQLite's a really, really dependable database, and it runs embedded inside of Astro, so no Docker containers to spin up. Really cool technology that we're exploring here. It's still Stage 1, it's an early RFC, but this is what we're actively working on this year.
Alright, last. This is one we haven't talked much about at all yet, so you all are kind of seeing this for the first time. What are we doing about island architecture? What's the next play there? Again, I mentioned this idea of islands of interactivity. This is a really helpful illustration from the Deno team, this idea of static HTML, islands of interactivity. This was our original front-end architecture, it's optimized for content sites, when most of that content is just, you know, not about user apps and big, complex state.
Comments