...

воскресенье, 15 декабря 2013 г.

Feathers.js — реактивный JavaScript-фреймворк поверх Express

image

Feathers.js — реактивный JavaScript фреймворк вдохновленный Sails, Flatiron и Derby. Приложение на feathers.js напоминает обычное expressjs приложение, только вместо

var app = require('express')();


нужно будет написать

var app = require('feathers')();




Для коллекций создается полноценное RESTful API, синхронизация ведется через события SocketIO.



RESTful


// POST http://localhost:8000/todos

{
"description": "You have to do dishes!"
}


// GET http://localhost:8000/todos

[
{
"id": 0,
"description": "You have to do dishes!"
}
]







Пример клиентского кода SocketIO


<script src="http://localhost:8000/socket.io/socket.io.js" />
<script type="text/javascript">
var socket = io.connect('http://localhost:8000/');
socket.on('todos created', function(todo) {
console.log('Someone created a new Todo', todo);
});

socket.emit('todos::create', {
description: 'You have to do something real-time!'
}, {}, function(error, todo) {
socket.emit('todos::find', {}, function(error, todos) {
console.log('Server todos:', todos);
});
});
</script>







Доступ к данным описывается в виде сервиса:

var myService = {
find: function(params, callback) {},
get: function(id, params, callback) {},
create: function(data, params, callback) {},
update: function(id, data, params, callback) {},
remove: function(id, params, callback) {},
setup: function(app) {}
}




Советую посмотреть стандартный TODO-пример. По ссылке демо (реактивное — когда один из пользователей меняет данные, все сразу же видят изменение) и код: и клиентский и серверный.

Документация вполне наглядная и вменяемая.


На мой взгляд фреймворк довольно легкий и приятный. 20 минут на изучение и можно делать реактивные вещи на сайте.


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers.


Комментариев нет:

Отправить комментарий