-
Notifications
You must be signed in to change notification settings - Fork 0
Home
GaDevs edited this page Apr 11, 2026
·
3 revisions
gUI is a performance-first JavaScript UI runtime built around fine-grained reactivity, direct DOM bindings, and one-time component setup.
This wiki is organized by how the project is actually used today:
- Installation and Setup
- Quick Start
- Reactivity
- Rendering and Templates
- Lists, Control Flow, and Portals
- Composition API
- Routing
- Web Components
- Compiler Guide
- Devtools and Inspection
- API Reference
- Playground, Demo, and Benchmarks
- Development Guide
gUI is a good fit when you want:
- exact DOM updates instead of broad rerender passes
- explicit reactive data flow
- keyed structural ownership for list-heavy interfaces
- cleanup-aware dynamic subtrees
- a smaller runtime model than component-rerender frameworks
The runtime follows a few non-negotiable rules:
- components are setup functions, not rerender boundaries
- signals notify only direct dependents
- computeds are lazy and cached
- effects are for side effects, not UI tree rendering
- templates create stable DOM nodes and patch only the dynamic slots
- updates are batched in microtasks
The project currently ships in two registries:
- npm:
@bragamateus/gui - GitHub Packages:
@gadevsbr/gui
Root package:
import {
createApp,
mount,
signal,
computed,
effect,
batch,
createStore,
createResource,
html,
list,
Show,
Match,
Switch,
Portal,
createContext,
provideContext,
useContext,
mergeProps,
splitProps,
on,
provideContext,
useContext,
mergeProps,
splitProps,
setDomUpdateHook,
subscribeDomUpdates,
} from "@bragamateus/gui";Compiler entrypoint:
import {
guiVitePlugin,
guiEsbuildPlugin,
transformGuiTemplates,
} from "@bragamateus/gui/compiler";Devtools entrypoint:
import { createInspector } from "@bragamateus/gui/devtools";If you are new to gUI:
If you are integrating gUI into a real project:
- Installation and Setup
- Rendering and Templates
- Lists, Control Flow, and Portals
- Composition API
- Routing
- Web Components
- Compiler Guide
If you are contributing to the framework itself: