Как создать свой мессенджер
Перейти к содержимому

Как создать свой мессенджер

Обзор Matrix. Как создать свой децентрализованный мессенджер

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

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

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

Что за зверь такой

Matrix — проект с открытым исходным кодом для безопасного децентрализованного обмена сообщениями по IP в реальном времени.

Проект распространяется под лицензией Apache, а разработка ведётся силами некоммерческой организации Matrix.org Foundation. Разработка началась в 2014 году, а в 2019 проект вышел из беты.

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

Поскольку Matrix — децентрализованный мессенджер, это значит, что нет единого сервера, который бы управлял его работой. И любой желающий может поднять свой сервак. Vive la Résistance!

Как работает

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

Чтобы полностью управлять своими данными и параметрами общения, естественно, нужно поднять свой сервер. В таком случае вы получаете god mode и можете делать всё что угодно. В том числе настроить маршрутизацию в другие протоколы и мессенджеры (IRC, XMPP, Discord, Telegram) или хостить ботов.

При отправке сообщения в комнату (об этом позже) оно синхронизируется между всеми серверами этой комнаты. Таким образом, если какой-то сервер уйдёт в офлайн, остальные участники всё равно смогут продолжить общение.

При этом не стоит забывать, что в Matrix настроено оконечное шифрование, и даже владелец сервера не может получить доступ к переписке.

Уже хочу. Как поставить?

Для начала вам понадобится скачать мессенджер с поддержкой Matrix либо перейти по этой ссылке, получить аккаунт и начать общаться прямо в браузере. Список нативных и сторонних клиентов под любые платформы доступен тут.

В мессенджере существует такое понятие, как комнаты. Для простоты понимания — это как публичные чаты Telegram. Просмотреть список комнат и их содержимое можно даже без регистрации. Но у меня через нативный клиент для Windows так сделать не получилось.

При регистрации в сети нужно выбрать сервер, к которому вы хотите подключиться, или оставить matrix.org по умолчанию. Затем можно выбрать юзернейм, указать email и пароль. Либо авторизоваться через GitHub, Gmail, GitLab и прочие сервисы.

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

Рассказывать подробно про возможности клиентов Matrix я не буду. Во-первых, возможности могут различаться между клиентами и серверами. Во-вторых, этот мессенджер вы и так все знаете.

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

Как поднять свой сервер

Развернуть свой сервер Matrix относительно несложно, если вы уже делали что-то подобное. Для этого нужно обратиться к документации и развернуть копию Synapse.

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

Общение с внешним миром

Чтобы начать общение из Matrix-мессенджера с тем же Telegram, нужно построить мост по всем заветам Сэма Портера Бриджеса, если вы владелец сервера.

Для пользователей всё немного проще. В случае с Телеграм нужно перейти на страницу t2bot.io и выполнить все шаги из соответствующей инструкции.

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

На практике это оказалось правдой лишь отчасти. Да, придётся немного пострадать для общения с друзьями из Viber, Telegram и прочих мессенджеров. Но сам протокол, если его так можно назвать, поддерживает все современные фишки для удобного и простого общения.

Поэтому в теории каждый из вас может без проблем поднять свой сервер и переехать в Matrix без особых потерь в удобстве.

Как создать свой мессенджер: ответы на популярные вопросы

Как создать приложение-мессенджер

Что нас всех объединяет? Ответов на этот философский вопрос много, но мы, продуктовая команда из сердца Сибири, сразу думаем про мобильные приложения и отвечаем так: у каждого из нас есть хотя бы один мессенджер на телефоне. Сегодня это часть повседневных будней —мы используем чаты не только для общения с семьей и друзьями, но и для того, чтобы читать новости, скидывать мемы в группы и даже записываться на стрижку с помощью чат-бота. Мы регулярно получаем много вопросов о том, к ак создать свой мессенджер , поэтому решили завернуть весь накопленный опыт в статью — что ж, делимся!

Если вы сомневаетесь нужно в ли ступать на территорию разработки мессенджеров, просто взгляните на последние цифры. В 2021 году приложением Facebook Messenger пользуются 1,3 миллиарда человек во всем мире, а WhatsApp есть на телефоне у 2 миллиардов пользователей (¼ часть населения земли, на секунду).

Хорошая новость заключается в том, что у большинства установлено сразу несколько приложений, поэтому все перечисленные компании не конкурируют между собой, а дополняют друг друга. Например, WeChat популярен в основном в азиатских странах, а Slack используют 12 миллионов человек для коммуникации внутри компаний. Аналитики ожидают, что количество активных пользователей будет только расти, а рынок приложений для обмена сообщениями будет цвести и пахнуть.

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

Ключевые функции мессенджеров

Давайте сразу к делу — существует список функций, которые нельзя игнорировать при разработке мессенджера . В Purrweb мы считаем, что приложение должно быть, в первую очередь, удобным для пользователя, учитывать боли и запросы клиентов. Поэтому мы всегда советуем начать с командного мозгового штурма — это поможет определить нишу, целевую аудиторию, а также выбрать то, что будет отличать вас от конкурентов. После это можно думать, как создать свой мессенджер , и выбирать, какие функции нужны вашему приложению. Основываясь на нашем опыте, мы составили 2 списка — must-have и nice-to have функций — для по-настоящему классного приложения-мессенджера.

