Connect with us

Разработка

Сколько стоит разработать приложение, похожее на WhatsApp?

В отличие от Pokémon GO, месенджер WhatsApp является более простым в разработке. Но здесь существует другая проблема: на рынке уже много подобных решений. Поэтому, чтобы альтернатива WhatsApp выстрелила, вам понадобится найти свою уникальную нишу, как например, это сделал Slack.

AppTractor

Опубликовано

/

     
     

Александр Зозуля – Android-разработчик и тимлид в студии Stalcon. Он поделился с нами статьей о том, как можно сделать аналог популярного мессенджера и сколько это будет стоить.

Современный человек проводит большую часть дня в непосредственной близости от своего смартфона и открытых вай-фай сетей, поэтому не удивительно, что SMS мы получаем разве что от банков, а вот с друзьями общаемся в основном через всевозможные мессенджеры. Самый распространенный из них — WhatsApp. По данным Statista, ежемесячно его использует 1 миллиард людей во всем мире. Кроме того, WhatsApp — самое популярное приложение в 109 странах мира. Сколько стоит разработка приложения для обмена сообщениями и как создать WhatsApp? Давайте разберемся.

Главные функции месенджера WhatsApp

  • Регистрация по номеру телефона
  • Realtime-события
  • Отправка файлов и изображений
  • Запись голосовых сообщений
  • Голосовые звонки

Сначала мы подробнее рассмотрим функции, нужные чтобы создать клон WhatsApp, а затем определим, сколько стоит WhatsApp.

Прототип приложения

Как сделать WhatsApp с удобным дизайном? Трудно не заметить, что все современные месенджеры сделаны словно под копирку. И пользователям это, как ни странно, по душе: в таком стандартном дизайне реплики четко отделяются, а недавние разговоры отображаются вверху списка контактов, так что все очень просто найти.

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

Серверная часть

Как работает WhatsApp? Чтобы пользователи могли обмениваться сообщениями, нужен посредник, который будет их хранить и передавать. Таким посредником выступает сервер.

Сначала в WhatsApp использовали XMPP-сервер Ejabberd, но затем перешли на самописное решение. В качестве основного языка использовался Erlang, но и для PHP нашлось место. Данные сервис сохраняет с помощью базы данных SQLite.

Регистрация по номеру телефона

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

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

Realtime-события

Разработка WhatsApp включает в себя реализацию нотификаций и событий в реальном времени, на которые должен соответственно реагировать UI. Для этого используются такие технологии, как push-уведомления (предпочтительно когда приложения находится в фоне либо вообще не активно) и WebSocket (для реализации постоянного двустороннего соединения, пока приложение находится онлайн). Такие события, как получение нового сообщения и добавление в друзья имеют высокий приоритет и передаются по обоим каналам (push и websocket) в зависимости от текущего состояния приложения. В свою очередь статусы «онлайн», «печатает», «прочитано» и т. д. передаются только через websocket и в реальном времени непосредственно управляют UI-ем приложения. Подробнее о реализации событий реального времени вы можете прочитать в нашей статье. Создавая корпоративный мессенджер thismo для нашего клиента, мы использовали:Realtime-события

Отправка файлов и изображений

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

Запись голосовых сообщений

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

Голосовые звонки

Голосовые звонки, пожалуй, самая сложная и дорогостоящая задача при создании приложения вроде WhatsApp, поскольку качество голосовой связи зависит от множества причин, и большинство из них требуется учесть и протестировать. Сначала вы можете даже не добавлять голосовую связь, а сделать это позже, как, например, поступил Slack, который предлагает эту опцию только премиум-подписчикам. Для Voice over IP (VoIP) функционала WhatsApp использует библиотеку PJSIP, обеспечивающую мультимедийную коммуникацию.

Надеемся, вы разобрались, как работает приложение WhatsApp и что понадобится для его создания. Теперь же перейдем к более насущным вопросам. Какова будет стоимость WhatsApp, учитывая описанные в этой статье функции?

Стоимость разработки WhatsApp

Разработка приложений для обмена мгновенными сообщениями вроде WhatsApp обойдется вам от $36,000:

  • Прототипирование — от $3000
  • Разработка приложений (iOS + Android) — от $18,000
  • Бекэнд — от $15,000

Также не стоит забывать о таком функционале WhatsApp, как криптография и звонки, стоимость зависит от вариантов реализации данного функционала.

Если вам нужна версия без голосовых звонков, то она обойдется от $32,000. Разумеется, это оценочная стоимость разработки WhatsApp, и для конкретного проекта она может меняться в зависимости от специфики, требуемых технологий и т. д.

