Astro

Astro1 is a relatively new framework that aims to minimise the amount of JavaScript sent to the client. It introduced a frontend architecture where websites are largely rendered on the server, but contain so-called Islands of interactivity. For these Islands, Astro can work with a variety of frameworks, including React and Vue, or lightweight alternatives like Preact and Alpine.js.

Comparison

Each of the requirements is scored on a scale from 1 (very poor) to 5 (very good).

Target use

Score: 2. Astro advertises itself as a framework for content-driven websites, such as blogs and marketing. It focuses on fast loading and search-engine optimalisation.

Client-side interactivity

Score: 3. By default, applications work similar to classic websites, with page navigation requiring a reload. Recently, however, Astro has gotten opt-in support for client-side routing, which makes it feel more like an application. Rendering mostly remains server-side, however.

Data transmission

Score: 2. There is support for fetching data from API routes, but integration with the interface has to be done manually.

Server-side rendering

Score: 5. Astro focuses heavily on keeping most rendering away from the client.

TypeScript support

Score: 5. Astro has built-in TypeScript support. Creating a new application using their wizard also makes it possible to use TypeScript.

Local deployment

Score: 4. An official adapter plugin needs to be installed and configured to be able to build server-rendered sites, after which the application can quickly be deployed.

Ease of use

Score: 5. Generally keeps to the basics of HTML, JavaScript and the chosen UI framework, which makes it easy to get started. Astro also has clear documentation.

Community

Score: 2. Astro has a Discord server with quite a large active community. Finding answers on StackOverflow is difficult, as the number of questions is small and many remain unanswered.