Email or username:

Password:

Forgot your password?
Biason::Julio::new();

The untold history of web development:

1990: HTML invented
1994: CSS invented to fix HTML
1995: JS invented to fix HTML/CSS
2006: jQuery invented to fix JS
2010: AngularJS invented to fix jQuery
2013: React invented to fix AngularJS
2014: Vue invented to fix React & Angular
2016: Angular 2 invented to fix AngularJS & React
2019: Svelte 3 invented to fix React, Angular, Vue
2019: React hooks invented to fix React
2020: Vue 3 invented to fix React hooks
2020: Solid invented to fix React, Angular, Svelte, Vue
2020: HTMX 1.0 invented to fix React, Angular, Svelte, Vue, Solid
2021: React suspense invented to fix React, again
2023: Svelte Runes invented to fix Svelte
2024: jQuery still used on 75% of websites

(by @fireship_dev on Birdsite)

87 comments
Sophie Schmieg

@juliobiason missing the invention of WASM to fix all of the above mess

Gorgeous na Shock!

@sophieschmieg @juliobiason I feel like WASM is a fun sideshow that replaces Flash for creating a fun blob of program in the middle of the page.

I dunno I'm still using jQuery for most things...

Luci for dyeing

@jacobydave @sophieschmieg @juliobiason no? people just wish it was. shipping binary blobs is only going to make things worse

schrotie

@sophieschmieg @juliobiason I thought WASM is a fix for docker which is commonly used to reproducibly serve the unholy node_modules mess created by all of the above ...

Kevin Collas-Arundell

@schrotie @sophieschmieg @juliobiason

Nah that's WASI. and docker exists because after 30 years python still didn't have a package manager that worked.

15 years later nothing has changed :\

lj·rk

@sophieschmieg @juliobiason I mostly hope for WASM to replace the ungodly stuff that's the Js engines in the browser :'-)

ww
@sophieschmieg @juliobiason wasm wasn't invented to fix it, it was invented to put legacy c++ no one wants to rewrite in the browser

@juliobiason
2000 XHTML / W3C Rec.
2001 SVG / W3C Rec.

Bret Mogilefsky

@juliobiason So the lesson is: HTMX hasn't done anything that needs fixing yet. 😉

Chris P. :trek_ds9_sisko:#1️⃣

@dldnh You may be joking, I don't know, but: You should try out CSS's grid api. It's easier, IMO, than getting tables to work correctly, and I made hundreds of contracted websites back in the early-mid 2000s with tables.

Natasha Nox 🇺🇦🇵🇸

@b4ux1t3 @dldnh Quite honestly: all those newer tech seem rather superfluous if what you want to do isn't invasive nonsense.

I may eat my words at some point in the future, but I think that knowing HTML, CSS, PHP and SQL (and SVG if you want to do Front-End) is literally everything you need to build modern, fast web services. If you get REALLY fancy you *might* could use a little bit of Javascript, but only sparsely and definitely no enormous Framework.

Chris P. :trek_ds9_sisko:#1️⃣

@Natanox @dldnh I mean, I find that general sentiment to be reductive, though my toot was specifically about using built-in CSS to make websites that only use HTML and CSS and still look modern.

Mind you, I make SSR sites (pirateborggenerator.bauxite.te), full-featured single-page WASM-driven apps (dieanalysis.bauxite.tech), statically-generated sites (blog.bauxite.tech), "graceful degradation" (bauxite.tech), and native and CLI applications, so I don't really pick sides.

Stefano

@Natanox @b4ux1t3 @dldnh I'm coming at this as a complete novice, but I guess all these frameworks just wrap most of HTML, CSS, PHP and SQL up in a nice bundle and handle all the hard stuff leaving the developer to concentrate on the BI behind the website, or am I wrong?

Chris P. :trek_ds9_sisko:#1️⃣

@StefanoL @Natanox @dldnh That isn't an _accurate_ way of putting it, but it establishes the premise. :D

PHP is its own whole language and ecosystem, no different from Python or .NET or Java or NodeJS or, or, or. . .You get the idea.

