Терминологический Словарь Meteor

99

На данный момент переведено

В этой главе вы:

  • Обзор некоторых терминов Meteor.
  • Клиент (Client)

    Когда мы говорим о Клиенте (Client), обычно имеется в виду код программы, который запускается в веб-браузере пользователей. Это может быть как и традиционный браузер (например, Firefox, Google Chrome или Safari), так и что-нибудь сложное (например, UIWebView в родном приложении для iPhone).

    Коллекция (Collection)

    Meteor Collection, Коллекция - это хранилище данных, которое автоматически синхронизируется между клиентом и сервером. У Коллекций есть имя (например, posts) и обычно они доступны и на клиенте, и на сервере.

    Хоть и работают они по разному, у Коллекций на клиенте и на сервере есть общий интерфейс (свойства и методы), который базируется на интерфейсе MongoDB.

    Вычисление (Computation)

    Вычисление, Computation - это блок кода, который запускается каждый раз, когда хоть один из реактивных источников информации, которые вычисление использует, меняется.

    Если у вас есть реактивный источник данных (например, переменная Session) и вы хотите реагировать на его изменения, вам нужно будет для этого запустить вычисление.

    Курсор (Cursor)

    Курсор, Cursor - это результат запроса Коллекции MongoDB. На клиентской стороне, курсор - это не просто массив с результатами запроса, а реактивный источник данных, который можно обозревать: получать уведомления, когда уместные документы добавляются, удаляются или обновляются (added, removed, changed).

    DDP

    Distributed Data Protocol (DDP)(протокол распределенных данных) - протокол связи Meteor, который используется для синхронизации Коллекций и вызова Методов. DDP был предназначен как протокол общего назначения, который занимает нишь HTTP для приложений реального времени, которые требуют много операций с информацией.

    Deps

    Deps (от англ. “Dependencies” - зависимости) - это реактивная система Meteor. Deps используется за кулисами на клиентской части для поддержания автоматической синхронизации HTML с моделью данных (data model) лежащей в основе.

    Документ

    MongoDB является документо-ориентированным хранилищем данных, поэтому объекты хранящиеся в Коллекциях называют “документами”. Они являются простыми JavaScript объектами (за исключением того, что они не могут содержать функций) с единственным специальным полем _id, которое Meteor использует для слежения за объектами переданных через DDP.

    Вспомогательные методы (Template Helpers, хэлперы)

    Когда шаблону (Template) нужно отрисовать (render) на странице что-то более сложное, чем свойство документа, на помощь приходит вспомогательный метод, который будет вызван шаблоном.

    Компенсация Задержки Передачи Данных (Latency Compensation)

    Это механизм, который позволяет симулировать вызов удаленного Метода (Method) на стороне клиента, чтобы избежать запаздывание во время ожидания ответа от сервера.

    Метод (Method)

    Meteor Method - это удаленный вызов процедуры (RPC) с клиентской стороны к серверу, которые умеют следить за обновлениями коллекций и выполняют Компенсацию Задержки Передачи Данных.

    MiniMongo

    Коллекция на стороне клиента является структурой данных, которая хранится в оперативной памяти и предоставляет интерфейс схожий с MongoDB. Библиотека, которая поддерживает это поведение называется “MiniMongo”. Название указывает на то, что это малая версия Mongo, которая выполняется полностью в памяти.

    Пакет (Package)

    Пакет Meteor может содержать код работающий на стороне сервер, код работающий на стороне клиенте, инструкции, как обрабатывать ресурсы (например, из SCSS получить CSS) и ресурсы для обработки.
    Пакет можно представить как очень продвинутую библиотеку. Meteor поставляется с уже обширным набором пакетов. Также стоит обратить внимание на Atmosphere - коллекцию пакетов разработанных сообществом и третьими лицами.

    Публикация (Publication)

    Публикацией является именованный набор данных, который может быть определен индивидуально для каждого пользователя, который на нее подпишется. Вы можете определить публикации на сервере.

    Сервер (Server)

    Meteor сервер - это HTTP и DDP сервер, который исполняется на Node.js. Он состоит из всех библиотек Meteor вместе с вашим JavaScript кодом для стороны сервера. Когда вы запускаете Meteor сервер, он подсоединяется к базе данных Mongo (которая запускается сама в режиме разработки).

    Сессии (Session)

    Session в Meteor называется реактивный источник данных, который используется вашим приложением на стороне клиента, чтобы задать и отследить состояние в котором находится пользователь.

    Подписка (Subscription)

    Подпиской является соединение к публикации для определенного клиента. Подписка - это код, который исполняется в браузере и переговаривает с публикацией на сервере, а также хранит данные в синхронизированном состоянии.

    Шаблон (Template)

    Шаблон - это механизм генерации HTML кода с помощью JavaScript. По-умолчанию, Meteor поддерживает Handlebars, систему шаблонов без собственной логики, однако в планах поддержка большего числа систем шаблонов.

    Контекст Данных Шаблона (Template Data Context)

    Когда шаблон отрисовывает содержимое, он обращается к JavaScript объекту, который предоставляет данные для этой конкретной отрисовки. Обычно эти объекты являются простыми структурами JavaScript (plain-old-JavaScript-objects (POJOs)), зачастую - документы из коллекции. Однако они могут быть более сложными и иметь собственные методы.