Repolode
Snapchat

Snapchat/Valdi

Кроссплатформенный UI-фреймворк, который компилирует декларативные компоненты TypeScript в нативные представления iOS, Android и macOS без web view и JS-мостов.

Звёзды
16,379
Форки
537
Открытые issues
22
Последний коммит
позавчера

Что это?

Valdi — UI-фреймворк от Snap для создания интерфейсов мобильных и настольных приложений. Вы пишете компоненты на декларативном TSX с TypeScript, а Valdi компилирует их в нативные представления iOS, Android и macOS вместо отображения через web view или JavaScript-мост.

Фреймворк поддерживает переиспользование представлений между экранами, независимый повторный рендеринг компонентов, движок раскладки на C++ с Flexbox и поддержкой RTL, а также рендеринг с учётом области видимости, при котором создаются только видимые представления. В нём также есть hot reload, отладка в VSCode с точками останова и дампами кучи, а также фреймворк для тестирования компонентов.

Компоненты Valdi можно встраивать в существующие иерархии UIKit или Android, использовать нативные представления в раскладках Valdi и писать критичные к производительности модули на C++, Swift, Kotlin или Objective-C с автоматически сгенерированными привязками для TypeScript. Проект находится в бета-версии и распространяется по лицензии MIT.

Ключевые возможности

  • 01Компилирует декларативные компоненты TSX в нативные представления iOS, Android и macOS
  • 02Hot reload и отладка в VSCode с точками останова и дампами кучи
  • 03Глобальное переиспользование представлений и рендеринг с учётом области видимости для более плавной прокрутки
  • 04Движок раскладки Flexbox на C++ с автоматической поддержкой RTL
  • 05Автоматически сгенерированные типобезопасные привязки между TypeScript и Kotlin, Swift или Objective-C
  • 06Встраивание компонентов Valdi в существующие иерархии нативных представлений

Сценарии использования

  • Создание кроссплатформенных экранов мобильных приложений без web view
  • Постепенное добавление компонентов Valdi в существующее приложение для iOS или Android
  • Разработка критичных к производительности модулей на C++ или Swift с привязками для TypeScript
  • Создание функциональных интерфейсов с интенсивной прокруткой, например лент

Быстрый старт

  1. 1

    Установите Valdi CLI через npm

    npm install -g @snap/valdi
  2. 2

    Выполните одну команду для настройки зависимостей

    valdi dev_setup
  3. 3

    Создайте папку проекта и выполните его начальную настройку

    mkdir my_project && cd my_project valdi bootstrap
  4. 4

    Установите приложение на iOS или Android

    valdi install ios

Что важно знать

  • Проект находится в статусе бета-версии, а согласно README, инструменты и документация всё ещё проходят проверку в условиях открытого исходного кода.
  • Для сборки под iOS или macOS требуется Xcode 26.5 или 27, поэтому понадобится Mac.

В подборках

Темы

Частые вопросы

Что такое Valdi?
Кроссплатформенный UI-фреймворк, который компилирует декларативные компоненты TypeScript в нативные представления iOS, Android и macOS без web view и JS-мостов. Valdi — UI-фреймворк от Snap для создания интерфейсов мобильных и настольных приложений. Вы пишете компоненты на декларативном TSX с TypeScript, а Valdi компилирует их в нативные представления iOS, Android и macOS вместо отображения через web view или JavaScript-мост.
Valdi можно использовать бесплатно? Какая у него лицензия?
Valdi распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
Valdi всё ещё поддерживается?
Активно поддерживается. Последний коммит в Valdi — 6 нояб. 2026 г..
Для чего можно использовать Valdi?
Создание кроссплатформенных экранов мобильных приложений без web view Постепенное добавление компонентов Valdi в существующее приложение для iOS или Android Разработка критичных к производительности модулей на C++ или Swift с привязками для TypeScript Создание функциональных интерфейсов с интенсивной прокруткой, например лент
Как установить Valdi?
Установите Valdi CLI через npm: npm install -g @snap/valdi Выполните одну команду для настройки зависимостей: valdi dev_setup Создайте папку проекта и выполните его начальную настройку: mkdir my_project && cd my_project valdi bootstrap Установите приложение на iOS или Android: valdi install ios
Где скачать Valdi?
Исходный код и инструкции по установке — на GitHub: https://github.com/Snapchat/Valdi

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Open-source Python-фреймворк для разработки GUI-приложений под desktop, мобильные и встроенные платформы на единой кодовой базе.

19 тыс.3,1 тыс.PythonMITАктивно поддерживаетсяОбновлён позавчера

Пакет Flutter для создания чатов с настраиваемыми виджетами сообщений и экраном чата, который можно подключить к любому бэкенду.

2,4 тыс.+3 за неделю861DartApache-2.0Обновлён 13 дней назад