Must-have функции

Авторизация

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

Доступ к контактам

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

как создать приложение-мессенджер

Обмен сообщениями

Эта функция — сердечная мышца вашего приложения. Для того, чтобы пользователи успешно общались в чате, вам будут нужны следующие элементы: приватные и групповые чаты, отправка и отмена сообщения, статус доставки, история чата и функцию редактирования текста.

Если вы хотите создать приложение-мессенджер , то подумайте над тем, чтобы добавить голосовые и видеосообщения. Мы знаем, что количество элементов может испугать. Как их всех расположить, чтобы страница не выглядела перегруженной? Вам на помощь придет опытный UX-дизайнер, который спроектирует по-настоящему удобный интерфейс.

как создать приложение-мессенджер

Обмен файлами

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

Push-уведомления

Как создать свой мессенджер без функции уведомлений? Это невозможно! В эпоху, когда мы так боимся пропустить что-то важное, пользователи обязаны немедленно знать, что они получили новое сообщение. Наверняка, каждый из нас хоть раз сходил с ума, ожидая обратную связь от потенциального работодателя — не нам вас убеждать в том, насколько важны push-уведомления в чатах ��

Защита данных

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

Nice-to-have функции

Звонки

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

Чат-боты

Эта функция привлечет бизнес-клиентов в ваше приложение-чат. Не пугайтесь слова «Боты». Чат-бот — это всего лишь автоматическое программное обеспечение, которое поддерживает онлайн-связь с клиентами, отправляет автоматические сообщения и помогает с ответами на часто задаваемые вопросы. Они также могут позвать человека, если вопрос пользователя пришелся роботу «не по зубам».

как создать приложение-мессенджер

Как создать свой мессенджер, который принесет прибыль?

Вопрос о стратегиях монетизации неизбежно возникает у всех, кто хочет разработать приложение для обмена сообщениями . Вы спросите: «Мессенджеры вообще зарабатывают?!» Короткий ответ – да.

Вот несколько стратегий монетизации для подобной бизнес-идеи:

  • Реклама в приложении;
  • Технология переадресации звонков. Например, звонит вам кто-то из-за границы — звонок не идет через оператора, а переносится в Viber, который получает за это деньги;
  • Брендированные стикеры, созданные в коллаборации с брендами;
  • Пожертвования от пользователей. Да, это тоже вариант, и именно так живет и здравствует Telegram);

Как найти надежного разработчика?

Проверить команду разработчиков «на прочность» можно в два шага:

Во-первых, просто погуглите название компании. Кто-то скажет: «Пфф, банально» , но поверьте, даже самый быстрый поиск в Google даст какое-никакое представление о ценностях команды – совпадаете ли вы по взглядам, получится ли у вас делать что-то вместе. Во-вторых, сходите на профессиональные площадки – Dribbble и Behance — и изучите дизайн-портфолио ваших потенциальных подрядчиков. За отзывами клиентов можно отправиться в Clutch и UpWork. Ну и не забудьте про сайт компании — например, мы размещаем отзывы клиентов на главной странице , а результатами работ делимся во вкладке «Проекты» .

Помимо этого, для стартапа важно соблюдать бюджет и сроки. Поэтому мы искренне советуем выбрать того, кто разрабатывает приложения на React Native. Почему? Сейчас объясним.

React Native — это фреймворк, который был создан Facebook 5 лет назад. Код приложений пишется на JavaScript – одном из самых популярных языков программирования во всем мире. Есть 3 основных преимущества работы с компанией, которая работает на React Native.

JavaScript. Этот язык — один из самых распространенных среди разработчиков, поэтому вы сможете найти подрядчика для разработки вашего приложения быстро и безболезненно.

Единая общая кодовая база. При разработке двух отдельных версий приложения для Android и iOS код в них будет совпадать примерно на 65-70%. Что это значит для вашего бизнеса? Во-первых, это значительно сокращает время разработки (примерно в 2 раза). Во-вторых, не нужно нанимать и платить (!) двум отдельным командам — это осталось в прошлом. Не нужно будет думать, как создать мессенджер на iOS ? Как создать мессенджер на Android ? Кто за это возьмется? Достаточно будет найти ту самую команду, которая работает с фреймворком React Native.

Нативные UI-элементы. Компании Facebook принадлежат бесконечные библиотеки нативных UI-элементов для интерфейса. Как это поможет вашей бизнес-идее? Очень просто — это означает, что ваше будущее приложение функционировать как нативное. Производительность мессенджера будет такой же, как если бы вы разработали его на Java или Swift.

Мы работаем с React Native последние 4 года и еще ни разу не разочаровались. Фреймворк позволяет нам создавать MVP (минимально-жизнеспособный продукт)для наших клиентов за 3 месяца. Это означает, что вы придете к нам с идеей, и через 90 дней у вас будет рабочая версия продукта, которую можно тестировать, собирать обратную связь и показывать потенциальным инвесторам.

