Предыдущий проект Следующий проект

ChatKit

Пока такие продвинутые решения, как WhatsApp, Viber, Telegram, Messenger все еще требуют достаточно больших затрат на реализацию, многие продукты, особенно MVP, нуждаются в куда более простых предложениях. Именно поэтому мы создали Open-source библиотеку под названием ChatKit.

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

Библиотека UI-элементов для простой реализации чатов

Компоненты

Из коробки разработчикам доступны 3 основных компонента необходимых для создания чата:

  • список диалогов пользователя;
  • тред сообщений чата;
  • поле для ввода и отправки сообщений.
Библиотека UI-элементов для простой реализации чатов

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

Библиотека UI-элементов для простой реализации чатов

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

Библиотека UI-элементов для простой реализации чатов

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

Библиотека UI-элементов для простой реализации чатов

Также поддерживается подсветка номеров интерактивного текста (номеров телефона, e-mail адресов, ссылок, координат), режим множественного выбора (удобно для удаления и управления сообщениями), автоматическое разделение сообщений по датам, пагинация и т.п.

Стилизация

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

Библиотека UI-элементов для простой реализации чатов


Библиотека UI-элементов

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

Библиотека UI-элементов

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

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

Приятный бонус — списки реализованы на основании RecyclerView, это обеспечивает высокое быстродействие и большую гибкость в работе с анимацией.

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

Над проектом работали:

  • Антон Бевза Антон Бевза

    Android разработчик

  • Александр Кроль Александр Кроль

    Android разработчик

  • Александр Зозуля Александр Зозуля

    Руководитель отдела Mobile

Похожие проекты