FOAM Metaprogramming Framework

0.5.0 · abandoned · verified Sun Apr 19

FOAM is described as a full-stack reactive MVC metaprogramming framework primarily implemented in JavaScript. Its core value proposition focuses on building high-performance applications with reduced size and increased developer efficiency, allowing for code generation targeting various languages and platforms. The project appears to be an early-stage or abandoned framework, indicated by its low version number (0.5.0), the use of 'nodejs' (rather than 'node') in examples, a dependency on Google Groups for discussions, and the primary distribution method involving direct HTML script inclusion or pre-bundled `foam.js` files. It predates widespread adoption of modern JavaScript module systems like CommonJS or ESM, typically relying on global scope for accessibility. There is no clear release cadence, and the framework's 'no build' claim for demos contrasts with a build tool for optimized deployment, suggesting a workflow that might be incompatible with contemporary front-end development practices. Key differentiators include its metaprogramming capabilities and focus on efficient code generation, though its current relevance is limited given its apparent inactivity.

Common errors

Warnings

Install

Imports

Quickstart

Demonstrates how to use the framework's `foam.js` build tool to generate a bundled application from a specified controller model for deployment.

nodejs tools/foam.js foam.build.BuildApp controller=my.controller.Model targetPath=. 

// This command runs the FOAM build tool to generate a bundled application. 
// 'my.controller.Model' should be replaced with the actual path to your application's main controller model. 
// The 'targetPath' specifies where the output (e.g., foam.js and foam.html) will be placed.

view raw JSON →