В отличие от Pokémon GO, месенджер WhatsApp является более простым в разработке. Но здесь существует другая проблема: на рынке уже много подобных решений. Поэтому, чтобы альтернатива WhatsApp выстрелила, вам понадобится найти свою уникальную нишу, как например, это сделал Slack. Его разработчики взяли всем известную идею, но создавая функционал, ориентировались исключительно на компании и небольшие команды, для которых важны иные функции, чем в случае с дружественными беседами и планированием совместных выходных.

AppTractor
Комментарии Facebook
Продолжить чтение
1 Comment

1 Comment

  1. Dubyna Oleksandr

    24.07.2017 at 10:19

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

You must be logged in to post a comment Login

Leave a Reply

Новости

Интересные материалы: 21.11

Лучшие материалы о разработке и маркетинге технологических продуктов.

Леонид Боголюбов

Опубликовано

/

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

Леонид Боголюбов
Комментарии Facebook
Продолжить чтение

Мероприятия

Avito iOS Meetup Winter Edition: 2 декабря в Москве

Зима близко! Уже второго декабря состоится традиционный Avito iOS Meetup.

AppTractor

Опубликовано

/

Автор:

Мы обсудим Data Driven подход, практическое применение Mach-O, lldb и dSYM, возможности расширения lldb, методологию Type Driven, а также концептуальные различия архитектур. В мероприятии примут участие представители Avito, Badoo, Туту.ру и Яндекс.

Программа:

  • Метрики всему голова
    Вадим Смаль (Avito)
    Поговорим о Data-driven подходе к разработке. Вадим продемонстрирует, какие метрики можно собирать, как они помогут быть эффективным и как следить за качеством разрабатываемой функциональности. Подробно рассмотрим, как замерять время компиляции отдельных фреймворков, размер приложения, время запуска приложения, CrashFree, OOM. Если вы до сих пор думаете, что метрики это только для менеджеров и аналитиков — будете приятно удивлены.
  • Расширения lldb
    Сергей Лем (Badoo)
    Все хотят писать код без багов. Но, к сожалению, пока что мало у кого это получается.И почти всегда отладка приложений занимает львиную долю времени при разработке.Поэтому важно иметь наиболее совершенные инструменты в своем арсенале и не тратить время не ерунду. Сергей Лем расскажет о том, как прокачать lldb при помощи  расширений на Python и сделать отладку приятнее и быстрее.
  • Mach-O, lldb, dSYM на практике
    Владислав Алексеев (Avito)
    В докладе речь пойдёт о бинарном формате исполняемых файлов Mach-O, об отладочной информации и объектных файлах. Рассмотрим, как работают брейкпоинты и символизация крешлогов. Поймем, когда и зачем нам нужны файлы dSYM, а в каких случаях их создавать совершенно не требуется. Также изучим случаи непрямого использования dSYM-файлов для анализа содержимого скомпилированного бинарного файла.
  • Type Driven Development
    Валерий Попов (Yandex)
    В докладе Валерий рассматривает строгую типизацию, которая может стать еще одним рубежом обороны надежного приложения от ошибок разработчика. На примерах будет показано, как дополнительная информация, переданная на этапе компиляции, поможет отловить ряд ошибок, не доводя систему до падения в runtime. Расскажет, что мобильный разработчик может почерпнуть из языков, которые ставят типы во главе процесса разработки.
  • Architecture overdose
    Стас Цыганов (Туту.ру)
    Стас Цыганов предлагает поговорить о разных архитектурах: как верхнего слоя, так и всего приложения. Речь не о баззвордах и сравнениях, у кого больше букв: цель —  понять, чем же они концептуально отличаются. Разберемся, почему появляется по архитектуре в неделю и почему в них нет ничего нового. Ну и в конце посмотрим, на что надо будет обратить внимание при выборе архитектуры следующего приложения.

Участие в мероприятии бесплатное, регистрация обязательна. Сбор участников: 12:00. Начало докладов: 12:30. Адрес: офис компании Avito, Лесная 7.

AppTractor
Комментарии Facebook
Продолжить чтение

Новости

Эксперты выяснили, для чего Google форкнул Swift

Теоретически, добавление Swift позволит быстро портировать приложения c платформы Apple.

Леонид Боголюбов

Опубликовано

/

На прошлой неделе Google на GitHub форкнул Swift, язык программирования, который создала Apple для разработки iOS/macOS/tvOS/watchOS приложений.

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

Однако последние коммиты в репозиторий Swift показывают, что Google работает над поддержкой Fuchsia OS. На GitHub вы уже можете посмотреть на “Hello World” приложение на Swift для. Fuchsia

Fuchsia: новая операционная система от Google

