I've been thinking about this a lot lately and I'm not sure it's that big a concern anymore.
I did a test one day and tried to get through a day with Javascript disabled and I came to the conclusion the web simply isn't usable that way. Because these days even the simple sites require Javascript because tools like dreamweaver embed javascript for menus and other basic animations.
Sometimes, when I see a page completely broken because it requires javascript, I just close the tab. If it's too much trouble to get your pages, which might only have static text or other elements that don't require anything fancy, to work without javascript, it's probably not worth my time to check out your page.
in my rich internet applications i will use traditional CSS for the initial "base" state of the application and then JSSS for all further states which are generated via JS (no page-reload)
Why not just have the dynamic style in a separate class next to the base class it's applied to and then use jQuery.addClass?
if i release an official parser i think it would use those methods.
the whole point is to store your CSS in JSON and parse it with JS, the libraries used to do the parsing / assigning are kinda arbitrary.
this definitely has memory (many non-shared styles) and performance implications (may cause many reflows because you are setting styles individually) and it may interfere with existing code
I would expect this tool to generate real CSS stylesheet code and embed it into page dynamically
It only "appears as style attribute" if you serialize the DOM into HTML.
Because of cascading nature of style definition. Data structures describing current styling form trees (for memory efficiency and easy manipulation from script). Effective styles are evaluated during rendering.
For example look at this talk and around 11:30 the guy is describing style-related data structure in Chrome/WebKit: http://www.youtube.com/watch?v=RVnARGhhs9w
Your statement "Those style properties exist anyway" is simply not true.
this is intended for client-side templating and dynamically assigning CSS classes and properties at run-time.
:-)
For example, on Mibbit, you can skin your client how you like. You just open a prefs screen and mess with colors, fonts, backgrounds, etc.
Using css for that would be ridiculous. Hence client side styling via js.
(2) Many of the problems this article's thesis lays out with CSS are solveable server-side, by preprocessing CSS.