DocsGo further

Go further

Status & compatibility

Familiar syntax comes with a different execution model. Know the current boundaries before building on them.

Browse documentation

Experimental, and usable for exploration

The published Jaspring 0.2.0 starter implements server-rendered components, live browser events, signals, and zone and zoneless change detection. Client hooks, browser calls, and Java-to-WebAssembly browser closures are implemented in the current master source and require a matching source build. Static generation and incremental regeneration remain future work.

A live page keeps its component tree and state on the server between events. Interaction depends on a working connection. Evaluate that architecture and the experimental API against your application’s needs.

Angular syntax, Java behavior

Templates are parsed by Angular’s compiler, but execution happens against Java objects. Signal and input equality use Objects.equals. Numeric results are Long or Double, then coerced at typed Java boundaries.

All scanned components, pipes, and directives are currently globally visible. Angular standalone import boundaries are not enforced. References on ordinary elements contain server-side element metadata, not browser DOM nodes.

Rendering and lifecycle boundaries

@defer renders placeholders unless hydrate triggers call for the main content. Server triggers do not run. ICU plural categories currently cover English categories. Dates and numbers use JDK locale data rather than Angular’s CLDR data.

Effects run before views in page ticks. Sibling lifecycle phases are not batched exactly like Angular. There is no development-mode ExpressionChangedAfterItHasBeenChecked second pass and no parallel sibling rendering.

Browser and trust boundaries

Event preventDefault and stopPropagation flags are decided when handlers render. The HTML sanitizer uses an Angular-derived allowlist over a tolerant tokenizer instead of a browser DOM parser.

Java browser closures run client-side. Captures and results cross the network as JSON; never capture secrets. The optional WebAssembly runtime needs a compatible browser and Oracle GraalVM’s build tooling.

Report reproducible issues in the framework’s GitHub repository. Include the smallest component, template, configuration, and steps that demonstrate the behavior.

Jaspring · release + master guidesRead the framework source