Метеорная совместимость - программирование
Подтвердить что ты не робот

Метеорная совместимость

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

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

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

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

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

Спасибо вам большое заблаговременно!

4b9b3361

Ответ 1

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

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

Ответ 2

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