PresenceJS: самый простой способ улучшить работу в реальном времени в моих приложениях для совместной работы

PresenceJS: самый простой способ улучшить работу в реальном времени в моих приложениях для совместной работы

3 мая 2023 г.

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

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

Поэтому я решил написать этот блог, чтобы представить вам эту превосходную перспективную библиотеку JavaScript. Presencejs – это библиотека JavaScript, которая позволяет создавать многопользовательские/совместные веб-приложения в реальном времени, поддерживающие WebTransport.

Он предоставляет множество готовых компонентов, таких как Cursor-Chat, Live-Cursor, Grouphug и т. д. Конечно, мы можем создавать более функциональные пользовательские компоненты, используя базовые функции и API присутствия. С помощью готовых компонентов я за считанные минуты создал демо-версию веб-приложения nextjs в реальном времени.

* Presencejs: https://github.com/yomorun/presencejs * Демонстрация: https://cursorchat-grouphug-demo.vercel.app/

Как я создал эту демонстрацию?

В этой демонстрации я использовал библиотеку Presencejs для создания многопользовательского веб-приложения для совместной работы в режиме реального времени. Для демонстрации я выбрал простой, но эффективный дизайн. Я выбрал чистый и современный вид с тонкой цветовой гаммой, которая не будет отвлекать от контента. Presencejs предоставляет несколько готовых компонентов, таких как Cursor Chat, Realtime Cursor и Grouphug. Я использовал эти компоненты вместе с некоторыми пользовательскими функциями для создания этой демонстрации. Вот краткий обзор того, как я его создал:

* Сначала я установил и импортировал в свой код библиотеку Presencejs.

npm install @yomo/cursor-chat-react
npm install @yomo/group-hug-react

импортировать CursorChat из '@yomo/cursor-chat-react'; импортировать GroupHug из '@yomo/group-hug-react';

* Затем я использовал компоненты, предоставленные Presencejs, для создания своего приложения. В этой демонстрации я использовал компоненты Cursor-Chat и Grouphug.

// other code

import CursorChat from '@yomo/cursor-chat-react';
import GroupHug from '@yomo/group-hug-react';


export default function Home(){
// other code

return(

// other code

<CursorChat />
<Grouphug />

// other code

)
}

* Затем я добавил некоторые пользовательские функции. Я получил public_key от AllegroCloud.io и создал файл .env по основному пути. Я ввел код ниже:

PUBLIC_KEY=****

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

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

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

Особые преимущества присутствия

Судя по моему опыту работы с этим, Presencejs оказался особенно полезным для меня в следующих отношениях:

  • Благодаря поддержке WebTransport файлы присутствия демонстрируют более высокую производительность, чем другие библиотеки js для совместной работы.
  • Совместимость с веб-сокетом
  • Готовые компоненты и индивидуальная разработка.
  • Географически распределенная архитектура позволяет мне создавать потрясающие веб-приложения с быстрым откликом.
  • Как без сервера, так и на собственном хостинге.

Подробнее о преимуществах:

  • Поддержка веб-транспорта: Presencejs поддерживает WebTransport, новый протокол приложений реального времени, основанный на протоколе QUIC. Он устанавливает надежные, безопасные соединения с малой задержкой, не требуя рукопожатий и согласований, таких как веб-сокет. Он также поддерживает расширенные функции, такие как мультиплексирование и миграция соединений. Это обеспечивает более высокую скорость установления соединения, скорость передачи данных и минимальную задержку.
  • Совместимость с веб-сокетом: Presencejs также поддерживает веб-сокет. Если браузер пользователя не поддерживает WebTransport, Presencejs заменит протокол связи на веб-сокет.
  • Готовые компоненты и индивидуальные разработки: Presencejs предоставляет готовые компоненты, такие как grouphug, livecursor и cursorchat, которые позволяют работать с веб-приложениями в реальном времени. Опытные разработчики могут использовать полный набор инструментов для создания пользовательских компонентов.
  • Географически распределенная архитектура: Presencejs — это фреймворк безсерверной архитектуры, использующий фреймворк YoMo для обработки данных в реальном времени. Это обеспечивает более высокую скорость отклика, стабильную работу и безопасный сервис.
  • Как бессерверные, так и самостоятельные: Presencejs поддерживает самостоятельный хостинг, что обеспечивает больший контроль над данными и приложениями.

Заключительные заметки и мысли

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

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

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


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE