Well, little introduction and little surprise I can give after reading the title of this post, but yes, as it says, after a year of blogging with Hugo as a framework I have decided to take the step to Astro.
Why the change?
Although my experience with Hugo hasn’t been the worst, there are several aspects that I thought could be improved and that prompted the change.
- Hugo is written in Go: this was initially a plus for me as I was developing some applications in Go on my project at work, the reality is that if I want to learn and acquire frontend skills, Go is by far not the most widely used programming language in this respect, and although it was useful to have used it on this project for my backend skills, I prefer something that will make me grow in other aspects.
- Little community compared to other frameworks: although I think Hugo has a great community, it is not as big as Astro’s, which makes the process of resolving doubts, reading comments, or feeling part of a community easier and more satisfying.
- Complex or unintuitive logic: since Hugo is written in Go, it uses a Go-based templating system, whereas Astro is written in Javascript and uses a more React-like templating system with components. And since React is the undisputed king of frameworks, Astro is the most logical choice (and we can integrate almost any other type of framework).
- Development and market growth of the framework: here the difference is clear, Astro is the framework of the moment, the interest in it is growing and it is accepted by many big companies like Google, Microsoft, Vercel or Cloudfare among others.
What is Astro?
Starting with what we all already know, Astro is a web framework designed for building content-driven websites like blogs, portfolio, e-commerce, etc.
So what does it have that others don’t? The reality is that I can’t go into too many technical details as I’ve only just started and this is also a learning process for me. But some of the key features that make Astro a unique framework are
- Islands: a unique web architecture based on “isolated” components that load JavaScript only when needed.
- UI-agnostic: as I said, it supports many front-end frameworks, such as React, Preact, Svelte, Vue, Solid, Lit, HTMX, Web Components.
- Zero JS, by default: web pages are not made entirely in JS and it is not loaded all the time, with Astro, JS code is loaded only when necessary.
- Customisable: can be easily integrated with many of the most popular plugins.
Main differences in the blog
In addition to the benefits that correspond to the guts of the blog, there are also some visual aspects that have been changed and adapted for the better.
- Cleaner interface: although we keep the same style of the Cactus theme, the style of the posts has been changed to be better adapted to mobile devices, with more clarity and more visuals.
- New data and statistics: posts now include new data such as read time, tags, updated date and a clearer table of contents.
- More visual options: posts can now include header images, integrate web components and run logic code in an easy way, greatly expanding the possibilities of what you can do.
- Dark or light mode button: now we can toggle the dark mode of the blog to our liking and it’s not hardcoded in the code!
This is just a little bit of what is new, I am certainly very happy with the improvement of the blog and all the possibilities it offers.
What’s to come
Apart from the guts and the visual aspect, I’ve personally wanted to make some changes in the way I write and what I want to focus on.
Although last year I wrote a bit of everything, from explanations, tutorials, projects or even configuration guides, this year I want to continue to write a bit of everything, but make a leap in the quality of the posts and focus on aspects that can lead to personal enrichment. To do this, I want to do more technical explanations of concepts that I am learning or that I already know, but that I think are fundamental to my day-to-day life, and I want to do one or two small personal projects and document them bit by bit.
The frequency of posts will continue to be about one post per month, with some exceptions of months with more than one post or months with no post at all (I need to rest too!).
With all that said, I hope the changes are to your liking!