Попередній Наступний

Бібліотека 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

Наші проєкти