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-пример. По ссылке демо (реактивное — когда один из пользователей меняет данные, все сразу же видят изменение) и код: и клиентский и серверный.
Документация вполне наглядная и вменяемая.
ссылка на оригинал статьи http://habrahabr.ru/post/206092/
Добавить комментарий