Inspired by Ruby on Rails and Laravel, the framework is designed to emulate the familiar MVC patterns of these previous backend tools but with support for the requirements of modern apps that use data-driven APIs for building scalable, service-oriented architectures.
Last week, we were live at RenderATL and spoke with Taylor Desseyn, James Q. Quick, J. Dash, and Dev Agrawal about what they were most excited about for the conference. We've also got four (!) podcast interviews coming at you in the next few weeks from Render, so stay tuned for that!
Story of the Week
Astro 2.5 and 2.6
Last month, Astro announced the release of Astro 2.5, which offers a wide range of new features aiming to enhance the capabilities of Astro with an emphasis on improved rendering speed, component flexibility, and content management. They quickly followed up this week with the release of Astro 2.6 which focuses on the stable release of middleware. Features in the releases include:
- Data Collections and References: Astro 2.5 now allows JSON and YAML files to be included in the
src/content/folder. These files can store data and be referenced in other collections. This feature enhances content management and authoring. With this, users can create data collections alongside their existing content collections by configuring them using the new
type: 'data'property. A common use case would be a blog post referencing reusable author profiles stored as JSON in a data collection.
- Hybrid Rendering: This experimental feature permits server routes in mostly static sites. Introduced in version 2.0, Astro 2.5 expands the ability to pre-render individual pages in Server-Side Rendering (SSR) apps. Now, users can specify routes that do not need to be pre-rendered in mostly static sites. This hybrid server output option changes the default pre-rendering behavior of SSR and can be enabled using the
- Custom Client Directives: Another experimental feature, custom client directives give integration authors the ability to define their loading mechanics for client directives. This can be enabled through
customClientDirectivesin the experimental section of the configuration.
- HTML Minification: An optional feature, HTML minification, allows users to minify their Astro templates by removing all whitespace including line breaks. This can be enabled using the
compressHTMLoption in the configuration, and it works both in development mode and in the final build.
- Parallelized Rendering: In Astro 2.5, sibling components run in parallel, accelerating the rendering process when there are multiple components doing their own data loading. Prior versions required each component to wait for the previous one to finish before it started rendering. The new feature ensures all components render simultaneously.
- Polymorphic Type Helper: This feature enables users to define a component that accepts the same properties as built-in elements. This is particularly useful for components that can render as different HTML elements, depending on the props passed to them.
- Middleware: Previously introduced in Astro 2.4, middleware provides greater control over Astro projects, allowing developers to run code before or after page rendering, including functions for authentication, redirects, and header modifications.
- Hybrid SSR Output Mode: This new stable feature allows a blend of interactive API endpoints and pages, maintaining the project as static and pre-rendered by default.
- Custom Client Directives: First introduced in Astro 2.5, custom client directives control how interactive UI loads on your page on a component-by-component basis. Now developers can define their custom client directives.
- CSS Inlining: A new configuration option in Astro 2.6 automatically inlines small CSS snippets into HTML, reducing the number of requests and external stylesheets needed to load a page.
- Redirects (Experimental): This feature simplifies setting up page redirects in Astro projects, ensuring consistency across different hosts, and between development and production.
- Markdoc Improvements: Enhancements to Markdoc include automatic id generation in headings, better syntax highlighting support, and support for config extensions with extends.
- Language Tool Improvements: The Astro VSCode extension is upgraded with the release of @astrojs/language-server 2.0, leveraging the Volar framework from the Vue team for improved performance and stability.
Further details, along with examples and additional bug fixes/improvements are available in the release notes.
- Prithwish Nath - Dodging the Vercel Tax: How to use an open-source alternative for Serverless Postgres, Redis, and Blob Storage
- Andy Jiang - How to Build a CRUD API with Oak and Deno KV
- Bryan Robinson - Eleventy by Example
- Matt Mullenweg - WordPress Now Available (2003 announcement post)
- REM - The evolution of React APIs and code reuse
- Fireship - I tried 8 different Postgres ORMs
Alright, we've run out of all Composability Summit talks except for one which means you're going to be subjected to my talk! In, A Crash Course in Web3 for Web2 Developers, Anthony Campolo (me!) walks through how current web developers can feel right at home in this new paradigm by understanding the basics of smart contracts and how they interact with well known frontend clients and web application interfaces.
Podcasts of the Week
- Web Rush - Astro 2.5 with Alvin Bryan
- SyntaxFM - Matt Rothenberg and Idan Gazit on Github Next
- PodRocket - Supabase in 2023 with Jon Meyers
- PodRocket - React, TypeScript, and ESLint with Josh Goldberg
- Jamstack Radio - Open Source eCommerce with Saurav Pathak of Bagisto
One More Thing
You might remember in our conversation with the Marko Team back in March, we discussed the brand new Marko meta-framework, Marko Run. Curious to learn more about the beta project?
Find us online at the following links: