Ускорь свои сообщения с post-hawk

Здравствуй, %habrauser%! Практический каждый web-разработчик, рано или поздно сталкивается с пожеланием типа: «Хочу сообщения, как в контакте». В каждом проекте, это означает что-то своё, но как правило, везде присутствует обмен сообщениями между пользователями в реальном времени. И тут начинается веселье…Появляются на свет разного рода велосипеды и дорабатываются уже существующие, так как вероятность «взять и использовать» готовое решение в неизменном виде стремится к 0. Каждый использует разные подходы для решения этой задачи, кто-то commet-server, кто-то просто polling, ну, а кто-то заморочится и напишет socket-сервер с подключением через WebSocket. Все эти варианты имеют право на существование, но на их реализацию тратится солидное время, так как ни один из них нельзя назвать простым.

Все это я проходил. В какой-то момент пришла мысль: «Сколько можно?!» — и я стал думать и подбирать инструменты. Проанализировав, то что удалось найти, для реализации серверной части остановился на Erlang/OTP, который идеально подходил для поставленной задачи. И работа закипела…

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

Как происходит процесс? Всё просто. Вы регистрируетесь в сервисе, добавляете домен (ы) с которого (ых) будут пересылаться сообщения, подключаете один класс на серверной стороне, одну крошечную библиотеку на клиентской и подписываетесь на события. Библиотеки здесь. Ну, а дальше делаете с пришедшими сообщениями всё, что хотите.

Простой пример использования

//создаём объект апи $api_key = 'ключ, полученный после регистрации'; $api = new hawk_api ($api_key); //регистрируем пользователя в системе //рекомендуется делать при авторизации пользователя $api→register_user ('24c9e15e52afc47c225b757e7bee1f9d'); ?> Демо

Кому:
Текст:
Теперь немного о конфиденциальности.

Сервис не сохраняет ваши сообщения. Если вы боитесь за сохранность данных пользователей можете воспользоваться любой библиотекой шифрования, как на клиенте (несколько библиотек), так и на сервере (например, mcrypt) в любом случае сервису ваши сообщения не нужны. Фиксируется только сам факт передачи для сбора статистики. Планируется доработать клиентскую библиотеку для поддержки шифрования «из коробки».

Сколько стоит? Пока — бесплатно. Сервис находится в стадии бэты и каких-то ограничений не планируется.

Монетизация сервиса будет. Но, тут есть большое НО. Сервис не ставит задачу обогатить своих создателей. В какой-то момент я понял, зачем я это делаю и появилась еще одна цель — помочь, детям, которые в этом нуждаются. Откуда это пришло, сложно сказать, но с того момента, как я её перед собой поставил, процесс пошёл гораздо легче. Пока нет юр. лица, да и не известно нужно ли оно, на сайте есть скрипт для доната через Яндекс.Деньги и номера кошельков web money. Чуть позже сделаю страницу с отчётами о переведённых средствах (если будет о чём отчитываться).

Благодарю за внимание! Надеюсь, получилось что-то полезное. Буду рад любой конструктивной критике и предложениям.

PS: статья по содержанию для «Я пиарюсь», но не хватает капельку кармы. Просьба модераторам перенести её туда.

© Habrahabr.ru