Giter Site home page Giter Site logo

viktor-evdokimov / foam Goto Github PK

View Code? Open in Web Editor NEW

This project forked from foam-framework/foam

0.0 2.0 0.0 20.32 MB

Feature-Oriented Active Modeller

License: Apache License 2.0

JavaScript 91.59% HTML 5.00% Shell 0.56% CSS 1.32% Java 1.51% Objective-J 0.02%

foam's Introduction

FOAM

Build fully featured high preformance apps in less time using FOAM.

  • Application Efficiency

  • Developer Efficiency

"Fast apps Fast"

http://foamdev.com

Feature Oriented Active Modeller

FOAM is a full-stack Reactive MVC Meta-Programming framework.

While it is written in Javascript, it can be used to generate code for any language or platform.

There is nothing to build. Just load any of the various .html demos.

Testing

FOAM has automated tests that can be run with npm test. This depends only on a working Node.js and npm.

There is also a pre-commit hook in hooks/pre-commit; it can be installed by running hooks/install.sh one time. Then the tests will run before any git commit and block the commit if they're failing.

Regression tests whose output has legitimately changed can be conveniently updated using the test page. That works as follows:

node --harmony tests/server.js

and then navigate to http://localhost:8888/tests/FOAMTests.html.

Any failed regression test will highlight its results with red borders, and the "Update Master" button will write the test's latest results into the master. This edits tests/FUNTests.xml, which you should then check in. Be careful to make sure the new output of the test is actually valid!

UI Testing

A small subset of tests require human oversight. These can be run using the server (see above) and then navigating to http://localhost:8888/tests/FOAMTests.html?ui=1 to see just the UI tests.

The ?ui=1 parameter shows only tests with the 'ui' tag.

Bundled Javascript Files

FOAM can bootstrap itself at runtime using core/bootFOAM.js and friends.

However, we have a Grunt script that will build a combined foam.js and minified foam.min.js, which make for easier deployment.

To get started with Grunt, you'll need npm. Then you can run:

sudo npm install -g grunt-cli
npm install
grunt

Currently these files are bloated by rarely-used optional features like Canvas views, Google protobuffer support, and others. We plan to cut these out into separate files eventually.

foam's People

Contributors

adamvy-google avatar agrieve avatar arthurhsu avatar bshepherdson avatar freshp86 avatar honr avatar jacksonic avatar javayu avatar kgrgreer avatar mcarcaso avatar mdittmer avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.