These days I am reading up about Gatsby. I wanted to note down some of my thoughs about it, before approaching more technical aspects. I think Gatsby is a great website platform, and I will explain why.
I expressed that a widely used web platform will have to be static. The primary reason here is motivation of web development, and internet security. Usually the goal is to deliver a project in as little time as possible, and then forget about it. That’s exactly why I always refused to create WordPress sites. It’s a giant liability to make a dynamic website, especially without knowing the extensions it’s composed of, and then forgetting it. Such sites are soon hacked into, defacetated and it will probably become part of some criminal botnet. A dynamic page needs to receive maintenance and security upgrades. It is simpler with static pages, as infrastructure is typically maintained by hosting companies, and there isn’t much that the content creator has to worry about.
There is another reason why I think static websites are great, and that has to do with reusability. If you want to push out a product as soon as possible, you will want to invent as little as possible. Unfortunately, in dynamic languages, reusability is done at runtime, causing a performance overhead on the client machine. While it’s usually neglible, in static pages most of this overhead is shifted to build time, resulting in faster end user experience.
There are the main reasons why I think Gatsby is a great fit for tomorrow’s web development. While the content creator still has to learn many languages, each language or technology related to Gatsby is relevant and rewarding on it’s own. I also don’t think the learning curve will or should be zero; just like if you are writing a book, you should know your spelling and grammar. A content creator for the web should know what is a non-breaking space, how to write alternative text for the images, semantic structures, and so on, so the end content would be usable on print, mobile and desktop for diverse range of end users.