10 MIN

Admit it. You’ve Bing’d “Javascript nudes” on at least two occasions. Once after the kids went to bed and you pounded Chareau out of your Snoopy mug and the other on your work computer during the company downsizing all hands. Curiosity got the best of you. But the photos were… unimpressive. Vanilla, even. There must be something more, you think, trying to fill another mug with Chareau but only getting crumbs (I don’t know what Chareau is). There is something more.


Today, I’ll be doing the Lord’s work: Scoring Javascript frameworks (and meta-frameworks) on a completely arbitrary number system ranging from 0 to 2000. This scale is called The Sweaty Number. My physical attraction to and how I rank these frameworks will be based on four key factors: My experience working with it, how the framework name sounds, the logo shape, and what I think they would say to me on my doorstep after our first date before going in for a wet kiss.

And let’s be honest here: It’s subjective, but the beauty of this Bicentennial Man romance is that subjective is good. It’s unsettling and provocative. It’s meaningless. It’s time.



My Experience: People like SvelteKit for the same reason I’ve seen Hitch eight times: It’s familiar and Kevin James. The syntax is more similar to vanilla Javascript than something like JSX, so in theory, it should be easier to learn coming from the fundamentals. I worked with SvelteKit (prior to its 1.0 release) when building a demo site for a band I'm in and overall it was a pleasant experience. Building the site, that is. Not the band. Tons of infighting. Very Fleetwood Mac. Jealousy. Lots of weird sex stuff.

It's just me in the band.

In addition, the built in transitions were nice, 'if' blocks were a cool way to look at conditional rendering, and while I didn’t need to use the universal stores for that project, it seemed way easier to use when compared to something like Redux. 658 points.

How It Sounds: Velvety. Like ice cream on a shag carpet. Like I just combed my hair with my cousin’s comb. 433 points.

Logo Shape: Simple And Clean (PlaniTb Remix). 375 points.

Doorstep Line: "Can you see my member through these joggies?" 445 points.

Overall Attraction Score: 988 points. Vah vah voom!



My Experience: Funny enough, I had planned to use Astro with its MDX and Tailwind integrations for this very website. It’s incredibly alluring knowing you can incorporate components from other frameworks. Astro is this gymnast that wants to prove how flexible they are, but in reality, I just want quiet missionary with the lava lamp off.

I ended up changing my mind pretty early in the build considering a few issues I had with the icons integration and made the (good?/bad?) decision to forego MDX completely for writing elsewhere (the Apple Notes app) and publishing in JSX. 342 points.

How It Sounds: Warm like hot heat. 343 points.

Logo Shape: Sharp and round in all the right places. The type of ‘A’ you’d see on a Minor League Baseball jersey. 344 points.

Doorstep Line: "Watch this." I stand motionless as Astro Grudge-crawls a figure eight across the dewy apartment complex lawn. 305 points.

Overall Attraction Score: 897 points. I got the ick after the first date but will probably hit them up after a few plates(?) of Chareau.



My Experience: I may be a bit biased here. I, like many others, chose React as the first framework to spend time in after working in vanilla Javascript for a few months. I knew it was the most popular, had the highest likelihood of job opportunities, and the most robust selection of external libraries. React, to me, is old reliable.

I can see React smoking a Black and Mild, hunched over the corner of a well worn queen mattress at a single story, roadside motel.

"Hey." I say. "Hey." They say back. "How’ve you been?" They take a long drag and look up at their reflection in the Zenith tube tv. "You really want to know? Or should we just jump into it?" I keep my stringer on (I had just broken a bench press record). "Yeah, I really want to know." React lets out a soft laugh and ashes their cigar on my Crocs. "It’s been Interesting." 408 points.

How It Sounds: Like a knee-jerk coping mechanism. Or two beakers making contact. An eye wash station. 120 points.

Logo Shape: Unimpressive. That is, until I found out there was an outline of a bolt as a reference to bolt.js in the center of the logo. Sneaky and cool, React. Sneaky and cool. 450 points.

Doorstep Line: "I think we both know where this is going." 367 points.

Overall Attraction Score: 910 points. There is comfort in the known.



My Experience: It’s limited, but I didn’t mind the brief time I shared with Vue. It was my introduction to the template/script/style split in a single file, which made way more sense to my brain. And this was about the time I started experimenting with Tailwind, so the two of those together felt incredibly natural. I’m aware that I was working in a Vue 2 project, which handles data significantly differently than Vue 3, but even still, it felt a bit boring. There was nothing inherently wrong with Vue, just no spark. 401 points.

How It Sounds: Respectfully invasive. Futuristic. But the kind of futuristic where everyone moved underground and our eyes shriveled up into raisins because we didn’t use them. 320 points.

Logo Shape: High cheekbones and a green that will make you call your parents for unrelated reasons. 207 points.

Doorstep Line: "I had a great time tonight." Vue says, already walking away. "Bowling was a blast." Almost out of earshot at this point. "We should do this again sometime." 128 points.

Overall Attraction Score: 815 points. Side hug.



My Experience: Next is, simply put, my favorite framework (again, meta-framework if we’re being picky) to work with. It is my go to for starting any new project. It’s a performant and expandable React. It’s incredibly well maintained and while I’m dragging my feet a bit on upgrading to Next 13, I have complete faith in the direction its headed. 521 points.

How It Sounds: Playfully deceiving. There is no "next". There is only "here and now" when using Next. 345 points.

Logo Shape: My single complaint. Derivative of the Latin letter "N". 213 points.

Doorstep Line: "Let’s head inside and talk about Cap’n Crunch’s Crunchling Adventure over a piece(?) of Chareau." Context: I like talking about Cap’n Crunch’s Crunchling Adventure. 455 points.

Overall Attraction Score: 1043 points. I still get butterflies typing create-next-app.


Every framework has their strengths. Literally, each framework can lift a metric ton. That being said, there can only be one ranked "Most Moist" according to The Sweaty Number. After careful consideration and with all deductions added, the winner is:

Holy shit, it’s a tie! That’s not what I was expecting at all. Seriously, go back and add all of those numbers together if you don’t believe me. Absolutely bonkers. That’s never happened before. I’ll need to rework the scoring system for this scale I’ll never use again.