Skip to content
Kevin Glen Roy Greer edited this page Apr 30, 2015 · 29 revisions

FOAM is an open-source modeling framework written in Javascript. With FOAM, you can create Domain Specific Languages (DSLs), which are high-level models that can be interpreted or compiled to different languages or environments. Currently, it supports DSLs for entities/classes, parsers, animations, database queries, interactive documents, and, most importantly, new DSLs.

FOAM supports building text, HTML, and graphical views for DSLs using a small Model View Controller (MVC) library, which is itself modeled with FOAM. This library can also be used by modeled Javascript applications.

The MVC library features support for simplified dynamic value binding with Functional Reactive Programming, strong support of animations, a unified canvas/DOM view model, and composable Data Access Objects.

FOAM increases developer productivity by allowing them to express solutions at a higher, more succinct level. The MVC library also increases application performance through its efficient data-binding, caching, and query-optimization mechanisms. In short, FOAM makes both developers and their applications work faster!

A more complete description can be found on the About page.

The best place to start is the Tutorial.

Ask questions on the [email protected] mailing list and search previous Q&A's on FOAM-Overflow.

FOAM Topics

FOAM Applications & Demos

FOAM Architectural Comparisons

Clone this wiki locally