Ответ 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});
});