Meteor - это модульная платформа для разработки веб-и мобильных приложений на JavaScript на основе платформы NodeJS.

Meteor - это модульная платформа для разработки веб-приложений и мобильных приложений на чистом JavaScript (хотя могут использоваться и другие языки). Метеор построен на одной объединяющей идее: серверы должны обслуживать данные, а не HTML, клиентам и должны предоставлять обновления клиентам при изменении данных. Затем клиент должен решить, как визуализировать данные.

Метеор состоит из двух частей:

  • Набор пакетов, из которых разработчик может выбирать. Доступен набор базовых пакетов, которые обрабатывают общие задачи, такие как отслеживание изменений в базе данных или повторное отображение шаблона HTML при изменении данных. Системы шаблонов, такие как spacebars(основанные на руле и выпущенные с помощью Meteor 0.8), базы данных, такие как mongodb, такие языки, как coffeescriptи клиентские платформы, такие как backbone.js, доступны в виде пакетов.

  • Инструмент командной строки meteor, который читает исходное дерево приложения и все пакеты, используемые приложением, и записывает tar-архив, готовый к развертыванию. Тарбол можно распаковать и запустить в любом месте, где находится node.js.


Основные технологии Метеор:

  • Горячий код Push. При повторном развертывании приложения Meteor может прозрачно внедрить обновление в каждую вкладку браузера, в которой открыто приложение, без потери места пользователя в приложении.

  • DDP . Простой протокол для публикации набора записей JSON (скажем, текущих историй в новостной ленте пользователя X вместе со всеми комментариями к этим историям) и последующего поддержания их в актуальном состоянии с помощью создания, обновления и удаления сообщений. DDP может работать через длительные опросы Websockets или AJAX и поддерживает прозрачное переподключение. Все, что говорит на DDP, может подключаться к серверу Meteor (не только к клиентам Meteor); Клиенты Meteor могут подключаться к любому серверу DDP (не только к своему собственному серверу Meteor.)

  • Живой движок обновления страницы. Это слой, который помещается под любой системой шаблонов (такой как Handlebars или Jade), чтобы сделать обновленный шаблон автоматически обновляемым на месте, независимо от того, где он вставлен в DOM. Это делается путем рендеринга шаблона в контексте, в котором записаны его обращения к данным, затем подключения обратных вызовов для отслеживания местоположения визуализированных узлов DOM и повторного рендеринга шаблона в случае изменения данных.

  • Латентная компенсация. Когда пользователь вносит изменения, его собственный экран может обновляться немедленно, не дожидаясь сервера. Это делается путем (необязательно) выполнения кода обновления модели как на клиенте, так и на сервере. Как только сервер ответил на запрос, тогда, если он выполнялся там по-другому, состояние клиента исправляется, чтобы соответствовать серверу.

  • Умные Пакеты. Метеоритные пакеты - это небольшие JavaScript-программы, которые загружаются во время развертывания. Настраивая обратные вызовы с помощью API-интерфейса Bundler, они могут внедрять код в клиент или сервер, регистрировать новые расширения файлов, шаблоны предварительной компиляции, исходный код предварительной обработки и т. Д., Что позволяет автору пакета обеспечить беспроблемную интеграцию. Начиная с Meteor 1.3, npm также полностью поддерживается.


Официальные ресурсы:


Дополнительные ресурсы:

  • Meteorpedia
  • Evented Mind - видео уроки и учебные пособия
  • Discover Meteor- вводный учебник и руководство
  • TheMeteorChef- учебные пособия и очерки по Метеору
  • Blaze Guide
  • Pup - котельная плита с открытым исходным кодом. Создано Райаном Гловером из The Meteor Chef.

Связанный