- BrainTools - https://www.braintools.ru -

Chotto UI — набор компонентов для чатов на Vue3

Пытаясь подражать [1] слогу классика, можно сказать, что “все чаты в целом одинаковы, но каждый реализует что-то свое”.

так ли это? посмотрим.

TL, DR: далее рассказываю, что мы делаем свой UI набор компонентов для чата, даю ссылки и приглашаю присоединяться к проекту.


Что есть у каждого чата? Во-первых, участники диалога – это или живые собеседники – тет-а-тет, или в группе, или живой собеседник и ИИ-бот.

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

обычный чат

обычный чат

В третьих, обычно обмен сообщениями происходит через какой-то сервер.

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

А в UI как раз используются одни и те же концепции, элементы, возможности.

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

Так думали многие, и реализовывали свои библиотеки компонентов. Есть Chat UI Kit [2] от Sendbird и chat ui components [3] от Pubnub (перестали развивать) на React, Assistant UI [4], Rustic UI [5] для чатов с AI. У vue-advanced-chat [6] есть внутри компоненты для чата, но они не предполагают их отдельное использование.

Сhotto UI – набор компонент для реализации только UI чата, т.е. вся логика [7] чат-приложения на фронтенде и на бекенде абсолютно ваша, вы реализуете ее полностью. Вы решаете как будут взаимодейстовать браузер и сервер, какие данные и как передавать.

А вот UI можно реализовать из готового набора очень быстро. Как аналогия, мы берем какой-то фреймворк типа bootstrap-vue и просто реализуем таблицы, формы, не погружаясь на уровень css, html.

И так, что такое чат?

Это а) лента сообщений + б) поле ввода нового сообщения.

Простой пример – чат на сайте. вы можете общаться с оператором или скриптом, сто раз видели на сайтах.

простой чат, например, такой можно увидеть на сайте

простой чат, например, такой можно увидеть на сайте

Если добавить справа список контактов – то это уже некий простой мессенджер.

Если добавить в список контактов не только p2p чаты, но и групповые – то у вас уже почти аналог любого корпоративного мессенджера.

Добавив плюшек в виде отправки смайликов, отправки файлов, предпросмотра медиа, аватарок контактов – в целом, уже вполне годное средство общения.

простой мессенджер

простой мессенджер

Если у контактов будет несколько атрибутов, например, можно указать несколько номеров телефонов, и добавив каналы общения с контактами, например Whatsapp, Telegram, то можно реализовать омникальный центр обработки запросов клиентов.

А если добавите в список контактов чат с ботом – и вот уже в вашем приложении есть искусственный интеллект [8].

И не смотря на различия, сущности, с которыми мы работаем – сообщение, картинка, файл, лента сообщений, список контактов, список чатов – примерно одни и те же.

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

Работаем над Chotto UI для внутренних продуктов. пробуем, экспериментируем. принимаем советы, предложения, конструктивную критику.

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

Автор: antirek

Источник [15]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/14549

URLs in this post:

[1] подражать: http://www.braintools.ru/article/5584

[2] Chat UI Kit: https://sendbird.com/docs/chat/uikit/v3/react/overview

[3] chat ui components: https://github.com/pubnub/react-chat-components

[4] Assistant UI: https://www.assistant-ui.com/

[5] Rustic UI: https://rustic-ai.github.io/ui-components/

[6] vue-advanced-chat: https://github.com/advanced-chat/vue-advanced-chat

[7] логика: http://www.braintools.ru/article/7640

[8] интеллект: http://www.braintools.ru/article/7605

[9] отдельной директории: https://github.com/mobilon-dev/chotto/blob/main/samples/sample1.jpg

[10] Репозиторий: https://github.com/mobilon-dev/chotto

[11] Storybook: https://mobilon-dev.github.io/chotto/

[12] Документация: https://mobilon-dev.github.io/chotto-docs/

[13] Примеры: https://mobilon-dev.github.io/chotto-demo/

[14] телеграм-чат: https://t.me/chottodev

[15] Источник: https://habr.com/ru/articles/903550/?utm_source=habrahabr&utm_medium=rss&utm_campaign=903550

www.BrainTools.ru

Rambler's Top100