Чат своими руками

Чат своими руками

SimbirSoftMobile

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

Итак, задача:

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

Задача не совсем типичная, и требования по проекту до конца не определены. Рискованно загонять себя в рамки неиспользованной ранее библиотеки. Чего, конечно, не скажешь о проверенных в бою либах вроде RxDataSources, которую мы непременно решили использовать. Случись что, в любой момент разработки она легко замещается вручную прописанной логикой по работе с ячейками. Также не обошлось без насущного «джентльменского наборчика iOS-разработчика»: RxSwift, Realm, Alamofire и Kingfisher. Их мы также подключили к проекту.

Продолжение читайте на нашем блоге на ХабраХабр.

Еще статьи

На старте каждого проекта наша первоочередная задача – понять потребность, проблему заказчика и конечных пользователей продукта. Если вам нужен, например, редизайн уже существующего приложения, то мы начинаем с определения его бизнес-целей – увеличить продажи, привлечь больше посетителей на свой сайт.
Разработчик популярных сервисов заказа еды, компания mobile.SimbirSoft - о том, как угнаться за рынком и повысить продажи. Foodtech на рынке мировых технологий растет огромными темпами, все больше людей выбирают готовую еду, чтобы не тратить время на походы по магазинам и дежурство у кухонной плиты.
Понятие UX перестало быть «хайповым», а стало качественным инструментом обеспечения комфорта работы с приложением и удовлетворенности пользователей. Пользователи должны без труда находить необходимую информацию, выполнять желаемое действие с минимальными временными затратами.
Mobile.Simbirsoft довольно часто сталкивается с задачей спасти продукт. Одним из вызовов для нашей команды экспертов стала доработка приложения iSimple, путеводителя по миру вина и других благородных напитков, с помощью которого легко определиться с выбором, совершить покупку или узнать адреса ближайших магазинов
Каждое разрабатываемое в mobile.SimbirSoft мобильное приложение уникально и создается с нуля. Каким бы сложным оно ни было, прежде всего, оно должно быть удобным. В данной статье речь пойдет о том, как мы проектируем и создаем понятный и удобный интерфейс мобильных приложений на примере системы для подбора машинных масел.

Расскажите нам вашу идею

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

Напишите нам

Константин Каменский
Константин Каменский
Иван Игонин
Иван Игонин