Migrating To Astro
This is the first blog post on this website 🎉.
So, Why the Move?
TLDR; to get a better load time performance and easier content creation.
Previously this site was created using React and hosted on GitHub Pages. Using GitHub Pages means you are limited to only hosting static site(static files) only, so no server side component or server side rendering. While hosting a React+Vite site from GitHub Pages is completely viable (and free), I think there is a wasted opportunity here. React being a primarily CSR (Client Side Rendering) means everytime someone visits the website, the server (in this case GitHub Pages) only sends the minimal html and a bundle of JavaScript code to the client. Using CSR means the burden of rendering(loading) the page is placed on the client’s device i.e., their phone, computer, or tablet.
Why do I need burden the client with loading the content?
Since my website consists mostly of static content with little to no interactivity, why do I need to load the content on the client when I can just send the completed page anyway? Also I heard having fully rendered pages help with SEO, so there is that. I am already limited to serving static files only anyway on GitHub Pages, using CSR does not really reduce server side processing for me. While I get using CSR can still reduce the number of request to the server, it does not do much for me since I am not paying for GitHub Pages.
Thus, the move to SSG (Static Side Generation) using Astro. Also as a bonus, Astro has a template for blog sites, which makes my job easier building this site.
Anyway
I will try to put more blog post on this site.
Thank you ✌️