Devlogs

EN

Why I decided to leave Next.js and switch to Astro

3 min read

After several attempts to adapt my personal blog to Next.js, I have finally decided to stop using it for this project. Not because it is a bad technology, far from it, but because it does not fit what I really need and want for this site. The change came after facing a series of frustrations, reading about other developers' experiences, and reevaluating my priorities.

Reasons Why I Left Next.js

  1. Slow Perceived Performance: Although Next.js follows good performance practices, I noticed that page transitions felt sluggish. I felt that something as simple as displaying an article page took far too long.
  2. Complicated Internationalization: I tried implementing NextIntl to handle multiple languages, but the process was complex and prone to errors.
  3. Not What My Project Needs: After some reading, I concluded that Next.js is better suited for more complex applications requiring intense interactivity, many dynamic routes, or server-side functions. My blog is a static content site simple, minimalist, and focused on reading.

Why Astro Is the Right Choice

Astro seemed like the solution that best fits my goals:

  • Excellent Performance: It delivers optimized static files by default with very fast loading times. This is ideal for a blog where content doesn't change very often.
  • Minimalist Design: I don't need JavaScript everywhere; this reduces the initial payload size and improves the user experience.
  • Simple Internationalization: I implemented i18n quickly and efficiently without needing to install additional packages or write complex code. Here is the basic configuration example:
import { defineConfig } from "astro/config"

export default defineConfig({
  i18n: {
    defaultLocale: "en",
    locales: ["es", "en", "pt-br"],
  }
})

https://docs.astro.build/es/guides/internationalization/

Astro fits my blog perfectly making it minimalist, fast, and content-focused. Although Next.js is a powerful and very capable tool, for this personal project, I prefer the simplicity and performance that Astro offers. With Astro, I am creating exactly what I want: a fast-loading static website without unnecessary complications.


Share this article on

Avatar byandrev

Andres Parra

Software Engineer

I'm Andres Parra, Software Engineer passionate about developing scalable and innovative technological solutions. I specialize in building modern web applications, mastering a versatile stack that includes JavaScript, TypeScript, Python, and Java, along with frameworks like React, Next.js, and Spring Boot. I'm also interested in the latest technologies and tools for development.