What they're saying is that you don't need "rich client applications" to have a modern web experience, and they're right, but no more right than someone building with a lot of rich client interactions. :)

hacknorris

@juliobiason i use solutions from 1995 and i'm feeling fine with that...

Natasha Nox 🇺🇦🇵🇸

@khleedril @juliobiason Except when you were using PHP or Flash, in that case it was quite awful.

Khleedril

@Natanox @juliobiason Yes, but the point I was making was that 2006 left us in a better place at the end than we were in at the start of it.

Helgi Crookehorne

@juliobiason nowadays web browser like Firefox used some 2 Gb of RAM just to keep a dozen of tabs. So it would be a good idea to close such glitchy stuff to play not only Starfield but Fallout 76. Even 16 GB is never enough

Frantic 🇬🇧 + 🇪🇺

@juliobiason HTML 2 was the best! Tables were a blast.

Do we all dislike cookies?

̶s̶e̶t̶h̶ ̶ ̶

@juliobiason Markdown: showing you all the stuff that doesn't matter in HTML since 2004.

Boris A

@juliobiason Hah! Meanwhile, HTML and CSS fixed themselves, and PHP powers like what 90% of the web?
"Sit down, JS, you're drunk" 😅

Natasha Nox 🇺🇦🇵🇸

@borisanthony @juliobiason PHP is like the true but silent hero in the back everyone forgot about because he was a broken mess a few years ago before going to rehab.

LisPi
@Natanox @juliobiason @borisanthony It's still not great.

More for reasons that ergonomically-speaking, it's the Perl of web development.
Davey

@juliobiason I get jokes and all - but these days you can actually replace jQuery with JavaScript! Full circle, we did it!

Not that I'm too good for jQuery or anything.

Alessandro Corazza

@juliobiason How much of this is due to WordPress, Drupal, and Joomla shipping jQuery by default?

Jason Baker

@juliobiason Personally I'm glad that I stopped at the 1995 tech and didn't bother wasting time on the others except a little jquery in grad school.

Tobias Barth

@juliobiason Hypertext was meant to add links, images and maybe headings to text documents. Javascript was maybe invented for changing images when the mouse cursor hovered over them. There was no great language specification behind all this. I mean, just compare the "box model" and its so-called "implementation" to the Java Language Specification - just take a look into the chapter about monitors. The implementation of it works since day 1 as the specification says.

Simon

@juliobiason and the biggest trouble maker is not even listed: Internet Explorer

Rafi C

@juliobiason
2004: AJAX invented to fix page refresh

2010: CSS3 spec finalized to fix jQuery animate()

Bruno Nicoletti

@juliobiason This fantastic new web tech stack will fix all the issues with all the old web tech stack, pinky promise this time! The growing number of the latest shiny toys on the whole pile of ordure is exhausting. Web development has one single thing gong for it, which is the ubiquituy of browsers, the rest of it is terrible. Man-millennia of effort put in to devise works around of fundamentally bad design decisions ossified into standards. What as waste of ingenuity.

Søren

@juliobiason you seem to have missed the biggest craze of DHTML and the standardisation of DOM api circa 1997 to fix JS fragmentation. It was huge.

jQuery fixed MS and Apple intentionally sloppy and broken implemtation of DOM.

nathants

@juliobiason 2014: reagent fixes react. the api remains unchanged for a decade. the end.

federico

@juliobiason Not to mention the huge mess of HTTP 1.0, 1.1, 2 and 3

defel

@juliobiason

afair it was prototypejs who tried to fix web 1.0 in the first place,
script.aculo.us to fix prototypejs,
jquery to fix script.aculo.us,
backbone.js to fix jquery and then
angular to fix backbone.js

and somewhere was also dojo and gwt .. and underscore and lodash tried to fix jquery, too

.. wild times :)

@juliobiason

afair it was prototypejs who tried to fix web 1.0 in the first place,
script.aculo.us to fix prototypejs,
jquery to fix script.aculo.us,
backbone.js to fix jquery and then
angular to fix backbone.js

and somewhere was also dojo and gwt .. and underscore and lodash tried to fix jquery, too

Pablo Fernandez

@juliobiason in the darkest time line people remember xhtml... I liked xhtml.

Twizzay
@juliobiason

the fireship guy is awesome.

:fire_blob: :pirate_ship: :backhand_index_pointing_left:
Niclas Hedhman

@juliobiason

Forgot all the PHP still dominating the web too. 😉

Matěj Cepl 🇪🇺 🇨🇿 🇺🇦

@juliobiason Actually, CSS was not meant to fix HTML. Independent stylesheets were planned from the beginning (as a parallel to DSSSL for SGML).

ericalaeta

@juliobiason Cool. I played around with CSS a bit when it came out. Missed everything that came after that. Lucky me!

Sebastian Gräßl

@juliobiason I feel this is missing Prototype & Scriptaculous before & along JQuery.

gar

@juliobiason I like the perspective of HTMX invented to fix intercooler js, which was invented in 2013 to fix AJAX https://intercoolerjs.org

Ian K. Rogers ikr?╭ರ_ಠ

@juliobiason Yeah but CSS snuck in the back way and took over almost all the frontend stuff that only js could do then Flash came in and js was super cool for writing browser sniffs and whatever then Flash went out and now CSS can do pretty much everything Flash used to do and now most js in the frontend is by people that don't understand CSS ...

Full disclosure, I used to work with lazy frontend devs that would do every interface styling with jQuery right down to rounded corners on divs LOL

crazyeddie

@juliobiason It's all maintenance and firefighting all the way down.

Steve Loranz (he/him)

@juliobiason You forgot Weird Al releasing a parody of DJ Shadow titled, “Why the web sucks in ‘96”

Offbeatmammal

@juliobiason still happy with jQuery for most things, though added HTMX on a couple of projects and it helped refactor some messy $post stuff

Rohan Pearce

@juliobiason this is why we should have stuck with Gopher

Kartik

@juliobiason React, Angular, and all its tentacular cess-pits (aka #Svelte, #NextJS) all have accidental complexity masquerading as essential complexity. These are the #k8s ( #Kubernaughties ) of front-end.

wraptile

@juliobiason all of which could have been avoided if someone got around making vanilla DOM manipulation API usable.

Most web just needs a sprinkle of interactivity.

ww
@juliobiason htmx wasn't invented to fix react. it was invented to fix intercooler.js. which was already fixed by alpine.js and vue-petite though.
Kristian
@juliobiason At some point it gets painfully obvious why some web devs call themselves "full stack developers": They're able to dig through the whole of this mess top to bottom.🙈
ch0ccyra1n :she_her:

@juliobiason HTML invented to fix plaintext :blobcatthinkingsmirk:

Miru
@juliobiason In all this time, nobody noticed that HTML+CSS+JS actually work pretty great on their own now.

Seriously, I think newbies get scared by all the frameworks, and forget that you can just not use them.
Matt Godden

@juliobiason 2025: People who are not jQuery’s target fail to understand its success, invent something else, jQuery persists.
2026: People who are not jQuery’s target fail to understand its success, invent something else, jQuery persists.
2027: People who are not jQuery’s target fail to understand its success, invent something else, jQuery persists.
2028: People who are not jQuery’s target fail to understand its success, invent something else, jQuery persists.

Miriam

@juliobiason Classic first day when learning web development:

Student: So...which technologies are we going to learn here?
Prof: YES (only attaching frontend roadmap lol

Steve

@juliobiason I still remember building the website for Dragon (now Nuance) in plain old HTML where animated GIFs were the fanciest part of the web toolbox

Christophe B. :android:

@juliobiason And all these new versions of Bootstrap that fix the previous one and force you to rewrite everything

kik

@juliobiason The sad thing is that it obfuscates how great vanilla js and DOM has become. For my personal projects, I use no dependencies anymore, and I'm having a blast.

Bonus point : being built only on standards, those apps will work forever (well, for as long as I live, at least) without needing maintenance.

Go Up