simeonGriggs.dev
Twitter
GitHub

There's never been a better time to build websites

We're closing in on the end of 2021 and I'm as excited now about building websites as I've been in ~25 years.

View in Sanity Studio

2021-12-17

My web development origin story goes back around 25 years.

Back then I spent my weeks playing Red Alert, until the weekend when I could book 30 minutes of Internet Access at my local library. I'd ride my bike taking a fistful of floppy disks to download as many web pages and images to take home, study the code, and build web pages offline using Notepad.

It was thrilling.

25 years later and I'm as excited about creating websites as I was then. Feels like we're still on the crest of this wave.

Even in the last few weeks there's genuine inflection points in the way I make websites. Some completely new, some reversions back to ways of old.

While there's absolutely a learning curve to getting started, once you've got momentum, modern web development feels like having rocket boosters. The distance between idea and execution is as short as it's ever been.

Speaking of learning, that's number one on my reasons why I'm still excited about making websites...

Learning materials are almost unlimited

There's never been so many ways to learn so much about web development.

Not so long ago, I talked myself out of using JavaScript, mostly because I didn't know where to start learning it.

Now you're a google or YouTube search away from learning just about anything – often for free. In addition to expertly guided learning materials, ranging from free to paid. And the paid tutorial space has so many instructors, the quality of content is extremely high.

Frameworks are lifting each other up

🌶 Static was a fun diversion, but we're back to what works.

If you've only come to web development in recent years, you might think that minutes-long build processes are normal. They're not. They're a relatively recent quasi-solution to a relatively old problem – server maintenance and security is the worst.

So at some point we all accepted that if every time we need to fix a typo, it's okay to wait ~10 minutes to completely destroy and rebuild the website again as static files on cheap hosting, it'd be worth it.

Enter Remix.

The first time you see your website instantly update because you made an change in your CMS, it'll shatter your whole Static Site Generated world view.

Remix.run gives us the best of both worlds. Still writing your site predominately with JavaScript. But using the "old way" of rendering HTML when a request arrives – either by serving it from a cache or the server – not precompiled in a build process.

There is modern, JavaScript-first web development before Remix, and after it. This is an inflection point.

And you know what else? Next.js is still awesome. Just this week I started a new project and still chose Next.js because of the depth of support and maturity of the platform. With Remix (and others, hi SvelteKit) biting at its heels, it will only get better. The competition is good and we all win.

CSS is a solved problem

🌶 CSS is effectively solved.

Tailwind CSS is the best thing to ever happen to CSS. I cannot imagine ever writing CSS in a separate file and having to think of names for elements.

It's also an excellent resource for beginners. Yes, someone experienced with CSS first will understand more of Tailwind. But a beginner with no understanding of CSS could get started faster – while still learning a lot of the syntax of CSS.

Creating a new playground with tailwind.new removes the need to colocate files, create class names and repeat yourself.

(No one should ever need to write display: flex more than once in a project)

It also helps that intellisense is amazing. I was using Tailwind before it and that involved a lot of switching between the Documentation and VS Code.

Tailwind the company is equally, if not more impressive than the framework itself.

The volume and quality of what this small team releases is phenomenal. As is their vision – it was never just about CSS classes. Tailwind CSS is a design system token generator, the pinnacle of software documentation, clear educational material and a relentless cadence of improvements.

...and you get all that for the cost of maintaining one .css file!

GitHub Copilot

This might be the biggest revelation. I've had access to the Beta since July but for some reason only just installed it. It is everything everyone said it is!

There is web development pre-and-post Copilot. Again, this is an inflection point.

Highlights of using Copilot for a few weeks

  • Describing a function in a comment, then having the logic of the function suggested with perfect accuracy.
  • Doing the above but actually having the wrong thing suggested. This then becomes a mini coding test to debug the suggestion. It's usually close, and so doesn't require a lot of work to keep going.
  • Reading Copilot's suggested logic in order to understand why it has suggested what it has. Copilot is a teacher.
  • It. Does. Regex.
  • It knows GROQ, and Sanity Schema 🤩

Copilot replaces the "I'm stuck and need to find code on Stack Overflow" part of your workflow

Content management is limitless

Some major bias at play here but when I came across Sanity I finally found "the CMS I'd always hoped existed".

I used WordPress for the longest time but only once I found Advanced Custom Fields. And for as long as I used WordPress I wished someone would just make "ACF CMS".

And that's partly what Sanity is, but also way better.

Sanity's not trying to be a CMS, but it happens to be the best CMS.

It's also a composable, deployable, schema-as-code, near-infinitely-customisable content storage and editing platform with an incredibly generous free tier and is batteries-included for just about every typical editing interaction you'll need. For everything else there's probably a plugin.

And if there's anything you feel it can't yet do, it's only because you haven't spent enough time building it yourself yet. There's no stopping you.

You're also not left baby-sitting a server as your content is all cloud hosted.

It's all positives

This whole blog post is written in part because if you read enough web development Twitter you might get drawn into thoughts like:

  • Will I get left behind because I don't already know everything?
  • Should I build an online profile by having hot takes on every topic?
  • Is person x wrong because they like thing y?
  • Should I use let or const?
  • Will Copilot take my job?
  • web3?

Ignore that.

You can choose to focus in on the things you like.

Building websites is awesome. Always has been. Looks like it will be for a good while yet.