Anti-Capitalist Jamstack
A familiar term is taking on new life as it shrugs off the chains of capitalism to which it was bound.It is no secret people are questioning whether Jamstack is dead or not. A quick google search will lead to many, many, articles, speculating on the current state of Jamstack.
This mostly stems from what seems to be Netlify distancing themselves from the term. They shut down the official Jamstack discord server, and overall seem to be rallying behind a new marketing term. They are no longer the platform of JAMstack, but the Composable web platform.
The term is now free for the community which is a great thing.
A panel of some good authorities on what the Jamstack is, immediatley decreed it anti-capitalist. This is a great message for a few reasons. If something is Jamstack it is better to not have vendor tie in, and this should be a tenant of the community. This doesn’t mean everything you use has to be maintained by a community not attached to a company, we all know by now how the world works. Bills need to be paid.
It does mean the tool should not be built in a way that locks you into that company, and this is one of the primary criteria we should use when judging if a framework is worth using.
A good framework is portable this means if I don’t like my host anymore I should be able to pick up my toys and leave. This is by far the part the community can probably agree on the most. I also would add that it should be portable with it’s component types. This is something Astro has proven possible, and I think it is a great thing for every web framework to strive to.
So portablility is a must, and the further it is pushed the better. The next point the panel made was that is should be immutable but that is much too nerdy, so I think we should say stable. They were thinking about the implementation and not the goal. That is why they are great engineers. However I think the outcome that they want is stability. We want to “build” a website and have it live forever pretty much completely untouched. This belief is pretty core to the movement and is also where our arguments or potential infighting start to stem from.
This makes us want to exclude things like SSR because they can’t be statically stored on CDN’s, and the architecture powering it might update or go down and break. And these are great points, that certainly is a mark against stability. Remember when Flash suddenly stopped working? That was crazy, we don’t want that again.
The panel once again talked about implementation when trying to establish pillars. They put HTML/CSS/JS which is great. I agree with the sentiment entirely. We use the platform. They point out in the comments of the YouTube video that WASM counts, so I think it’s clear the message is to use the platform.
I think that term needs some rebranding too and we can be the ones to do it. To me using the platform means delivereing websites that follow web standards. Like having real form submissions instead of API calls to your own server. Good on Remix, and Sveltekit for that.
Big JAM vs little Jam…
Over time JAMstack became Jamstack. This is because it shed it’s acronym origins and adopted new meaning. I do however see it used both ways to this day. I believe the community should officially adopt the lowercase Jam and use the capitalized version to refer only to it’s capitalist origins.TL;DR: Whoop-de-doo! What does it all mean, Basil?
If we want to take back the term, we need a clear definition. This is a tricky task since it never really had one. The panel opened with some ideas from each guest and I liked them all.
HTML first, JavaScript later.
Build as many things statically first. Pull in other things as needed.
Folder full of files.
Pre-generated HTML, not everything, but somewhere.
I certainly vibe with all these ideas. They are all very similiar to how I feel, and I think extremely important for a site. But I don’t feel like it paints a very clear picture. They then define what they believe the pillars for the Jamstack are, and I really agree with what they said but not how they said it. The pillars they picked are Portable, immutable, and HTML/CSS/JS
I think the way we should describe the pillars we rally around is:
This will lead to us making choices that lead to other great ideas the panel brought up. Pillars should guide us into making good decisions. If we want our site to be stable we will build as much of it into static assets at build time. That is just what you do if you value stability highly.