Awesome
LiveViews
This is a list of libraries for creating dynamic web applications that handle user interaction with the DOM on the server. These libraries are different from component-based web UI libraries. They operate at the level of HTML rather than GUI widgets, which means the developer gets a blank canvas (with its advantages and disadvantages), isn't tied to a particular set of components, and can directly use their knowledge of HTML.
The list strives to be complete rather than awesome. You may see libraries that are not maintained, not ready for production, or both.
List
C#
- Blazor. "Build client web apps with C#."
Clojure
- liveview-clj. "Server-side HTML rendering with reactive updates. Massively inspired by Elixir's LiveView."
- Ripley. "Ripley is a fast server-side rendered web UI toolkit with live components."
Common Lisp
- CLOG. "The Common Lisp Omnificent GUI, CLOG for short, uses web technology to produce graphical user interfaces for applications locally or remotely."
- ISSR. ISSR allows you to make interactive web pages without client-side scripting. "No knowledge about Javascript or DOM is necessary." To-do app tutorial.
- Reblocks. A fork of the Weblocks Common Lisp web framework.
Crystal
- jgaskins/live_view. "A Crystal abstract class for building server-rendered HTML components with client-side interactivity."
Elixir
- Drab. "Remote controlled frontend framework for Phoenix."
- Phoenix LiveView. "Phoenix LiveView enables rich, real-time user experiences with server-rendered HTML."
Go (golang)
- live. Real-time user experiences with server-rendered HTML in Go. Inspired by and borrowing from Phoenix LiveViews.
Haskell
- Replica. "A remote virtual DOM library for Haskell."
Java
- Vaadin. "Full stack framework for building web apps in Java."
JavaScript/TypeScript
- Caldera. JavaScript (Node.js). "Phoenix LiveView for Node and React ."
- LiveViewJS. TypesScript (Node.js). "A backend implementation of Phoenix LiveView in Typescript"
- Nanoweb. TypeScript (Node.js). "Minimal library for building server-centric multi page web applications that behave like SPAs"
- Purview. JavaScript (Node.js). "A server-side component framework. What if your React components ran on the server-side?"
- ts-liveview. TypeScript (Node.js). "Build hybrid SSG and SSR realtime SPA/MPA with Typescript"
Kotlin
- Kweb. "A new way to create beautiful, efficient, and scalable websites in Kotlin"
PHP
- Livewire. "A full-stack framework for Laravel that takes the pain out of building dynamic UIs." Relies solely on Ajax requests.
Python
- Flask-Meld. "Flask-Meld is a library to provide server rendered templates over websockets for Flask applications to build reactive components without Javascript"
- Django Hypergen. "Take a break from javascript. Write server-rendered reactive HTML liveviews for Django in pure python. 💫"
- Django LiveView. "Django template for creating a complete HTML over the Wire site or LiveView."
- Django Unicorn. "Django Unicorn is a library that enables real-time, reactive components in Django applications using simple Python and HTML, reducing the need for extensive JavaScript."
- dominator. "Control the DOM from Python (PoC!)"
- jyserver. "Jyserver Web Framework with Pythonic Javascript Syntax"
- liveview. "Real time browser <> ASGI communication / re-rendering for Python (inspired by Phoenix Live View)"
- portkey. "A Python framework for interacting with in-browser DOM via websockets"
- pyview. "A Python implementation of Phoenix LiveView"
- Reactor. "Phoenix LiveView but for Django."
- ReactPy. "It's React, but in Python"
- Skink. "Control the DOM from Python using Websockets"
- Sockpuppet. "Build reactive applications with the django tooling you already know and love."
- starlette_live. "Live view for Starlette"
- WDOM. "WDOM is a Python GUI library for browser-based desktop applications."
Ruby
- Fie. "Fie is a Rails-centric frontend framework running over a permanent WebSocket connection."
- Mayu Live. "Mayu is a live-streaming server-side component-based VDOM rendering framework written in Ruby."
- RenderSync. "Real-time partials with Rails."
- StimulusReflex. "Build reactive applications with the Rails tooling you already know and love."
Rust
- axum-live-view. "axum-live-view allows you to build rich, real-time experiences with server-rendered HTML. This is done entirely in Rust - no JavaScript or WASM needed."
- Dioxus. "Dioxus can be used to deliver webapps, desktop apps, static sites, liveview apps, mobile apps (WIP), and more."
Scala
- Korolev. "Single Page Applications running on the server side."
V
- Simple V LiveView Clone. A simple implementation of LiveView in V. A demo, not a library.
Server language-agnostic
- Turbo. "The speed of a single-page web application without having to write any JavaScript."
Contributing
You contributions are welcome. Please be sure the library you are submitting meets the definition of "live view" above.
License
To the extent possible under law, D. Bohdan has waived all copyright and related or neighboring rights to this work. If you contribute, you agree to release your contribution under the same license.