Graft is a new javascript 'framework' developed by ONC Holdings, aka StudentEdge.
It has a slightly different (and ancillary) approach from the other frameworks out there, in that it is trying to provide a standardised 'execution environment' between the server and the browser, to allow you to more easily deploy the same codebase on both platforms.
It tries to even out the differences between the two environments, and provide some helpful functionality to implement parts that are just different.
It's closest neighbour in the world of 'frameworks' would probably be AirBnB's Rendr, except that it doesn't assume you want to render anything on the server, or even anything at all.
Render on the server or the client : Or both. Different projects have different needs.
Seamless build automation : We make use of browserify and related middleware, to keep the entire packaging aspect as hands off as possible.
Keep our assumptions out of your code base : We try our best to avoid requirements from your code.
(almost) Everything is optional: Most of it's functionality is turned off by default, and easily enabled.
Explicit is better than implicit: We try to stay away from declarative structures when trying to solve imperative problems.
package | description | build status |
---|---|---|
graft.js | Main Library | |
graft-example | Example project | |
graft-auth | Pluggable authentication layer | |
graft-bootstrap | Twitter bootstrap integration via LESS | |
graft-couch | CouchDB database adaptor | |
graft-mockdb | Simple data layer to mock up data access for tests | |
graft-schema | JSON Schema validation of models |
npm install --save graftjs
node server.js
See graft-example for a more complete example.
npm test