fist v3.6.2
fist the framework
Fist
is a nodejs
framework designed to help create scalable server applications.
##What do I get?
#####Plugin system Modular application structure. Automatic project files loading.
fist_plugins/
models/
user.info.js
news.list.js
news.available_list.js
controllers/
news_page.js
#####Loosely coupled architecture Focus on unit development. Encapsulated business logic.
app.unit({
name: 'news.available_list',
deps: ['news.list', 'user.info'],
#####Data models Simple and intuitive data structures. Unobtrusive data typing.
{
errors: {},
result: {
news: {
available_list: [
{
type: "post",
visibility: "all",
#####Thin controllers Just check that your models are valid.
app.unit({
name: 'news_page',
deps: ['news.available_list'],
main: function (track, context) {
if (context.e('news.available_list')) {
track.status(500).send();
#####Built-in logging tools Always clear what happening and where. More reliability.
app.unit({
name: 'user.info',
main: function (track, context) {
context.logger.debug('Checking user by sessid\n"%s"', track.cookie('sessid'));
#####Built-in cache Just specify what parts of your program can be cached. Less loading. More responsiveness.
app.unit({
name: 'news.list',
maxAge: 5000,
##Hello, world!
$ npm install fist
app.js:
var fist = require('fist');
var app = fist();
app.listen(1337);
fist_plugins/routes.js:
module.exports = function (app) {
app.route('GET /hello/(<name>/)', 'hello_page');
};
fist_plugins/controllers/hello_page.js:
module.exports = function (app) {
app.unit({
name: 'hello_page',
deps: ['greeting_data'],
main: function (track, context) {
track.send(context.r('greeting_data.helloText'));
}
});
};
fist_plugins/models/greeting_data.js:
module.exports = function (app) {
app.unit({
name: 'greeting_data',
main: function (track, context) {
return {
helloText: 'Hello, ' + context.p('name')
};
},
params: {
name: 'what is your name?'
}
});
};
$ node app.js
See the full example code
###Quick start
##Docs
LICENSE MIT
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago