Honestly, now wh开发者_StackOverflow社区en we have so many javascript features on the frontend I really wish javascript in the browsers could replace html and css entirely.
We could deal with objects (structure + design + functionality) instead of html elements and css that style these elements.
But since that is never going to happen, I wonder if there is any low-level framework that abstracts away html and css entirely, like node.js (not high-level like Sproutcore) but for the frontend?
I think that would be the next big thing :)
I think that a framework that abstracts away html and css, would by definition, be high level. So you are asking an invalid question.
I consider these all high level frameworks, but they are the only ones I am aware of that abstract away html and css.
- qooxdo
- gwt (Google Web Toolkit)
- pyjamas
- cappuccino
This would've been easy if all browsers follow a strict standard. So the case now is that you will eventually find yourself needing to tweak the "low-level" javascript/css to make it compatible to all major browsers.
JQuery already gives an abstraction to cross-browser compatibilities but still considered low-level in your definition since you will still need to manipulate elements by yourself.
There are many attempts to "objectify" at least html, especially when using Java and server-side programming which includes Wicket, Groovelets and the aforementioned GWT to name a few.
Gwt does that using Java. So all you have to do deal is with java objects and the tree that make to contain other objects. Though with UI binder they have kinda brought back the old html.
And going by the limited reading of Sproutcore, GWT does something similar too. GWT can be used to make server sessionless i.e. it doesn't recognize the user but only serves the data.
In my project we are using GWT to have business logic coded in GWT which asks for data which the widget require from server.
Try Google Closure Library. Its a low level framework. It has similarities with CommonJS (like goog.require, but differs as it has its own goog.exportSymbol & goog.exportProperty rather than module.exports). However, it does not completely abstract away html/css!
精彩评论