idi.bidi.dom (idom) – offers a new and different way for interacting with the DOM.

In abstract terms, idom takes the DOM and adds variables, scope, variable memoization, multiple-inheritance and type polymorphism (with the Node Prototype as the user defined type) In logical terms, it offers a flat JSON API for creating, populating, and de-populating predetermined DOM structures with the ability to link, directly access, populate and de-populate other such DOM structures at any depth within them. It gives us a simpler alternative to the browser’s hierarchical DOM manipulation API while allowing us to reduce the amount of HTML as well as separate the HTML from the presentation logic.