-
Notifications
You must be signed in to change notification settings - Fork 39
/
a-vocabulary.md.erb
86 lines (47 loc) · 9.13 KB
/
a-vocabulary.md.erb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
---
title: Терминологический Словарь Meteor
slug: meteor-vocabulary
date: 0099/01/01
number: 99
appendix: true
contents: Обзор некоторых терминов Meteor.
paragraphs: 24
---
#### Клиент (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) и ресурсы для обработки. <br/> Пакет можно представить как очень продвинутую библиотеку. Meteor поставляется с уже обширным набором пакетов. Также стоит обратить внимание на [Atmosphere](http://atmosphere.meteor.com/) - коллекцию пакетов разработанных сообществом и третьими лицами.
#### Публикация (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)), зачастую - документы из коллекции. Однако они могут быть более сложными и иметь собственные методы.