The web started out with a bunch of static files on a server that really didn't need to compute much of anything. It only cared about sending those files to your computer.
Those were good times...
Fast forward to modern-day development for the web and you have a massive paradigm shift in developer's workflows.
Now, a huge portion of websites are run by over-powered servers that literally piece together the webpage you need as you request it. Imagine you have to wait for a construction crew to come by, build a store from scratch, and then add windows, doors, and electricity every time someone new comes by.
This is incredibly inefficient, not easily scalable, prone to security breaches, and more. Not good for the web or for business.
I've been thinking over the past several years about purely static sites. Partly because working with non-dynamic files came very naturally to me due to my start in this world.
It also just made sense for probably 90% of the projects I've worked on.
For argument's sake, I'll give you some examples.
Need a shopping cart? You don't need a fancy-schmancy back-end content management system to operate that. Just plug in a Stripe Checkout form and shebang! Gold at last!
Need a newsletter signup? Add a MailChimp form to your code. Voilà! Done, done, and done.
Need to log users in to your website? Do you really? No seriously. I've seen plenty of sites over the years that offered no real benefit for creating an account. It's just another username and password to keep track of.
It turns out that very rarely do projects *really* need a database or server-side processing of any kind.
Sure the dynamic nature of server processing lets us generate massive amounts of similarity-designed pages without manually creating them one by one.
But it comes at a cost. And sometimes that cost happens way down the line, long after a project is complete.
Take Yahoo!'s massive data breach for example.
So this is where we start going retro and get back to our roots: static files. But how, ever-so-wise Jeffrey? I'm so glad you asked!
The process is very similar to what your dynamic server already does, but instead of piecing the pages together when you ask for them, it does everything ahead of time, giving you beautiful, fast, and clean static files.
And best of all, they're naturally more secure than their dynamic counterparts.
Isn't that lovely?
The website you're reading this blog post on right now was built with a completely custom template (by yours truly) on a static site generator called...
I have a feeling this is the start of a very long friendship.