Подтвердить что ты не робот

Являются ли meteor.js и backbone.js взаимодополняющими?

В последнее время я использую основу в качестве своей клиентской платформы. На сервере я использую Express.js. Тем не менее, я читал о "Метеор" и понял, что это довольно интересный "полный стек".

Является ли использование базовой и метеорной взаимодополняющей или метеорной просто канава Магистраль (или любой другой MV *)?

4b9b3361

Ответ 1

Это правильно. Различные части Meteor, такие как Meteor.Collection (API базы данных Mongo, который также работает на клиенте) и Template (шаблоны стиля Handlebars, которые автоматически перерисовываются при изменении данных) работают вместе. Поэтому в любое время, когда один пользователь вносит изменения, все остальные вкладки, которые разрешают доступ к этим данным, будут автоматически перерисовываться. Если вы используете их, вам не нужна отдельная библиотека, например, базовая система на клиенте.

Магистраль построена для более раннего стиля приложения, где у вас есть отдельный код клиента и сервера, написанный с различными API. В этой модели серверная сторона предоставляет REST API и базовое задание, чтобы предоставить некоторую структуру на клиенте для запроса этого API и рисования экрана на основе возвращаемых данных. Но вам все равно придется писать всю синхронизацию данных и код проверки модели вручную, прежде чем у вас появится приложение реального времени, и вам нужно сделать это дважды: один раз на клиенте и один раз на сервере.

Есть одно исключение: многие из нас используют базовый маршрутизатор в наших приложениях Meteor. Ниже приведен код из Пример списка Todo.

////////// Tracking selected list in URL //////////

var TodosRouter = Backbone.Router.extend({
  routes: {
    ":list_id": "main"
  },
  main: function (list_id) {
    Session.set("list_id", list_id);
    Session.set("tag_filter", null);
  },
  setList: function (list_id) {
    this.navigate(list_id, true);
  }
});

Router = new TodosRouter;

Meteor.startup(function () {
  Backbone.history.start({pushState: true});
});

Ответ 2

Существует существующий интеллектуальный пакет метеоритов, называемый meteor-router. Возможно, это поможет вам перенести существующий базовый код.