9 comments

[ 3.7 ms ] story [ 36.9 ms ] thread
Looking over the api it's pretty thorough and the custom controls look very polished; nice work.
IMO, a better MIME type would be application/socks+ecmascript or application/socks+javascript instead of application/javascript-socks. That looks closer to how content types that are built on XML have their MIME types. For example, XHTML's MIME type is application/xhtml+xml, not application/xml-xhtml.

Also, a shoes-like syntax is already available in JavaScript, though it would be very hard to utilize as-is (in <JS 1.7, wrap in a function and use `var' instead of `let'):

    app: {
      stack: {
        para("Foo 1"); // para as a function
        para: "Foo 2"; // para as a label
        button: {
          let bar = new Button("Bar");
          bar.onclick = function() { alert("Baz!") }
        };
        flow: {
          style: ({ // CSS block
            color: "red",
            after: {
              content: "!"
            }
          });
          para("This is red and ends with an exclamation point");
        }
      }
    }
thanks a lot for your insight. will look into fixing those in future releases
I started a similar project last year during the summer: http://github.com/omouse/sandals/tree/master

I called it Sandals and it's dead mainly because I'm lazy but also because I find it stupid to re-invent the wheel. YAY yet another UI toolkit to learn grumble

This project makes the same mistake Prototype does: Using the unmodified name of an existing tech concept.
That doesn't look like JS syntax... am I missing something, or are they using JS to parse/interpret it?
It's JavaScript object literal syntax.
No - the application/javascript-socks scripts are putting Ruby-style code blocks in places JavaScript doesn't generally allow them. Presumably that's the reason for the alternate MIME type on the script.