Fuchsia поддерживает Dart, C++ и Go. Теоретически, добавление Swift позволит быстро портировать приложения c платформы Apple.

Леонид Боголюбов
Комментарии Facebook
Продолжить чтение

Разработка

AR стала частью реальности: что дальше?

Сегодня мы поговорим о важном событии в истории Apple (и это не запуск iPhone X) – мы поговорим о том, благодаря чему дополненная реальность (AR) стала чем-то большим, чем несбыточной мечтой маркетологов.

Джей лаб

Опубликовано

/

Автор:

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

На сегодняшний день практически все эти препятствия исчезли. С помощью ARKit любой разработчик может создавать приложения в интерактивном формате, которые будут работать на новых iPhone, а также на некоторых предыдущих версиях (6 и выше) с iOS 11. Сотни миллионов пользователей iPhone, а также 100 миллионов устройств Android, которые теперь используют ARCore SDK от Google, означают, что настал переломный момент в переходе технологии AR на массовый рынок.

И как всегда, когда поведение потребителей начинает меняться, каждый хочет знать: «Что это значит для брендов? Как маркетологи могут использовать эту новую, интересную технологию для привлечения внимания потребителей?». С появлением оптимизированного оборудования у компаний появилось больше возможностей. Но как ими правильно воспользоваться?

Почему ARKit лучше альтернатив?

Ждите и наблюдайте

Помните, когда появился 3D Touch? Многие разработчики полагали, что он предоставит совершенно новый уровень навигации по мобильному приложению и что «долгое нажатие» станет таким же общепринятым действием, как «свайп». Но так ли это на самом деле? Вы, например, им пользуетесь? :) У меня есть доступ к этой функции уже более двух лет, и я только недавно обнаружил, что на обычном фонарике на iPhone есть три разных степени интенсивности, которые доступны только при глубоком нажатии на значок в Настройках. Теперь я постоянно использую уровень «низкого света» – но, согласитесь, два года – это совсем не быстрый уровень принятия новой функции.

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

Конечно, демо-версия игры The Machines выглядит круто, но достаточно ли круто для ежедневного использования большим количеством юзеров? Для того, чтобы AR действительно стала частью нашей повседневной жизни, она должна создавать ценность, выходящую за пределы развлечения. Демо-версия приложения Главной лиги бейсбола выглядит гораздо интереснее, потому что информация о ходе игры и командах, отображающаяся прямо во время матча – это ценная информация, которую пользователи хотят видеть.

Сфера туризма и путешествий также готова к буму AR: приложения, которые накладывают указатели направлений на реальные улицы, отображают перевод надписей на реальных поверхностях, выдают информацию о достопримечательностях в непосредственной близости от них, – все они расширяют границы нашего восприятия мира. Мало кто знает, что до того, как Niantic запустили Pokémon Go, они создали Field Trip для Google Glass, которые уже поддерживали эту функцию.

Начните с малого – затем совершенствуйте, адаптируйте и переориентируйте

У нас есть отличная возможность, но все, что требуется, чтобы испортить ее – это плохая рекламная концепция или некачественное исполнение. Конечно, мы должны попробовать разные подходы и экспериментировать, чтобы в итоге все получилось, но я рекомендую начинать с малого. Для начала внедрите AR опыт, который меньше относится к вашему бренду и больше к вашей отрасли и аудитории. Например, ресторан может виртуально поместить на пустую тарелку вкусный, сочный бургер, но без логотипа на булочке и подписи «2 по цене 1». Для начала соберите данные о том, как потребители используют функциональность AR и как реагируют на нее.

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

Внедряйте лучшие методы и практики

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

На данный момент AR – это все еще «новая модная вещь», но стоит потратить немного своего времени и энергии, и мы действительно сможем понять, как мы можем эффективно ее использовать и устанавливать свои стандарты, создавая при этом новое рекламное пространство.

Джей лаб
Комментарии Facebook
Продолжить чтение

november

24novallday26What the hack?!

25novalldaySmart Taler 2017

25novalldayLadies Code: время технологий

30novalldaySmart Cars & Roads 2017

december

02decalldayAvito iOS Meetup Winter Edition

05dec18:3022:00Яндекс изнутри: глазами iOS-разработчика

08decallday09Кубок СTF России

09decallday10Games Gathering 2017

09decalldayЛекционный день по игровой индустрии

Наша рассылка

Каждому подписавшемуся - "1 час на UI аудит": бесплатный ускоренный курс для разработчиков веб и мобильных приложений!

Нажимая на кнопку "Подписаться" вы даете согласие на обработку персональных данных.

Наш Facebook

Популярное

X

Спасибо!

Теперь редакторы в курсе.