First, thanks for checking it out! It is a different way of coding for sure, so I think a walkthrough comparison would be a good thing, especially for web components, as you suggest. What I’ll do is set up a page on the website that compares the two approaches step by step, something like that.
I will say here though, the main DX improvement though is the intuitivity of coding. I’ll do a comparison with CSS.
With CSS, you don’t have to think particularly to assign a style - you just write it, you know? CSS is very quick and intuitive once you know your selectors, commands and the hierachical rules. CSS is generally pleasant to code in. Fun even!
An analogy, would be to imagine a world in which if CSS didn’t exist and you had to write all your styling and cascading in JavaScript. It would take ages to write, would get messy in the scripts pretty quickly, and this ultimately would put people off from native styling. Imagine tweaking that code - nightmare! So you’d do the minimum or use a CSS framework that someone else had done and leave it at that. You wouldn’t bother with tweaking CSS so much, as it wouldn’t be productive and not best practice to “reinvent the wheel” on styles, etc. etc. Everyone would use something like bootstrap, and CSS styling would be left to the CSS framework developers, “who knew what they were doing”. Or a lot of websites would look like old windows programs, with the default grey styles assigned to objects.
CSS solves the styling complexity by providing a direct way to assign a property to an element, and provides sufficient styling properties to handle all the common requirements necessary to style elements and make things look nice. CSS syntax looks a bit weird - it doesn’t look like regular code - but it surprisingly is very good at what it does. It abstracts out the JavaScript styling API, so you can style in a very quick and direct way. There is no more direct way to style an element - it gets the job done very quickly.
CSS makes things a lot quicker. CSS wins every time - no argument. No one is out there trying to reinvent CSS.
Currently, we have a similar situation with DOM manipulation. Anything too complex is left to the plugin or framework developers, and best practices become “use a framework” and “don’t reinvent the wheel”. Right now, you’d need some sort of recent CS degree to keep up with progress in UI frameworks. We have the same symptoms in the community that would exist for styling if CSS did not exist.
For what? Adding and removing elements? Changing styles and properties? Updating content in an element? It shouldn’t be rocket-science.
The thing is, these current over-engineering symptoms only really exist because doing complex interactivity yourself on a webpage is currently a lengthy process, and practically it’s not worth doing it without some plugin or framework to help out. Even if the reality is that native JavaScript is often all you need. It is still too lengthy a process for many developers to bother with. So we end-up with clunky one-page websites.
But all that is needed to solve it is some higher-level abstraction.
So Active CSS solves the same problem that CSS did, in exactly the same way that CSS did. It really isn’t anything new - it is just an extension of CSS.
With Active CSS, you feel you can tweak interactivity, add a bit more interactivity, like you can add more CSS, or tweak CSS. It feels exactly the same as CSS when you code with it, as it is quick and so direct. There is no waffling about with the JavaScript API.
So in practice, that is probably the most notable DX improvement.
But it only handles what it handles. Active CSS has its limitations in the same way CSS has its limitations. It only addresses interactivity - not general programming. You still need JavaScript.