Live Documentation
Scala.js 1.21.0
GitHub
v2.1.3
JFX2 Showcase
Welcome to JFX2
Your new home for reactive UIs in Scala.js.
Origin story
After 17 years of looking for clarity, the project started to feel less like a thesis and more like relief.
JFX2 is the answer I wanted after living with frameworks that promised simplicity but quietly handed over control. It chooses explicit lifecycles, honest reactivity, and a DSL that stays readable when the codebase grows.
Vision
A documentation site that feels like a real workbench.
The showcase should not just prove that components render. It should show how JFX2 is meant to feel: declarative, server-stable, reactive in the browser, and readable enough that you can still nod to it six months later.
SSR
Server HTML and client hydration share the same structure.
DSL
Templates stay declarative and free of DOM handwork.
Live
Every page shows a usable example instead of a dry API list.
Message-centered I18n
The English source lives in Scala code. The catalog attaches multiple languages to exactly that one message.
Locale: EN
Source
i18n"Delete document"
Resolved
Delete document
Source
i18n"User $user invited you to $group"
Resolved
User Mira invited you to Core Team
Source
i18n"Missing translations fall back to English"
Resolved
Missing translations fall back to English
01
Readability first
Components are shown so their purpose, state, and placement are immediately clear.
02
Hydration in view
Examples avoid hidden DOM drift and keep virtual containers understandable.
03
A growing system
New components get room for context, variants, API, and architectural hints.
What you find on the component pages
A short explanation of when the component makes sense.
At least one real live state with data or interaction.
Concrete DSL examples that stay close to production code.
Notes about stability, cursor behavior, SSR, or reactive properties.
Next step
Pick a component on the left. Each page is now denser and still leaves room for more building blocks without losing the thread.