Skip to content

djust-org/djust-native-android

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

djust-native-android

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.

What this is

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.

Eventual public API

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.

Companion repos

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."

License

MIT — matches djust.

About

Native Android (Jetpack Compose) client for djust LiveView. See ADR-019 in djust-org/djust.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages