Logux is a new way to connect client and server. Instead of sending HTTP requests (e.g., AJAX and GraphQL) it synchronizes log of operations between client, server, and other clients.
Documentation: logux.io
This repository contains Logux base components to build web client:
CrossTabClientandClientto create web client for Logux.IndexedStoreto store Logux log inIndexedDB.badge()widget to show Logux synchronization status in UI.status()to write own UI to show Logux synchronization status in UI.attention(),confirm(),favicon()to improve UX in Logux web app.log()to print Logux synchronization status to browser DevTools.
Check demo page for widget UI.
npm install @logux/clientSee documentation for Logux API.
import { CrossTabClient, badge, badgeEn, log } from '@logux/client'
import { badgeStyles } from '@logux/client/badge/styles'
let userId = document.querySelector('meta[name=user]').content
let token = document.querySelector('meta[name=token]').content
const client = new CrossTabClient({
subprotocol: '1.0.0',
server: 'wss://example.com:1337',
userId,
token
})
badge(client, { messages: badgeEn, styles: badgeStyles })
log(client)
client.start()