Совместимость с метеором

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

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

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

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

  • Можно ли использовать Meteor в сочетании с Yeoman (структура рабочего процесса, разработанная Полом Айришем)?

Заранее большое спасибо!


person m_vdbeek    schedule 22.12.2012    source источник
comment
Ваш первый вопрос уже задан и на него дан ответ здесь: Какие веб-браузеры поддерживаются платформой Meteor?   -  person Rahul    schedule 22.12.2012


Ответы (2)


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

  • Метеор поддерживает все основные браузеры. IE, Хром, Сафари. См. указатель Рахула выше для версий IE.
  • socket.io — это протокол уровня сообщений, который отвечает за отправку, получение и маршрутизацию сообщений. Напротив, DDP (протокол Meteor) — это протокол более высокого уровня, который моделирует частичную репликацию вашей базы данных в браузер и вызовы RPC. Действительно, DDP использует под прикрытием протокол уровня сообщений: sockjs.
  • Преодоление транспорта на уровне сообщений Meteor с целью его замены в настоящее время потребует некоторого рефакторинга и изучения исходного кода Meteor. В будущем транспорт на уровне сообщений, вероятно, будет немного более инкапсулирован, но Meteor, как правило, обеспечивает разумное значение по умолчанию, которое может или не всегда может быть основано на sockjs.
  • Хотя я не пробовал Meteor и Yeoman вместе, они во многом схожи. Оба хотят запустить для вас ваш локальный веб-сервер; у обоих есть мнение о макете вашего проекта, оба могут минимизировать ваш javascript, оба хотят управлять вашими пакетами (дополнительная поддержка этого в Meteor находится в разработке), оба предоставляют начальный бит шаблона для вашего приложения и т. д. Я подозреваю, что это было бы намного проще использовать рабочий процесс чистого Meteor при разработке приложения Meteor.
person Naomi Seyfer    schedule 24.12.2012
comment
Большое спасибо за добавленные детали !! - person m_vdbeek; 26.12.2012

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

person Tom Goldenberg    schedule 19.10.2015