What is Reflex?
A C++ application framework for building high-performance, GPU-accelerated applications particularly suited for audio software, creative tools, and anything that needs real-time responsiveness with rich UI.
Reflex is a fully native, single C++ stack with no external dependencies. It delivers significantly smaller binary sizes, lower memory usage, and faster startup times than Qt, JUCE, or Flutter while giving you a developer experience closer to the web: live-reloading UI, stylesheet-driven design, and a dynamic property system with JSON integration.
The core idea: you shouldn't have to choose between native performance and fast iteration. Reflex gives you both.
Native performance without compromise
Everything compiles to a single native binary. No runtime, no VM overhead in production, no bundled browser engine. The result is measurably smaller, faster, and leaner than alternatives especially important for audio plugins and resource-constrained environments.
Modern developer experience in a native world
UI changes appear in under 1 second. Compare that to 30–60 second rebuild cycles in Qt or JUCE. Reflex achieves this through a split architecture: your C++ logic stays compiled for maximum performance, while a live-editable styles.txt file and optional VM layer let you iterate on layout, colours, spacing, and behaviour without recompiling.
The style system will feel familiar if you know CSS : declarative layers, named resources, states like hover and selected, and property bindings that update automatically. It's the speed and flexibility of web development, applied to native C++.
GPU-accelerated UI with GLX
GLX is Reflex's rendering engine, an immediate-mode, GPU-accelerated toolkit with a parent-driven layout model. It handles vector graphics, sub-pixel precision, smooth animations, responsive layout, and text styling entirely through its style system. You describe what the UI should look like; GLX handles the rendering.
How the architecture works
Reflex splits your application into two layers that work together:
C++ Apps
Compiled source files for maximum performance. Your business logic, audio processing, data handling ,all native C++. A live-editable styles.txt file acts as the bridge to instant UI iteration. Change a colour or font size, see it update immediately without recompiling.
VM Apps
Interpreted scripts with full live-reload ,even faster prototyping. The VM compiles to native code at build time, so there's zero runtime overhead in your shipping product.
Both modes share the same framework stack: Core utilities, SIMD math, async primitives, data serialization, file I/O, and the full GLX UI toolkit. Higher levels bring rapid-development paradigms; lower levels give you fine control when you need it.
What's in the framework
Reflex is modular .Use what you need, ignore what you don't:
| Module | What it does |
|---|---|
| Core | Object system, reference counting, containers, strings |
| System | Platform abstraction OS, threads, windows, renderer access |
| SIMD | SIMD-accelerated math types for high-performance numeric work |
| Data | PropertySet, JSON/XML serialization, encoding, hashing |
| File | Path utilities, file I/O, virtual filesystem |
| GLX | GPU-accelerated UI layout, styling, events, animations, widgets |
| Async | Task execution, progress tracking, timing utilities |
Who it's for
Reflex's primary audience is pro-audio with built-in low-latency audio support, first-class plugin integration (VST3/AU), and commercial products like Granite and Nuance already shipping. But the framework extends to any cross-platform project requiring real-time responsiveness and rich UI.
Three audiences in particular: C++ developers wanting a lean, modern framework free from legacy bloat and preprocessor hacks; UI/UX designers working with C++ backends who want instant visual feedback; and audio plugin developers looking for a native alternative to embedded webviews.