Статьи

Начало работы с Pusher: введение в каналы

Связь в режиме реального времени — это святой грааль веб-разработки, и мы наконец-то получили возможность использовать его в наших приложениях благодаря API веб-сокетов. Но, как и в большинстве API браузеров, API веб-сокетов является довольно низким уровнем, и если вы потратили какое-то время с ним, то вы знаете, насколько сложно его эффективно использовать.

Однако сегодня в наших карманах есть суперкомпьютеры, которыми мы пользуемся каждый день, и пользователи ожидают того же опыта в реальном времени в Интернете, на мобильных устройствах и даже на настольных компьютерах. В этой серии вы узнаете о каналах — платформе, которая позволяет вашим пользователям получать бесперебойную работу в режиме реального времени.

Когда дело доходит до написания приложений реального времени, вам нужна инфраструктура, которую вы можете использовать (и повторно использовать) во всех своих приложениях на всех поддерживаемых платформах. Было бы интересно написать эту инфраструктуру, но если вы похожи на меня, ваша задача — создавать и создавать приложения — у вас нет времени на развертывание собственного решения в реальном времени.

Что вам действительно нужно, так это что-то вроде продукта «Каналы» от Pusher. Каналы — это платформа, которая включает в себя все, что вам нужно для обеспечения связи в реальном времени во всех ваших веб, мобильных и настольных приложениях.

Каналы обеспечивают гибкость обмена сообщениями публикации и подписки с помощью простого API на основе событий.

Используя их обширные серверные библиотеки, вы можете запускать события из ваших серверных приложений и прослушивать эти события на своем клиенте. Давайте кратко рассмотрим, какие библиотеки доступны, потому что это, пожалуй, самая важная вещь, которая вас заинтересует — по крайней мере, я знаю, что так и будет, потому что я хочу убедиться, что мои технологии поддерживаются!

Выбор передних и внутренних технологий

Библиотеки делятся на две категории:

  • клиентские библиотеки
  • серверные библиотеки

Как правило, мы публикуем наши сообщения и события с сервера и прослушиваем их на клиенте, но Channels также поддерживает клиентские события, что позволяет публиковать сообщения от клиента (хотя это не то, что мы всегда хотим делать).

Вы можете видеть, что официальные библиотеки, написанные и поддерживаемые Pusher, поддерживают все основные платформы. На переднем крае у Pusher есть библиотеки для:

  • Android
  • iOS (как Swift, так и Objective C)
  • Джава
  • JavaScript

И на сервере вы найдете поддержку для:

  • Идти
  • Джава
  • .СЕТЬ
  • Node.js
  • PHP
  • Laravel
  • питон
  • Рубин

Если вы используете другой язык или платформу, будет доступно много библиотек сообщества — например, для ActionScript, Android (хотя есть и официальная поддержка Android), C ++, Cold Fusion, Dart, PERL и React Native. Эти общественные библиотеки могут не реализовывать все, но они являются хорошим началом.

Каналы — это гораздо больше, чем просто публикация и подписка на сообщения.

Вы можете создавать и использовать частные каналы, чтобы подписаться на них могли только авторизованные пользователи. Это означает, что вам нужно аутентифицировать пользователей, и вы можете легко интегрировать аутентификацию каналов с вашей собственной схемой аутентификации.

Вы также можете создавать специализированные частные каналы, называемые каналами присутствия, которые позволяют видеть пользователей, подписывающихся на определенный канал, и упрощают создание приложений для совместной работы, игр и любых других приложений, в которых вам необходимо знать, кто В сети.

Консоль Debug Dashboard Console

Как платформа, Channels предоставляет вам все необходимое для мониторинга показателей и оповещений. Вы можете просматривать различные метрики о сообщениях, отправляемых по вашим каналам, например количество сообщений, их тип и размер. Вы также получите информацию о соединениях и о том, как клиенты подключаются как к вашему приложению, так и к платформе Channels. Вы также можете интегрировать все эти данные с другими сторонними инструментами, такими как Datadog и Slack.

Существуют средства отладки, доступные при возникновении проблемы, и поддерживаются веб-перехватчики, чтобы ваш сервер мог обновляться и получать уведомления о событиях в каналах. Вы также можете запросить состояние подключенных пользователей с помощью простого API запроса.

Есть много замечательных вещей, которые можно узнать о каналах, и мы рассмотрим их в течение следующих нескольких видео. Так что следите за обновлениями! И обязательно посетите сайт Pusher, чтобы узнать больше . У них есть много информации о конкретных случаях использования, а также учебные пособия и информация о начале работы.