README.md
[!NOTE] Beta Status: Valdi has been widely used in Snap's production apps for the last 8 years. We're calling this a beta because our tools and documentation need more battle testing in the open source world. Valdi will exit beta when we're happy with the developer experience.
Valdi is a cross-platform UI framework that delivers native performance without sacrificing developer velocity. Write your UI once in declarative TypeScript, and it compiles directly to native views on iOS, Android, and macOS—no web views, no JavaScript bridges.
A basic Valdi component:
import { Component } from 'valdi_core/src/Component';
class HelloWorld extends Component {
onRender() {
const message = 'Hello World! 👻';
<view backgroundColor='#FFFC00' padding={30}>
<label color='black' value={message} />
</view>;
}
}
Prerequisites: Xcode (macOS only) - everything else is automatic!
# Install Valdi CLI
npm install -g @snap/valdi
# One-command setup (installs all dependencies)
valdi dev_setup
# Create your first project
mkdir my_project && cd my_project
valdi bootstrap
valdi install ios # or android
[!TIP] Editor Extensions: For the best development experience, install the Valdi VSCode/Cursor extensions for syntax highlighting, debugging, and device logs during hot reload.
Valdi is a cross-platform UI framework designed to solve the fundamental problem of cross-platform development: velocity vs. runtime performance. For 8 years, it has powered a large portion of Snap's production apps.
Unlike frameworks that rely on web views or JavaScript bridges, Valdi compiles declaratively rendered TypeScript components into platform-native views. Valdi also includes several other performance advantages:
Learn more in our Performance Optimization Guide.
Valdi eliminates the traditional compile-test-debug cycle that slows native development:
Valdi integrates easily into existing apps - start small and scale as needed:
<custom-view>Valdi generates type-safe bindings between TypeScript and native platforms:
Join our Discord for support.
Please follow the contributing guidelines.
Valdi is made available under the MIT License.