Announcing Reciprocate, a Sweet Solution for Making Your HTML Web Components Reactive Have you ever been chipping away on vanilla #WebComponents when you began to wonder “hey waitaminute…how do I make it so when I set this #JavaScript property, the equivalent #HTML attribute is updated? And if I set this attribute, the equivalent property is updated? Or when either is updated, my component will re-render?! Where are the APIs for this stuff??” Worry no longer! 🤓 #WebDev
This is still one of the coolest #WebComponents patterns ever. 🥰 #WebDev #JavaScript image
Hey y'all, a new #fediverse social web forum is in da house!! 🎉 Talk learning #WebDev from base principles and help fellow newbies experience the joys of vanilla #HTML #CSS #JavaScript and #WebComponents! (with a sprinkle of lightweight tools to smooth out the bumps in the road ☺️) Check it out:
Signals, a reactive primitive popularized by many #JavaScript frameworks and libraries, makes it much easier to add declarative binding to your #HTML using basic vanilla DOM techniques + signal effects. I haven’t had a concrete example to show off just how simple yet powerful this can be…until now! 😎 Here's the ubiquitous counter demo, todo list with a completion count, and typewriter printing out a message—all with a binding solution in only 20 lines of code! #WebDev
And here we are. image
And now, the post you've all been waiting for… (probably not, but you get it anyway!) 😂 The #CSS Framework Wars™ have come to an end. And we can thank…#Tailwind v4 for that! 🤯 Freely compose UI using native CSS variables & syntax, Tailwind design tokens in CSS (configured with CSS!), and Tailwind utility classes only where it makes sense. Hallelujah! 🙌 As historically one of Tailwind's biggest critics it is *weird* to sing its praises. 2025's biggest #WebDev surprise?
The Invoker Commands API is the new hotness for a declarative #HTML solution to the problem “click and see something happen!!” However… If we’re inside shadow DOM and the button being clicked is supposed to do a thing via its host component, then uh, nope. 🤨 Thankfully there’s always a workaround in the Wide World of the Web, so I’ve written it up and here it is! 😁 Yay for building directly on top of platform mechanics. 👏 #JavaScript #WebComponents #WebDev
Ever since #CSS backdrop-filter became a thing, combined with careful usage of gradients and shadowing it’s allowed #WebDev designers to make objects appear glassy to varying degrees. No doubt we’ll now see more attention paid to bringing elements of “glassmorphism” to web-based design systems. While I don’t recommend trying to recreate Apple’s Liquid Glass effects verbatim, we can use it as a point of inspiration for designing our own uniquely delightful interfaces:
Just a reminder that MCP is the new Google AMP. Avoid it like the plague. Don't use it, don't implement it, and by the love of all that is holy *don't allow Big AI to dominate the open web like this.* Your future self will thank you.
I almost titled this “Yo dawg, I herd you like windows so I put windows in yo windows so you can use windows while ur using windows” 😂 Here's the deal: I’ve been mulling over some interface concepts for a new app I’m designing, and it occurred to me it might make sense to use an old-school desktop metaphor for organizing the “documents”. All of a sudden I wondered: maybe there’s already a good #JS library which can do the heavy lifting for me? Answer: there is! #WebDev