Documentation
Welcome to the official Zylix documentation. Zylix is a high-performance, cross-platform UI framework powered by Zig, designed to build native applications that run on Web, iOS, watchOS, Android, macOS, Linux, and Windows from a single codebase.
Why Zylix?#
Modern cross-platform frameworks often sacrifice performance for developer convenience, or require complex toolchains that slow down iteration. Zylix takes a different approach:
- Zero-Cost Abstractions: Written in Zig, Zylix provides predictable, garbage-collection-free performance with compile-time safety guarantees
- True Native Performance: No JavaScript bridge, no virtual machine overhead. Your UI code compiles directly to native machine code
- Unified Architecture: A single Virtual DOM implementation powers all platforms, ensuring consistent behavior everywhere
- Minimal Bundle Size: Core library under 50KB. WASM builds are incredibly small and load instantly
- Platform-Native Look & Feel: Each platform uses its native UI toolkit (SwiftUI, Jetpack Compose, GTK4, WinUI 3) for authentic user experiences
Architecture Overview#
flowchart TB
subgraph Platform["Platform Shells"]
SwiftUI["SwiftUI<br/>(iOS/macOS)"]
Compose["Jetpack Compose<br/>(Android)"]
GTK4["GTK4<br/>(Linux)"]
WinUI3["WinUI 3<br/>(Windows)"]
HTMLJS["HTML/JS<br/>(Web)"]
end
subgraph Binding["Binding Layer"]
CABI["C ABI"]
WASM["WebAssembly"]
end
subgraph Core["Zylix Core (Zig)"]
subgraph Row1[" "]
VDOM["Virtual DOM"]
Diff["Diff Algorithm"]
State["State Store"]
Comp["Component System"]
end
subgraph Row2[" "]
Event["Event System"]
Layout["Layout Engine"]
CSS["CSS Engine"]
Sched["Scheduler"]
end
end
SwiftUI --> CABI
Compose --> CABI
GTK4 --> CABI
WinUI3 --> CABI
HTMLJS --> WASM
CABI --> Core
WASM --> CoreQuick Links#
- Start Here (Shortest Path): Getting Started → Tutorials → Core Concepts
- Getting Started: Install Zylix and build your first app in minutes
- Core Concepts: Understand Virtual DOM, State, Components, and Events
- Architecture: Deep dive into Zylix internals
- Platform Guides: Platform-specific setup and best practices
- Tutorials: Step-by-step platform walkthroughs
- API Reference: Complete API documentation for all modules
- Roadmap: Development progress and future plans
Supported Platforms#
| Platform | UI Framework | Binding | Min Version | Status |
|---|---|---|---|---|
| Web/WASM | HTML/JavaScript | WebAssembly | Modern browsers | Production Ready |
| iOS | SwiftUI | C ABI | iOS 15+ | Production Ready |
| watchOS | SwiftUI | C ABI | watchOS 10+ | In Development |
| macOS | SwiftUI | C ABI | macOS 12+ | Production Ready |
| Android | Jetpack Compose | JNI | API 26+ | In Development |
| Linux | GTK4 | C ABI | GTK 4.0+ | In Development |
| Windows | WinUI 3 | P/Invoke | Windows 10+ | In Development |
See Compatibility Reference for detailed platform maturity definitions.
Core Features#
Virtual DOM Engine#
Efficient UI updates through intelligent diffing. Zylix computes minimal patches between UI states, ensuring only necessary DOM operations are performed.
Type-Safe State Management#
Centralized state with compile-time type checking. State changes are tracked with version numbers, enabling efficient change detection and time-travel debugging.
Component System#
Composable, reusable UI components with props, state, and event handlers. Components are lightweight structures with zero runtime overhead.
Cross-Language Bindings#
Seamless integration with platform languages through C ABI (Swift, Kotlin, C#) and WASM (JavaScript). All core logic stays in Zig while platforms handle rendering.
Community & Support#
- GitHub: github.com/kotsutsumi/zylix
- Issues: Report bugs and request features
- Discussions: Ask questions and share ideas
- License: Apache License 2.0
Version#
This documentation covers Zylix v0.21.0. See the Compatibility Reference and Roadmap for current status.