Сколько стоит создать приложение-мессенджер?

Вот мы и дошли до самой важной части статьи — той, которая про стоимость и сроки. Разработка мессенджера – сложный процесс, в котором участвует команда разработчиков, дизайнеров, проектных менеджеров и QA-специалистов. Выбросить кого-то из команды и при этом сделать крутой продукт нельзя ��

Мы предлагаем полный цикл разработки приложения на React Native — включая UI / UX дизайн, API, услуги разработки Frontend и тестирование — и все, что нужно, чтобы ваше приложение попало в топ AppStore и Google Play. Наша философия – быть максимально открытыми и прозрачными для клиентов, поэтому мы предпочитаем обсуждать вопросы сроков и стоимости на берегу. Кроме того, в историях с разработкой мессенджеров , мы отдельно обсуждаем безопасность данных, протоколы шифрования и соединение с серверами. В это время наши дизайнеры смогут углубиться в изучение ЦА приложения, спроектируют логику будущего сервиса, продумают визуальную составляющую.

Мы подробно рассказали о том, как создать свой мессенджер и как его можно монетизировать. Теперь давайте посчитаем, сколько это стоит!

как создать приложение-мессенджер

Key in your e-mail address to get a full breakdown of the estimation with all details

Thank you! You will be contacted soon!

Итого

Над разработкой мессенджера, будет работать команда из 6 человек. Если судить по похожим проектам, над которыми мы работали, итоговая стоимость мессенджера вроде Telegram, составляет от $80.000 до $100.000: с готовым прототипом, UI/UX дизайном, iOS и Android версиями, тестированием и менеджментом проекта. Разработка своего мессенджера с Purrweb займет 5 месяцев.

Чтобы создать успешный сервис, используйте нашу пошаговую инструкцию, как разработать приложение для обмена сообщениями . Вот краткое изложение: первым делом нужно провести брейншторм и определиться с нишей, в которую вы планируете зайти. Кого вы хотите привлечь в приложение и зачем? Где будете искать свою аудиторию? Затем сориентируйтесь по ключевым фичам, которые будут необходимы пользователям – можно опираться на наш список must-have и nice-to-have функций.

Самый же быстрый и простой способ узнать подробности — написать нам напрямую и детально обсудить ваш будущий проект. Мы ответим на все ваши вопросы о том, как создать свой мессенджер , поделимся советами и секретами реализации бизнес-идей, проведем за руку и расскажем о процессах и результатах на каждом этапе создания digital-продукта.

Смотрите наше дизайн-портфолио и читайте отзывы клиентов . Мы также всегда на связи в самых популярных мессенджерах – в Telegram и WhatsApp .

Личный опыт разработки «аналога Whatsapp» за 4 месяца

Сделать свой мессенджер просто? Вовсе нет — даже самое простое приложение для общения это до 50 функций, исполнение которых к тому же зависит от платформы. Технический директор компании Mauris Владимир Бондаренко рассказывает о своем опыте разработки корпоративного мессенджера.

Интересный и нестандартный проект всегда манит разработчиков больше, чем разработка очередного интернет-магазина. Вот и мы, получив возможность реализовать корпоративную сеть с встроенным мессенджером для строительной компании BI Group, кинулись в бой, согласившись на срок полной реализации в 4 месяца.

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

Приложение должно было содержать:

  • корпоративные новости;
  • локальную базу сотрудников;
  • посты и каналы аналогично Facebook;
  • мессенджер.

В качестве back-end мобильного приложения использовали Mauris CRM, которая интегрирована с корпоративными порталами холдингов заказчика. Благодаря готовым модулям Mauris CRM и наличия REST API были реализованы все разделы, кроме мессенджера. Не буду останавливаться на реализации всех функций, там проблем не возникло.

Выбираем технологию

Перед выбором технологии для обмена сообщениями в приложении мы изучили теорию. Времени было мало, поэтому тайминг всех этапов был очень жесткий. Уже через сутки мы увидели, что есть два реальных решения для реализации: писать свое или использовать XMPP. Главной задачей была реализация протокола на сокетах вместо HTTP, что позволит реализовать оперативную двухстороннюю связь с сервером.

Свою реализацию логично делать при наличии должного опыта с чемоданом ошибок и успешных решений, протестированных на аудитории. Мы решили остановится на XMPP, проверенном годами решении таких компаний, как Google и Yahoo.

За 3 дня наш будущий специалист по разработке мессенджеров прочитал книгу «XMPP» в оригинале. Через неделю у нас был прототип. Через две недели у нас уже ходили сообщения между тестовыми клиентами. Были реализованы статусы «печатает», «отправлено», «доставлено», «прочитано». Казалось, что половина пути пройдена и осталось добавить групповые чаты, правильно подключить решение к остальному бекенду и доработать клиентскую часть.

проекта последовали следующие аналогичные проекты, но к ним мы уже были готовы. Надеемся, что данная статья подготовит и вас. Если вы интересуетесь тонкостями мобильной разработки, смотрите видео-советы на нашем YouTube-канале:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *