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

в 8:21, , рубрики: expressjs, javascript, node.js, nodejs, reactive, фреймворк, метки: , , ,

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

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

Автор: zag2art

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js