Native Android (Jetpack Compose) client for djust LiveView.
Status: Scaffold only — implementation tracked in
djust-org/djust#1580 (LVN-IV).
This repo currently contains LICENSE + this README; the Gradle
build.gradle.kts, Kotlin source, tests, and CI all land via that
issue's PR sequence.
djust ships a server-side reactive framework (Django + Rust VDOM). The
default client is HTML in a browser — client.js consumes a stream of
VDOM patches over WebSocket and applies them to the DOM. This repo will
ship a parallel client: subscribe to the same WebSocket, consume the
same patch stream, render true Jetpack Compose widgets instead of HTML.
The pattern is borrowed from Phoenix LiveView Native. djust's specific design lives in ADR-019: LiveView Native.
import org.djust.native.DjustLiveView
@Composable
fun ContentScreen() {
DjustLiveView(url = "ws://127.0.0.1:8111/ws/live/")
}DjustLiveView is a @Composable that opens the WebSocket, decodes
msgpack patches, and maintains a MutableState-backed widget tree
indexed by the same base62 djust_id the browser client uses.
| Repo | Purpose |
|---|---|
djust-org/djust |
The framework. Server-side reactive Python + Rust VDOM. |
djust-org/djust-native-ios |
iOS equivalent (SwiftUI). Same protocol, different platform. |
djust-org/djust-mobile-toga |
WebView mode — reuse web templates verbatim inside a Toga WebView. The "easy mode" alongside this repo's "polish mode." |
MIT — matches djust.