Astro 2.0
astro.build
astro.build
Update, they created Snowpack (https://www.snowpack.dev), PikaCDN (now Skypack, https://www.pika.dev/cdn),
File system as db, markdown with templating and js expressions, nasting layouts, quick random endpoints, filtering of collections, named slots everything repo friendly - whats not to like. Also, great content and looking docs (particularly interactive tutorial).
Reminds me a lot of nanoc SSG framework (ruby).
The project is also 15+ years old and continiously developed.
Maybe I'm thinking too much about it, but I got triggered by "This new release is a game-changer for anyone working with Markdown on the web", the style of writing is very similar to ChatGPT... Also, I work with markdown on the web and never had any problems with it, not sure what's the problem solved by Astro.
> Astro now helps you organize your Markdown with built-in parsing, validation, and automatic TypeScript type generation.
The bolded text leading the paragraph of your quote:
> deliver complete type-safety for Markdown and MDX
The announcement is about typing MDX. Also, Astro just works out-of-the-box with MDX, Next.js you have to do configuring. In others your don't get SSR. Personally Astro has the easiest and most flexible markdown experience ever. It makes sense to focus on that support and to lead with it. You can even have templates in JSX with MDX content files, cool stuff like that.
The Hybrid Rendering feature is really cool too. I have a few pages I wanted to SSR, but most of the site can be SSG. This saves from needing two projects. I can select pages to generate at build.
The rest of the error message optimization and dev tool improvements is always welcome.
Not affiliate with Astro btw.
For content based sites it definitely feels like a massive game-changer because you can write everything in any framework and render it all to static HTML. Or if you need some JS you get hydrations out of the box for free.
The type-safe MD/MDX in 2.0 seems very useful as well. Pre-defined functions for fetching content which have auto-completion and typing sounds very exciting for DX.
Guess it's time to learn how smooth the upgrade path is...
Astro 1.0 – a web framework for building fast, content-focused websites - https://news.ycombinator.com/item?id=32401159 - Aug 2022 (249 comments)
> Hi everyone! Sorry for not posting the announcement here, too. I can confirm that we’re going to add Astro support in v2023.1. We will keep you posted on our progress once we start working on the issue and will ask you to give Astro support a try and share your feedback with us. Please keep monitoring the issue for updates.
Sounds like it's coming soon!
https://docs.astro.build/en/concepts/mpa-vs-spa/#case-studie...
They're going out of their way to imitate the lazy-loading Qwik does by default for the parts that require heavy-lifting, once they disable that the magic's gone.
They weren't, as expert frontend programmers, even 100% sure about what was causing the high scores at first and they had to go and check if it was the lazy-loading for themselves. I'd give an average dev something with the Qwik approach, where they don't have to choose and automated analytics-based PGOs can be performed.
With that said they stated that the server-side rendering part of Qwik is not very optimized. I'd love to see if Qwik.js can get their SSR to perform better or if someone else (hopefully in a better language and runtime) is able to knock that one out of the park.
Astro is tries to rely on SSR as much as possible with MPA approach, so the client have to render as little JS as possible.
Qwiks goal is to be instant for every device, it does this by delaying the download & execution of JS so much it can. Qwik also partially renders the content in its state on the server, then sends it over to the client to do the rest.
With Astro it is just components. I am used to those. The cognitive load is much lower.
This video release late but might be useful for introduction to Astro.
If you have pretty much entirely static content, Astro will almost definitely be more suitable due to the lower JS you’ll be shipping.
If you need complex interactions and nice client side routing you’ll want SvelteKit. You can embed SPA routers etc within Astro but I feel like once you’re going down that route you might as well just use a more appropriate meta framework.
For something in between, it’s a toss up.
I will say SvelteKit is the best frontend meta framework I’ve tried so far. Happy to answer any specific questions.
Astro might just be the solution. It is for a largely text-based project.