MaxMotovilov edited this page Dec 24, 2012 · 28 revisions

This repository contains Javascript libraries developed and maintained by Adstream Holdings to serve as a foundation technology for its Web applications released into production from year 2011 onward. The code in this repository is available under the Modified BSD License.

In combination, these libraries represent a framework following the design paradigm of model-driven views (this term has been borrowed from the name of an independently originated open-source project). Instead of maintaining an arms-length relationship between separately encapsulated data models and views (a definitive feature of the competing connected widget paradigm), this design facilitates granular template-based views that are easily recomputed and updated with changes in the data.

The present framework provides two necessary building blocks for client-side components of Web applications following the design paradigm outlined above: a template engine library called CHT and a REST-based model virtualization library called adstream.data. The libraries are completely independent from each other even though they serve as natural counterparts. Both depend on Dojo toolkit version 1.5 or later and both are purposely designed for asynchronous operation at the level of implementation as well as the API.

Another higher level facility recently included in the framework is adstream.navigator, implementing a declarative description of the page layout and flow driven by the hash part of document.location. By using this description, it is possible to forgo application-level controllers in favor of hyperlinks pointing within the same page while taking full advantage of the browser history for in-page navigation.