- •Тема: Функциональные спецификации приложений WhatsApp, Telegram и сервера обслуживания ip-телефонии
- •Основные термины
- •- Android os 2.3.3 , либо iOs 4.3, либо ос Windows Phone 7.5, либо BlackBerry os 4.6.
- •Текущие и исключённые возможности приложения
- •Uml диаграмма прецедентов (Use Case) приложения WhatsApp
- •- Android os 2.2 , либо iOs 6.0, либо ос Windows Phone 8.1, либо MacOs 10.8, либо наличие обновлённого интерент-браузера на пк.
- •Текущие и исключённые возможности приложения
- •Uml диаграмма прецедентов (Use Case) приложения Telegram
- •Uml диаграмма классов (Class Model) приложений WhatsApp, Telegram
- •Описание кода приложений WhatsApp, Telegram
- •Диаграмма коммуникации протоколов приложения WhatsApp
- •Описание кода взаимодействия протоколов приложения WhatsApp
- •Xmpp ServerRequestRef); /ссылка ServerRequest
- •Описание протоколов приложения Telegram
- •Диаграмма коммуникации протоколов приложения Telegram
- •Описание кода взаимодействия протоколов приложения Telegram
- •IncludePayload (ref /через скрипт mtproto
- •Invite (приглашение) — приглашает пользователя принять участие в сеансе связи (служит для установления нового соединения; может содержать параметры для согласования);
- •Диаграмма коммуникации сервера обслуживания ip-телефонии
- •Описание кода сервера обслуживания ip-телефонии
- •Список использованных источников
- •Приложение
- Android os 2.3.3 , либо iOs 4.3, либо ос Windows Phone 7.5, либо BlackBerry os 4.6.
- Наличие и поддержка SIM-карты в устройстве.
- Поддержка сенсорного экрана (touch screen).
- 80 Мб свободной памяти на устройстве.
- Доступ к интернет трафику.
Технические подробности
WhatsApp автоматически синхронизирует список контактов с телефонной книгой телефона. Это возможно благодаря тому, что все пользователи регистрируются по своему телефонному номеру. Веб-версия WhatsApp расположена по адресу: https://web.whatsapp.com/. Работа веб-версии осуществляется совместно с телефоном и возможна, только если телефон подключен к сети Интернет.
Серверное ПО WhatsApp написано на Erlang. В январе 2012 года серверы WhatsApp использовали ОС FreeBSD, в них было установлено по 96 ГБ оперативной памяти, и каждый мог обрабатывать от 1 до 2,8 млн соединений, что на несколько порядков выше классической проблемы C10k. Сейчас в качестве СУБД используется многопользовательская распределенная система Mnesia DB, которая использует около 2 ТБ RAM и хранит порядка 18 миллиардов записей.
Биплав Сараф (Biplav Saraf) в своем блоге пишет, что основными фреймворками были React.js – фреймворк для создания интерфейсов от Facebook, Underscore.js – библиотека JavaScript, реализующая дополнительную функциональность для работы с массивами, объектами и функциями, и Velocity.js – движок для работы с анимацией.
Текущие и исключённые возможности приложения
Возможности приложения:
- Кроссплатформенность приложения
- Автоматическая регистрация аккаунта и привязка его к номеру телефона, настройка аккаунта.
- Просмотр и редактирование профиля (имя, статус, аватар).
- Возможность использования двухшаговой проверки для доступа к аккаунту.
- Возможность перемещения информации о аккаунте, группах, настройках на другой номер.
- Возможность удаления аккаунта.
- Автоматическое добавление контактов с SIM-карты.
- Система поиска пользователей.
- Обмен текстовыми сообщениями с одним или с группой пользователей (чат).
- Поддержка смайлов, наличие большого базового набора.
- Сквозное шифрование сообщений.
- Редактирование истории переписок, её резервное копирования, архивирование, отправки на email.
- Уведомление о изменении кода безопасности контакта.
- Отчёт о прочтении сообщения.
- Добавление контакта в чёрный список.
- Поддержка голосовой связи.
- Поддержка голосовых сообщений.
- Поддержка передачи файлов разных типов.
- Отображение и воспроизведение внутри приложения большинства форматов фото, видео, аудио и анимационных файлов.
- Автоматический поиск популярных gif-изображений
- Использования камеры внутри приложения.
- Просмотр и настройка получения информации о других пользователях (время посещения, аватар, статус).
- Возможность включения/отключения push-уведомлений.
- Настройка ввода сообщений, выбор шрифта.
- Настройка обоев, звуковых уведомлений, вибрации.
- Настройка использования интернет трафика при подключении к мобильной сети/Wi-fi, а так же при нахождении в роуминге.
- Наличие внутри приложения FAQ, обратной связи и информации о версии программы и лицензиях.
- Выбор русскоязычного интерфейса
Исключённые возможности:
- Поддержка стикеров (в т.ч. пользовательских).
- Настройка автоматического удаления сообщений.
- Конференция или голосовая связь между тремя и более пользователями.
- Ввод команд внутри чата при помощи «/»
- Кол-во участников в чате более 256 человек
- Встроенная функция поиска изображений в Интернете
- Режим чата «Каналы»
