НОВОСТИ okdb — библиотека для совместной работы

NewsBot
Оффлайн

NewsBot

.
.
Регистрация
21.07.20
Сообщения
40.408
Реакции
1
Репутация
0
a2iiiuk7hydfp5pltzqodnhkycs.jpeg


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


Реализация


Фронтенд подключается через Realtime API и позволяет синхронизировать курсоры, имена и фокус пользователей с бэкэндом на GraphQL.

Realtime API работает на вебсокетах, пересылая только изменения, внесённые пользователем. Синхронизацией всех поступающих изменений занимается бэкэнд-сервис. В доках можно почитать .

dplti_zrrgc0nqswz6ficcvycgi.png


GraphQL пока умеет работать только с PostgreSQL с полным покрытием таблиц, индексов и связей. Остальные базы на подходе.

kteu79v_dfejcquj_-un7i4lcpu.png


Собираем пример


Нам потребуется node.js и, конечно, git.


git clone
cd okdb-sample-todo/backend
npm install
npm run server



Сервер запустится на 7899 порту. Кстати, исходник здесь:

Собственно запуск сервиса происходит здесь:


const OkdbServer = require("okdb-server");

// Create and start server on 7899 port by default.
// CORS is disabled by default, let's enable it,
// because demo frontend and backend run on different ports on localhost
const options = {
cors: {
enabled: true
}
}
const okdb = new OkdbServer(options);

{...}

// sample authentication, e.g. should validate your own auth token
okdb.handlers().auth((token) => {
if(token === "12345") {
return { id: "1", name: "User"}
}
return null;
});



Собираем фронт:


cd okdb-sample-todo/frontend
npm install
npm start



Код App.js здесь:

Теперь на 3000 можно открыть приложение в нескольких браузерах и посмотреть на магию.

Если лень билдить всё вручную, можно воспользоваться готовыми демками на codesandbox:



Бэк



Также доступны и более функциональные демки:

Таблица



Лагучий графический редактор



Текстовый редактор



Заключение


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


На правах рекламы


и любых других задач — это про наши эпичные! Все серверы защищены от DDoS-атак, автоматическая установка удобной панели управления VestaCP. Лучше один раз попробовать ;)

 
Сверху Снизу