Skip to content
gmac edited this page Mar 20, 2013 · 3 revisions

Core Philosophy

Epoxy.js definitely models itself after some great features in Knockout.js; however, it tries to balance between robust capabilities and low complexity. Here are some core philosophies behind Epoxy's design:

  • Binding declarations are still view-related code, so are better defined in a View than as DOM attributes.
  • Binding declarations should have an obvious correlation to the composition of their underlying model.
  • Nested binding contexts create complexity, so are best avoided. Specifically, nested contexts:
  • Confuse the relationship of declarations to their contextual models.
  • Create complexity for binding into pre-rendered views.
  • Application logic does not belong within binding declarations...
  • Therefore, inline JavaScript does not belong within binding declarations.
  • Custom bindings tailored to specific tasks are favorable to messy implementations of stock bindings.
Clone this wiki locally