Enyo is the WebOS javascript framework, so its main target is mobile platforms (but it doesn't allow you to interact with native services, the FAQ recommends wrapping it in phonegap).
It has the same "feel" like sancha (extjs) in that html is generated from javascript.
One nice thing it has is that it can create a class out of a control configuration:
enyo.kind({
name: "Hello",
kind: enyo.Control,
components: [
{name: "hello", content: "Hello From Enyo", ontap: "helloTap"},
{tag: "hr"}
],
helloTap: function() {
this.$.hello.addStyles("color: red");
}
};
// now create and use the new classes
new Hello().write();
new Hello().write();