I'm a web designer 100% confident with my tech stack of choice, certain that the future is static and JS-powered and Serverless and PWA and AMP and GraphQL and (insert flashy buzzword here)
That was true, until I started questioning this vision.
Today I got a bit sad and lost about the future of the web... Everywhere I look there are plenty of hurdles and foul stuff just waiting around the corner to jump on me, my clients or their users, so I figured I'd raise this discussion here:
- The "traditional" web is slow, can be insecure and full of trashy stuff, of which WordPress, Wix and the likes are a big source
- A possible solution is AMP, but it's clearly Google's attempt to dominate the web even further
- Compiler frameworks like Svelte, Imba and Stencil attempt to reduce this bloat by reducing the number of abstractions in client-side runtime...
- And static site generators such as Hugo and Eleventy make it easier to build complex websites without the need of runtime JS...
- However, these abstractions pulls us farther from being able to just
view source, which, as Kyle Simpson rightly put, could be a downfall to the web as it would make it harder for new developers to get in.
- And, yet, it's still impossible to do complex work that doesn't rely on any type of external tools other than browser-supported technology. I don't know what to do 😔
- Clients need to be able to edit content visually, and for that we need a CMS.
- This CMS can't inject the data directly in the HTML, there's no
<link rel="content" />we could use, so we need to either
- Work with the data in the server at runtime, but... bad performance (and high costs / maintenance)
- Generate the website on build time, but... abstractions (and lock-in, might not be very future proof, etc.)
- And, honestly, the idea of just building
.cssand (very few)
.jsfiles doesn't feel like a productive workflow. It might be that we became spoiled with so many tools, but going full vanilla truly can be a problem if working on big projects / with big teams.
So, yeah, I'm lost, please show me the way. Oh, I was super over simplistic with my approach to each of these topics, but even so I believe the main point hits home. If you want to evangelize your new
gameChangingThing.js or fight me on my views, please don't comment below, this is supposed to be an open conversation about the future of the web and of our trade as developers 😉