Необычный и амбициозный фреймворк Meteor, пребывая в статусе preview (текущая версия — 0.3.8) уже получил 4500 подписчиков на Гитхабе и восторженные отзывы сооснователя Facebook Дастина Московица. Теперь на него обратили внимание акулы венчурного капитализма. Основным инвестором стал фонд Andreessen Horowitz. По словам Джефа Шмидта — CEO Meteor Development Group, одиннадцать с лишним миллионов гарантируют активную разработку проекта на протяжении ближайших нескольких лет.
Разработчики надеются, что Meteor станет лучшей платформой для разработки практически любых приложений и будет так же распространён, как Java, Apache и SQL. Meteor был, есть и будет открытым проектом. В будущем планируется создать на его базе коммерческую платформу под названием Galaxy, нацеленную на корпоративный сегмент.
Meteor работает на чистом JavaScript. На сервере используется Node.js и MongoDB. Meteor состоит из так называемых «умных пакетов» (smart packages). Внешние библиотеки и инструменты тоже подключаются в виде пакетов. Уже доступны пакеты Coffeescipt, LESS, Backbone, JQuery, underscore и ещё несколько популярных библиотек. В основе Meteor лежат семь принципов:
- Передача данных. Не надо пересылать по сети HTML. Послыайте данные, и пусть клиент решает, как их отображать.
- Один язык. И клиентская, и серверная часть пишется на JavaScript.
- База данных повсюду. Один и тот же прозрачный API используется для доступа к данным как на сервере, так и на клиенте.
- Компенсация задержек. Предварительная загрузка и локальная симуляция модели на клиенте позволяют создать впечатление прямой связи с БД с нулевыми здержками.
- Быстрая реакция на всех уровнях. Всё работает в реальном времени по умолчанию. Для всех слоёв, от БД до шаблонов в браузере, должен быть доступен событийный интерфейс.
- Дружественность к экосистеме. Meteor имеет открытые исходники и интегрируется с существующими инструментами и фреймворками, а не вытесняет их.
- Простота — значит продуктивность. Лучший способ заставит что-то выглядеть простым — сделать это простым на самом деле. Meteor добивается этого с помощью чистых и красивых API.
Фреймворк весьма своенравен и полон «магии», за что его уже начинают сравнивать с Ruby on Rails. Meteor стремится макисмально упростить и ускорить разработку, абстрагируясь от деталей взаимодействия клиента и сервера. Многим это может не понравиться, но и сторонников такого подхода, судя по популярности проекта на Гитхабе и инвестициям, тоже предостаточно. Meteor — это "opinionated software" со всеми его плюсами и минусами.
Ссылки:
Автор: ilya42