Описание тега meteor
Meteor - модульная платформа для разработки веб-приложений и мобильных приложений на чистом JavaScript (хотя могут использоваться и другие языки). Meteor построен на одной объединяющей идее: серверы должны предоставлять клиентам данные, а не HTML, и должны отправлять обновления клиентам при изменении данных. Затем клиент должен решить, как визуализировать данные.
Метеор состоит из двух частей:
Набор пакетов, из которых разработчик может выбирать. Доступен набор основных пакетов, которые выполняют общие задачи, такие как отслеживание изменений в базе данных или повторное отображение HTML-шаблона при изменении данных. Системы шаблонов, такие как пробелы (на основе Handlebars и выпущенные вместе с Meteor 0.8), базы данных, такие как mongodb, такие языки, как coffeescript, и клиентские фреймворки, такие как backbone.js, доступны в виде пакетов.
Инструмент командной строки
meteor
, который считывает дерево исходного кода приложения и любые пакеты, используемые приложением, и записывает архив, готовый к развертыванию. Тарболом может быть распакованы и работать везде, где есть node.js.
Основные технологии Meteor:
Hot Code Push. При повторном развертывании приложения Meteor может прозрачно внедрить обновление в каждую вкладку браузера, на которой открыто приложение, без потери места пользователя в приложении.
DDP. Простой протокол для публикации набора записей JSON (скажем, текущих историй в ленте новостей пользователя X вместе со всеми комментариями к этим историям), а затем поддержания их в актуальном состоянии с помощью создания, обновления и удаления сообщений. DDP может работать через веб-сокеты или длинный опрос AJAX и поддерживает прозрачное переподключение. Все, что говорит по DDP, может подключаться к серверу Meteor (не только клиентам Meteor); Клиенты Meteor могут подключаться к любому серверу DDP (не только к собственному серверу Meteor).
Движок обновления страницы в реальном времени. Это слой, который подходит под любую систему шаблонов (например, Handlebars или Jade), чтобы отображаемый шаблон автоматически обновлялся на месте, независимо от того, где он вставлен в DOM. Это делается путем рендеринга шаблона в контексте, в котором записываются его обращения к данным, а затем подключения обратных вызовов для отслеживания местоположения визуализированных узлов DOM и повторного рендеринга шаблона, если данные изменяются.
Компенсация задержки. Когда пользователь вносит изменения, его собственный экран может обновляться немедленно, не дожидаясь сервера. Это делается (необязательно) путем выполнения кода обновления модели как на клиенте, так и на сервере. После того, как сервер ответил на запрос, если он там выполнялся по-другому, состояние клиента исправляется, чтобы соответствовать серверу.
Умные пакеты. Пакеты Meteor - это на самом деле небольшие программы JavaScript, которые загружаются во время развертывания. Настраивая обратные вызовы с помощью API-интерфейса сборщика, они могут внедрять код в клиент или сервер, регистрировать новые расширения файлов, предварительно скомпилировать шаблоны, предварительно обрабатывать исходный код и т. Д., Позволяя автору пакета обеспечить плавную интеграцию. Начиная с Meteor 1.3, npm также стал полностью поддерживаться.
Официальные ресурсы:
- Домашняя страница проекта Meteor
- Документация по API
- Метеор: официальное руководство
- Форумы Meteor - используйте их для вопросов / обсуждений, выходящих за рамки Stackru.
- Исходный код и трекер проблем на GitHub
- Репозиторий пакетов атмосферы
- Дорожная карта
- Встреча
- Hackpad (Примечание: это необходимо перенести на Dropbox Paper)
Дополнительные ресурсы:
- Метеорпедия
- Evented Mind - видео уроки и уроки
- Discover Meteor - вводный учебник и руководство
- TheMeteorChef - учебные пособия и эссе по Meteor
- Руководство Blaze
- Pup - котельная с открытым кодом. Создано Райаном Гловером из The Meteor Chef.