Building My Website: Part One
Core Choices: Language, Frameworks, etc.
First off: Why not just use HTML & Vanilla JS?
Yes, I know that there is an inherent speed benefit to using HTML. There are a couple reasons why I chose to go with a JS framework. The main reason is Reusable Components. This is a feature of all JS frameworks that are worth learning. I know that I will have multiple pages that will need to have a similar layout and this is the way to go. The other reason is that I find it significantly easier to integrate features when using a framework. Take React for example: the
useState hook is super useful.
In response to the first reason, some would say: Why not Hugo? I definitely looked at Hugo and it definitely has its uses but there wasn't an easy way to integrate React into it. And in response to that, some would say: Have you seen astro.build from Snowpack? I have, and that framework is certainly very cool but there are two issues with that: 1; the React loader wasn't working on my computer and 2; It didn't feel as flexible as some other options.
The Three Stooges of Web Development
React, Angular, and Vue
I decided to use React. The primary reason for this being that the first time I tried it, I fell in love with JSX. The syntactic sugar is insane. I love being able to reference variables and write JS expressions inside the markup. In addition to that, there's a massive developer community around React which makes it very versatile. However, React is known for being unopinionated about how you use it. How would I use it? This leads me to my next section:
The Dream Team
Next.js bills itself as the "React Framework for Production" and I could not agree more. Next is so easy to work with in addition to having great expansion capabilities. To shut down the alternatives: As for CRA, I didn't want to leave the automatic optimization that Next does; and for Gatsby, the docs are great but I find the framework itself to be a little bit daunting. It's also reassuring that Next has great support in the form of Vercel, who I doubt will be going anywhere since their valuation of over $1b.
Work Smarter, not Harder
When I started down my web development journey, I always used JS. I wanted to be a pure JS child above all before I learned tools like Typescript. I heard whispers of the magic of Typescript and then one day, I watched this video made by the great Jeff Delaney over at Fireship. I was sold primarily on the autocomplete and then doubly sold on the concept of type checking to catch my own stupidity.
Did you find this article valuable?
Support Henrik VT by becoming a sponsor. Any amount is appreciated!