📄️ Introduction
LiveViewJS is an open-source framework for "LiveView"-based, full-stack applications in NodeJS and Deno.
📄️ LiveView Paradigm
The LiveView model is simple. When a user makes the initial HTTP request, the server renders an HTML page. That page then connects to the server via a persistent web socket. From there, user-initiated events (clicks, form input, key events, focus/blur events, etc) are sent over the web socket to the server in very small packets. When the server receives the events, it runs the business logic for that LiveView, calculates the new rendered HTML, and then sends only the diffs to the client. The client automatically updates the page with the diffs. The server can also send diffs back to the client based on events on the server or received from other clients (think chat, or other pub/sub scenarios).
📄️ Packages & Runtimes
LiveViewJS is written in Typescript and runs on both NodeJS and Deno. We've abstracted away APIs that are specific to each runtime so that you can write your code once and run it on both runtimes assuming you don't use any runtime-specific APIs. That said, most developers are targeting one or the other and we've made it easy to use LiveViewJS with either runtime.
📄️ Getting Involved
Feedback is a 🎁