2012-12-22 6 views
14

Я думаю использовать Meteor для создания своего следующего приложения, но у меня было несколько вопросов.Метеорная совместимость

  • Из того, что я понимаю, связь между сервером и клиентом использует протокол DDP/WebSockets. Какие браузеры поддерживают Meteor?

  • В чем разница между протоколом связи Метеор и socket.io?

  • Если нет никакой разницы, есть ли возможность использовать socket.io вместо собственного протокола Meteor DDP/WebSockets?

  • Возможно ли использование метеора в сочетании с Йоменом (рамочная система рабочего процесса, разработанная Полом Ирландцем)?

Большое вам спасибо!

+1

Ваш первый вопрос уже задан и ответил здесь: [Какие веб-браузеры поддерживаются платформой Meteor?] (Http://stackoverflow.com/questions/10127211/what-web-browsers-are-supported- by-meteor-web-framework) – Rahul

ответ

23

Давайте посмотрим, если я могу ответить на ваши вопросы в том порядке, в котором они появляются ...

  • Метеор поддерживает все основные браузеры. IE, Chrome, Safari. См. Указатель Rahul выше для версий IE.
  • socket.io - это протокол уровня сообщений, который обеспечивает отправку, получение и маршрутизацию сообщений. Напротив, DDP (протокол Meteor) - это протокол более высокого уровня, который моделирует частичную репликацию вашей базы данных в браузере и вызовы RPC. Действительно, DDP использует протокол уровня сообщений под обложками: sockjs.
  • Нарушение транспорта сообщений на уровне сообщений с целью замены взамен в настоящее время потребует некоторого количества рефакторинга, а также спускания и загрязнения с исходным кодом Метеор. В будущем транспорт сообщений на уровне сообщений, скорее всего, будет немного инкапсулирован, но Meteor, как правило, предоставит разумный дефолт там, который может или не всегда может быть основан на sockjs.
  • Пока я не пробовал Метеор и Йомен вместе, они покрывают много одинаковой земли. Оба хотят запустить ваш локальный веб-сервер для вас; у обоих есть мнения о макете вашего проекта, оба, возможно, уменьшают ваш javascript, оба хотят управлять вашими пакетами (больше поддержки для этого в Meteor находится в разработке), оба обеспечивают начальный бит шаблона для вашего приложения и т. д. Я подозреваю, что это было бы намного проще использовать рабочий поток pure-Meteor, когда вы разрабатываете приложение Meteor.
+0

Большое спасибо за добавленные детали! –

0

Есть некоторые пакеты, которые помогают в реализации обычной функциональности websocket - Streamy и Streamy-rooms приходят на ум. Но между функциональностью веб-сокетов и DDP существует большая разница. DDP использует websockets, но гораздо больше. Такие вещи, как оптимистическое обновление, не включены в веб-узлы. Кроме того, имея часть базы данных как на клиенте, так и на сервере, вам не нужно подключать излучатели и приемники сокетов. Это делает разработку более интуитивной и быстрой. Если вы хотите использовать это конкретное поведение, вы также можете использовать перечисленные пакеты, например, если вы не хотите сохранять определенные изменения в базе данных, но все равно отправляете их определенным пользователям.