Welcome to BindJS
BindJS is a powerful, SwiftUI-inspired declarative UI framework that brings the elegance and simplicity of SwiftUI’s component model to TypeScript. Build beautiful, reusable UI components with a familiar syntax and modern development patterns.What is BindJS?
BindJS is a declarative component system designed for the Metabind CMS platform. It allows you to create UI components using a SwiftUI-like syntax, making it easy to build consistent, maintainable interfaces across web, iOS, and Android platforms.Key Features
- Declarative Syntax: Write UI code that clearly describes what you want, not how to build it
- SwiftUI-Inspired: Familiar patterns for developers coming from SwiftUI
- Type-Safe: Full TypeScript support with comprehensive type definitions
- Component-Based: Build reusable components with properties, state, and modifiers
- Cross-Platform: Write once, render everywhere (Web, iOS, Android)
- Live Preview: See your changes instantly with hot reloading
Platform Support
BindJS renders natively on multiple platforms, each with its own rendering engine:| Platform | Renderer | Status |
|---|---|---|
| iOS | bindjs-apple (SwiftUI) | Full support |
| Web/CMS Preview | metabindui (React) | Preview support |
| Android | Jetpack Compose | In development |
Philosophy
BindJS is built on the principle that UI code should be declarative, composable, and delightful to write. By bringing SwiftUI’s proven patterns to TypeScript, we enable developers to build beautiful interfaces with less code and fewer bugs. Whether you’re building a simple card component or a complex application, BindJS provides the tools and patterns you need to succeed.Next Steps
Ready to start building? Here’s where to go next:- Quickstart: Build your first component in minutes
- Core Concepts: Understand components, modifiers, and state
- Components: Explore all available components
- Modifiers: Learn about component modifiers
- Functions: Discover utility functions