// Мобильные приложения

Разработка Приложения — Мессенджера: Особенности и Стоимость

Содержание

#1. Шаги создания мессенджера
#2. Стоимость разработки функций мессенджера
#3. Факторы, влияющие на стоимость разработки
#4. Зарплата разработчиков по должностям

Появились вопросы?
Олег Колесников
Автор статьи

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

Шаги создания мессенджера

Разработка мобильного мессенджера — это нетривиальная задача, требующая соответствующего опыта и знаний. Причем не только для реализации технической части, но и для создания уникального ценностного предложения, которое позволит выделить ваш проект среди конкурентов: WhatsApp, Facebook Messenger, Telegram, Skype и других. Как найти технического партнера и на что обращать внимание при его выборе, подробно описано в статье: «Как выбрать компанию-разработчика»

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

  1. Подписание договора. Вы и представители компании-разработчика (проект-менеджер, бизнес-аналитик) прорабатываете концепцию мессенджера, после чего составляется техническое задание проекта. Дальше вы обговариваете условия сотрудничества и подписываете договор.
  2. Прототипирование интерфейса. Бизнес-аналитик, дизайнер и / или вы создаете каркас интерфейса мессенджера, где показаны пользовательские потоки, экраны и элементы дизайна, а также дано описание функционала.
  3. Создание дизайна интерфейса. Дизайнеры на базе готовых каркасов разрабатывают макеты интерфейса — статичное представление дизайна приложения в том виде, в котором он будет представлен пользователям. При необходимости также создаются прототипы — интерактивные макеты, где работают все анимации, иконки, и переходы, но не работают функции.
  4. Кодирование приложения. Реализация технического задания, макетов/прототипов и функций мессенджера в программном коде. Этим занимаются фронтенд- и бэкенд-разработчики мобильных приложений.
  5. Тестирование приложения. QA-специалисты тестируют код вашего приложения, а также проверяют его производительность, безопасность, функционал и совместимость с большинством iOS- и Android-устройств.
  6. Релиз и поддержка. Готовое и протестированное приложение добавляют в App Store (99 долларов в месяц) и Google Play (25 долларов единоразово). Кроме того, также необходимо наладить работу службы поддержки.

Стоимость разработки функций мессенджера

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

Регистрация, вход. Процесс регистрации в приложениях для обмена сообщениями обычно происходит с помощью номера телефона, электронной почты или аккаунта в Facebook, Apple и Google. При этом приложение часто требует подтверждения через ссылку или SMS. Например, когда в WhatsApp пользователь вводит свои данные (номер телефона), приложение отправляет ему SMS, которое автоматически обрабатывается внутри самого приложения. Что весьма удобно.

Messenger App Development: Features and Costs

Messenger App Development: Features and Costs
Варианты реализации способа регистрации в популярных мессенджерах. Источник

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

Messenger App Development: Features and Costs

Настройки мессенджера. В этом разделе пользователи могут отключать или включать уведомления о прочтении сообщений, изменять изображение своего аватара или имя профиля, менять номер телефона, добавлять новые устройства, управлять заблокированными контактами, изменять статус, удалять свои учетные записи, настраивать параметры профиля, например уведомления чата, и т.п. Кроме того, вы также должны предоставить пользователям мессенджера возможность настраивать уровень конфиденциальности их сообщений и данных.
Messenger App Development: Features and Costs

Быстрый импорт контактов. Эта опция позволяет с помощью пары кликов перенести список своих контактов из WhatsApp, Facebook Messenger, Telegram, Skype, Sim-карты или иного источника в ваш мессенджер. Кроме того, сейчас также набирает популярность опция быстрого обмена выбранных контактов через чат, SMS или по беспроводной связи (WiFi, Bluetooth) с находящимися рядом людьми. Последнее можно сделать с помощью QR-кода или специального действия: одновременное встряхивание находящихся рядышком телефонов.

Также стоит создать механизм сравнения контактов на внешних источниках с записями в базе данных приложения. Если совпадение найдено, приложение не будет переносить этот контакт в свою базу, что позволит избежать дублирования абонентов в листинг контактов мессенджера (частая и раздражающая проблема).
Messenger App Development: Features and Costs

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

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

Messenger App Development: Features and Costs

Messenger App Development: Features and Costs
Два варианта реализации моментальных сообщений: когда сообщения проходят через сервер (слева) и когда сообщения отправляются от пользователя к пользователю. Источник

Обмен файлами мультимедиа. При разработке собственного мобильного мессенджера нужно предоставить пользователям возможность обмениваться изображениями, а также короткими аудио- и видеофайлами. Реализовать такую опцию можно путем загрузки мультимедийного файла для доставки на HTTP-сервер, после чего пользователю-получателю будет отправлена ссылка на контент вместе с его эскизом в кодировке Base64. Также можно использовать API SOAP и RESTful.

Messenger App Development: Features and Costs

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

С технической точки зрения этот функционал можно воплотить несколькими способами. Например, WhatsApp использует мультимедийную коммуникационную библиотеку с открытым исходным PJSIP для реализации передачи голоса и аудио по IP (VoIP). PJSIP написан на C и использует высокоуровневый API, объединяя протокол сигнализации SIP с мультимедийной структурой и функцией обхода NAT. Данный API подходит для всех типов систем, включая мобильные.

Messenger App Development: Features and Costs

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

Messenger App Development: Features and Costs

Определение местоположения. Геолокация может быть интегрирована в мессенджер с помощью Google Maps API для устройств на базе Android или Map Kit для устройств на базе iOS от Apple. Это даст возможность определять регион пользователя, чтобы автоматически устанавливать нужный язык интерфейса. Еще можно позволить пользователям делиться своим местоположением или добыть геофильтры для масок и эмодзи, как в мессенджере Snapchat.

Messenger App Development: Features and Costs

Сквозное шифрование (E2EE). Если вы хотите создать приложение для обмена сообщениями, вы должны обеспечить безопасность личных данных пользователей. В большинстве приложений этого добиваются посредством метода под названием end-to-end encryption (E2EE). Это подразумевает, что сервер не знает секретные ключи абонентов (с их помощью система шифрует и расшифровывает данные) и никак не участвует в шифровании — оно проходит как бы «сквозь» сервер.

В WhatsApp такое шифрование основано на базе протокола Signal, в реализации которого используются алгоритмы ECDH на Curve25519, AES-256, AES-GCM, HMAC-SHA256, HDKF. Сквозное шифрование в WhatsApp распространяется на все типы сообщений: текст, аудио, видео, файлы мультимедиа.

Messenger App Development: Features and Costs

Уведомления. В современных мессенджерах пользователь получает уведомление о личном сообщении чата или групповом сообщении через уведомления мобильного приложения. В зависимости от глубины проработки данной функции это может быть простое push-уведомление и засветка индикатора, уведомление с полным текстом нового сообщения на экране смартфона засветкой индикатора, а также уведомление с текстом нового сообщения на экране и возможностью ответить на него не открывая мессенджер. Эта функция может быть реализована через Google Cloud Messaging или Apple Push Notifications.

Messenger App Development: Features and Costs

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

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

Messenger App Development: Features and Costs

Факторы, влияющие на стоимость разработки

Сложность проекта. Под сложностью приложения обычно имеют в виду количество реализованных в нем функций и глубину их проработки. Градация здесь следующая: простой мессенджер — до 400 часов, умеренный — от 400 до 800 часов, сложный — от 800 до 1500 часов или больше. Разницу между простым и сложным приложением легко заметить, если сравнить функцию SMS и возможности таких мессенджеров, как Facebook Messenger, Snapchat, WhatsApp, Telegram, Viber или Signal.

Messenger App Development: Features and Costs
Какие функции есть в самых популярных мессенджерах. Источник

Технологический стек и API. Это набор различных инструментов разработки, которые используются при создании мобильных приложений, сайтов и другого ПО. Технологический стек принято делить на фронтенд, бэкенд и API.

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

Messenger App Development: Features and Costs

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

  • Язык программирования — JavaScript, Node.js.
  • Документация по API — Swagger.
  • Инфраструктура — AWS.
  • Фреймворк — Express 4.
  • База данных — MySQL.
API (Application Programming Interface) — это набор протоколов для соединения бэкенда и фронтенда и также интеграции с внешними сервисами, расширяющими возможности приложения. Вот пример набора API для разработки мессенджера:

Messenger App Development: Features and Costs

Messenger App Development: Features and Costs

Местоположение разработчика. Это важно, так как средняя зарплата UX/UI-дизайнеров, программистов, бизнес-аналитиков, проект-менеджеров, QA-инженеров и других специалистов может сильно различаться в разных странах. Так, средняя почасовая ставка специалиста из Соединенных Штатов Америки составляет 95 долларов в час, Великобритании и Западной Европы — 67 долларов в час, Восточной Европы — 37 долларов в час, Азии — 25 долларов в час.

Причем, что любопытно, несмотря на столь большую разницу в зарплате, качество работы специалистов из США и, например, Украины, сопоставимо. Поэтому Apple, Microsoft, Dell, IBM и другие американские IT-компании постоянно отдают часть разработки своих продуктов на аутсорсинг в более «дешевые» страны.

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

Messenger App Development: Features and Costs

Зарплата разработчиков по должностям

Чтобы вы могли лучше ориентироваться в зарплатах, вот таблица, где представлены почасовые ставки мобильных разработчиков в зависимости от их специализации, местоположения и уровня навыков:

Messenger App Development: Features and Costs

Messenger App Development: Features and Costs

Messenger App Development: Features and Costs

Отзывы наших клиентов

Разработка экосистемы, предназначенной для предоставления разнообразных услуг цифровым активам под одной оболочкой на основе технологии блокчейна

Есть вопросы? Задайте их здесь

Имя *
Email *
Телефон
Ваш бюджет
Сообщение
 

С 2015 года помогаем клиентам реализовывать идеи!

Подпишитесь на свежие статьи