I gotta admit: it looks awesome. I’m bullish on two major parts of this:
Here’s a list of some interesting aspects:
- Like Vue has
.vuefiles and Svelte has
.sveltefiles, Astro has
importthem in your Astro files.
- It has the-filesystem-is-the-default-router, like Next.
- It has scoped-CSS-by-default like Vue’s
<style scoped>, meaning it doesn’t even need CSS Modules since you get all the benefit anyway.
- It embraces the idea of Islands Architecture — the idea that most sites are composed of static content with only parts of interactive/dynamic content.
IntersectionObserver) is a first-class citizen of the framework — Kinda like
loading="lazy"for anything interactive.
- It sneaks MDX (or the like) in there, meaning you can author content in Markdown (good) but sneak
<Components />in there too (also good).
I quite like that it doesn’t have this whole,
This is a new thing! You like it! Old things are bad! New things are good! sort of vibe. Instead, it has a
We’re gonna steal every last good idea we can from what came before, and lean on what the native web does best vibe which, in turn, makes me think of Baldur Bjarnason’s “Which type of novelty-seeking web developer are you?” article
This is the first kind of novelty-seeking web developer. The type that sees history only as a litany of mistakes and that new things must be good because they are new. Why would anybody make a new thing unless it was an improvement on the status quo? Ergo, it must be an improvement on the status quo.
This is the other kind of novelty-seeking web developer, one who seeks to build on the history and nature of the web instead of trying to transform it.