На практике это оказалось верным лишь отчасти. Да, вам придется немного помучиться, чтобы связаться с друзьями из Viber, Telegram и других мессенджеров. Но сам протокол, если его можно так назвать, поддерживает все современные функции для удобного и простого общения.
Как создать свой мессенджер
На самом деле существует более двух мессенджеров, которые пытаются защитить конфиденциальность своих пользователей или даже предлагают им анонимность.
Тем не менее, я часто слышу от олдфагов восклицания о том, что большинство инноваций таких мессенджеров было (есть) в старом добром Jabber.
И хотя Jabber плавно перешел в полноценный протокол обмена сообщениями XMPP, я хочу рассказать о его альтернативе под названием Matrix.
Что за зверь такой
Matrix — это проект с открытым исходным кодом для безопасного, децентрализованного обмена IP-сообщениями в режиме реального времени.
Он распространяется под лицензией Apache и разработан некоммерческой организацией Matrix.org Foundation. Разработка началась в 2014 году, а в 2019 году проект вышел из бета-версии.
Мессенджеры на базе матрицы могут общаться не только друг с другом, но и со сторонними мессенджерами. Однако это только в теории, а на практике вы заперты внутри сети Matrix, если владелец сервера не настроил маршрутизацию.
Поскольку Matrix является децентрализованным мессенджером, это означает, что нет единого сервера, управляющего им. И каждый может создать и запустить свой собственный сервер. Да здравствует сопротивление!
Как работает
Каждый пользователь Matrix подключается к определенному серверу, который считается их центральным сервером. Вы можете свободно общаться с пользователями с других серверов.
Конечно, чтобы иметь полный контроль над своими данными и настройками связи, вам необходимо создать собственный сервер. В этом случае вы обладаете богоподобными функциями и можете делать все, что захотите. В том числе переадресация на другие протоколы и мессенджеры (IRC, XMPP, Discord, Telegram) или размещение ботов.
Когда сообщение отправляется в комнату (подробнее об этом позже), оно синхронизируется между всеми серверами в этой комнате. Если один из серверов выходит из строя, остальные могут продолжать общаться.
Помните, однако, что Matrix настроен на шифрование конечных точек, поэтому даже владелец сервера не сможет получить доступ к письмам.
Уже хочу. Как поставить?
Чтобы начать работу, вам нужно скачать Matrix Messenger или перейти по этой ссылке, создать учетную запись и начать общение прямо в браузере. Список собственных и сторонних клиентов для всех платформ можно найти здесь.
Существует такое понятие, как «номера в мессенджере». Для простоты эти чаты можно сравнить с публичными чатами Telegram. Вы также можете просмотреть список комнат и их содержимое без регистрации. Однако это не относится к родному клиенту Windows.
При входе в сеть необходимо выбрать, к какому серверу вы хотите подключиться или оставить настройки по умолчанию. Затем вы можете выбрать имя пользователя, адрес электронной почты и пароль. Или войдите в систему через GitHub, Gmail, GitLab и другие сервисы.
Как и в Mastodon, имя пользователя ассоциируется с выбранным сервером, что не мешает вам общаться с пользователями других серверов.
Я не буду подробно останавливаться на особенностях клиентов Matrix. Во-первых, возможности клиентов и серверов могут различаться. Во-вторых, вы уже все знаете об этом мессенджере.
Как создать свой мессенджер: ответы на популярные вопросы
Что нас всех объединяет? На этот философский вопрос есть много ответов, но мы, команда разработчиков продуктов из сердца Сибири, сразу думаем о мобильных приложениях и отвечаем следующим образом: У каждого на телефоне есть хотя бы один мессенджер. Сегодня это часть повседневной жизни — мы используем чаты не только для общения с семьей и друзьями, но и для чтения новостей, загрузки мемов в группы и даже для заказа стрижки с помощью чат-бота. Мы регулярно получаем много вопросов о настройке мессенджера. Поэтому мы решили собрать весь опыт в одной статье — давайте поделимся им!
Если вы раздумываете о том, чтобы заняться разработкой Messenger, ознакомьтесь с последними данными. К 2021 году Facebook Messenger будут пользоваться 1,3 млрд человек по всему миру, а WhatsApp — 2 млрд пользователей на телефонах (¼ населения Земли, в секунду).
Хорошей новостью является то, что у большинства людей одновременно установлено более одного приложения, поэтому все упомянутые компании не конкурируют друг с другом, а дополняют друг друга. Например, WeChat особенно популярен в азиатских странах, а Slack используют 12 миллионов человек для внутреннего общения в компании. Аналитики ожидают увеличения числа активных пользователей и бурного роста рынка приложений для обмена сообщениями.
В этой статье вы узнаете, как разработать и монетизировать приложение для обмена сообщениями. Если вы дочитаете до конца, вас ждет сюрприз — стоимость бесплатного приложения.
Ключевые функции мессенджеров
Давайте сразу перейдем к делу — существует список функций, которые нельзя игнорировать при разработке приложения для мессенджеров. В Purrweb мы считаем, что приложение должно быть прежде всего удобным для пользователя, учитывая болевые точки и потребности клиентов. Именно поэтому мы всегда советуем начинать с командного мозгового штурма — это поможет вам определить свою нишу и целевую аудиторию, а также решить, что отличает вас от конкурентов. После этого вы можете подумать о том, как вы хотите построить свой мессенджер, и выбрать, какими функциями вы хотите наделить свое приложение. Основываясь на нашем опыте, мы составили 2 списка — функции, которые должны быть у вас, и функции, которые должны быть у вас — для действительно хорошего приложения-мессенджера.
Must-have функции
Авторизация
Регистрация пользователя не должна занимать более двух минут. Чтобы ускорить процесс, мы рекомендуем интегрировать социальные сети и регистрироваться через номер телефона или адрес электронной почты. Затем пользователи могут выбрать фотографию профиля и имя. Некоторые приложения, такие как Telegram, имеют дополнительную функцию скрытия номера телефона от других, а Messenger также позволяет м
Доступ к контактам
Интересный и нестандартный проект всегда привлекает разработчиков больше, чем разработка очередного интернет-магазина. Когда мы получили возможность разработать настоящую корпоративную сеть с интегрированным мессенджером для строительной компании BI Group, мы сразу же принялись за дело и договорились о 4-месячном сроке для полного внедрения.
Личный опыт разработки «аналога Whatsapp» за 4 месяца
Это был наш первый опыт разработки мессенджера. Нам предстояла большая работа, но волнение от возможности реализовать прекрасный проект не оставляло сомнений в успехе. Имея некоторый опыт работы с большими проектами мессенджеров, мы теперь знаем, что только благодаря командному духу и тому, что для проекта были выбраны наши лучшие специалисты, мы смогли справиться с невероятным объемом работы и разработать приложение.
Приложение должно было включать:
Mauris CRM была использована в качестве внутреннего мобильного приложения, интегрированного с корпоративными порталами клиента. Благодаря модулям Mauris CRM и REST API были реализованы все части, кроме мессенджера. Я не буду углубляться в реализацию всех функций, так как здесь не было никаких проблем.
Прежде чем выбрать технологию для передачи сообщений в приложении, мы изучили теорию. Время было ограничено, поэтому сроки каждого этапа были очень сжатыми. После одного дня мы увидели, что есть два реальных решения: написать свое собственное или использовать XMPP. Основной целью было реализовать протокол на сокетах вместо HTTP, что позволило бы обеспечить функциональную двустороннюю связь с сервером.
- корпоративные новости;
- локальную базу сотрудников;
- посты и каналы аналогично Facebook;
- мессенджер.
Имеет смысл реализовать собственное приложение, если у вас есть соответствующий опыт работы с багами и успешные, публично протестированные решения. Мы выбрали XMPP, решение, которое уже много лет тестируется такими компаниями, как Google и Yahoo.
Выбираем технологию
В течение трех дней наш будущий эксперт по разработке Messenger прочитал оригинальную книгу по XMPP. Через неделю у нас был прототип. Через две недели у нас уже были сообщения между тестовыми клиентами. Были реализованы состояния «напечатано», «отправлено», «доставлено», «прочитано». Казалось, что мы уже на полпути, и не хватает только добавления групповых разговоров, правильного подключения решения к остальному бэкенду и завершения работы над клиентской частью.
Затем последовали аналогичные проекты, но мы уже были готовы к ним. Мы надеемся, что эта статья подготовит и вас. Если вас интересуют тонкости и нюансы мобильной разработки, ознакомьтесь с видеосоветами на нашем канале YouTube: