I started questioning my tech stack, and now I'm lost 😔
Tags: javascript, discuss, webdev
Published: 2019-04-30 22:02:13

---
title: I started questioning my tech stack, and now I'm lost 😔
published: true
description: I'm starting to think we, as web developers, might be doing poor choices on the technologies we use, but have no clue where should we go
tags: [javascript, discuss, webdev, ]
---

> 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
  - See [Kill AMP before it kills the web](https://www.theregister.co.uk/2017/05/19/open_source_insider_google_amp_bad_bad_bad/)
- Then we have the Javascript bloat provided by the whole framework tycoon
  - There are big proponents of "let's talk about the javascript cost", like Addy Osmani, but I don't feel like there's any expressive movement to steer the web dev community farther from its current reliance on JS
  - The amazing developer experience provided by Gatsby (*which has been my tool of choice*) is also [helping to make this bloat a default on the web](https://matthewphillips.info/programming/gatsby-pages-manifest.html). Just look at their own website: "Fast in every way that matters" and, yet, it loads **6 megabytes** of uncompressed Javascript in a single blog post. Hm... how fast 🤔
- Compiler frameworks like [Svelte](https://svelte.dev), [Imba](http://imba.io/) and [Stencil](https://stenciljs.com) attempt to reduce this bloat by reducing the number of abstractions in client-side runtime...
- And static site generators such as [Hugo](https://gohugo.io/) and [Eleventy](https://www.11ty.io/) 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](https://www.youtube.com/watch?v=ft5bYnt0W48) 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
    - Pull in the data client-side with Javascript and then render it, but... *javascript bloat* (and SEO, of course)
    - 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 `.html`, `.css` and (very few) `.js` files 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 😉