This project is read-only.

Alpha release!

Oct 14, 2013 at 10:57 AM
Witness my hand this day, 14 October 2013 -- Spanner is made publicly available as an alpha release!

The code is reasonably well documented, but more remains to be done. Proper HTML reference documentation and tutorials will follow as family, work, and life allow. All feedback gratefully received.

-- Ralph
Sep 11, 2014 at 8:48 PM
Edited Sep 11, 2014 at 8:49 PM

Nicely done here.

Would your abstraction allow for the construction of say, a WinForm or WPF output for visual UI? I guess one would need a KnockOut substitution library to perform the conduit and hookup from UI controls to event sinks.

Anyway, yeah, I despise the current web landscape as it now exists too. So much redundancy and confusion and muddying of what is really necessary to build web apps, either multi-page or single page. I used to relish building a new site. Now I stand dumbstruck wondering what mechanisms I should choose. I think it has a lot to do with the continuous dumping of new CS grads into the world who feel compelled to write something "wowzy!"

Jquery knockout Angular durandel backbone kendo webapi MVC Razor Spring Ember Ionic Handlebars Showdown MooTools Sammy Cappuccino
And on and on and on ...

OH, stop please! Everyone, just STOP!

And look at this craziness:
Sep 12, 2014 at 11:55 PM
Hi Anonymole,

the scheme could be adapted without tremendous effort to produce output other than HTML/JavaScript, but I'll leave that work to interested contributors.

While Spanner is closely integrated with Knockout, it's entirely possible to write non-Knockout applications. If there were sufficient demand, I would consider making the Knockout aspect optional (i.e., don't load Knockout, don't use it in the Spanner-runtime).

Regarding the state of the web landscape, I think there are two big cultural problems:
  1. A love of frameworks. These things are always over-engineered leaky abstractions. The web is full of forums where gurus familiar with the internals of whatever framework are there to explain how to do what should be obvious or why the obvious answer to some problem doesn't work. Meh, give me a collection of simple, independent libraries any day.
  2. A love of complexity (and for this I blame too much emphasis on OO & design patterns). Real cleverness is about finding a solid, simple solution, not just piling on the abstraction.
Your list of technologies are all attempts to make life better for the web developer: now I've added another name to the list :-)