What's going on in Web Development Today
Chris Capistran /
2 min read
Web Development is a curious form of Software Engineering. Paradoxically, it faces a complete overhaul every 10 years while simultaneously remaining incredibly static. On the front end we have seen:
Ruby (on Rails)
Angular
VueJS
React
In terms of CSS Frameworks:
Bootstrap
Materialize
Tailwind
ChakraUI
In the backend we're finally seeing PHP slowly die out of relevance as NodeJS continues to prove it can do everything PHP can in Javascript.
CMS tools, aka drag and drop site builders such as WordPress, Wix, Squarespace, etc. have made it possible for people with no programming experience to simple websites.
Througout all of these advancements in Web Development, Vanilla HTML and CSS has remained the one and only constant. And while these languages themselves have seen many improvements over time.
- HTML's evolution of event observers constantly add new functionally with better performance over old event observers.
- The evolution of Flex and Grid styling to create device agnostic styling of websites.
The fundamentals have remained the same. Within the realm of SEO: The most Vanilla Method of Deploying Websites is still the most effective.
We recommend using Static Generation (with and without data) whenever possible because your page can be built once and served by CDN, which makes it much faster than having a server render the page on every request. You can use Static Generation for many types of pages, including:
- Marketing pages
- Blog posts
- E-commerce product listings
- Help and documentation
You should ask yourself: "Can I pre-render this page ahead of a user's request?" If the answer is yes, then you should choose Static Generation.
On the other hand, Static Generation is not a good idea if you cannot pre-render a page ahead of a user's request. Maybe your page shows frequently updated data, and the page content changes on every request.
In that case, you can use Server-Side Rendering. It will be slower, but the pre-rendered page will always be up-to-date. Or you can skip pre-rendering and use client-side JavaScript to populate data.