Repolode
Snapchat

Snapchat/Valdi

Framework de UI multiplataforma que compila componentes declarativos em TypeScript para views nativas no iOS, Android e macOS, sem web views nem bridges de JS.

Estrelas
16,381
Forks
537
Issues abertas
22
Último commit
há 22 horas

O que é?

Valdi é um framework de UI da Snap para criar interfaces mobile e desktop. Você escreve componentes declarativos em TSX com TypeScript, e o Valdi os compila em views nativas no iOS, Android e macOS, em vez de renderizá-los por meio de web views ou de uma bridge de JavaScript.

O framework inclui reciclagem de views entre telas, renderização independente de componentes, um mecanismo de layout em C++ que usa Flexbox com suporte a RTL e renderização que leva o viewport em conta, inflando apenas as views visíveis. Também oferece hot reload, depuração no VSCode com breakpoints e heap dumps, além de um framework de testes no nível dos componentes.

O Valdi permite incorporar seus componentes em hierarquias existentes de UIKit ou Android, usar views nativas em layouts do Valdi e escrever módulos críticos para o desempenho em C++, Swift, Kotlin ou Objective-C com bindings TypeScript gerados. O projeto está em beta e usa a licença MIT.

Recursos principais

  • 01Compila componentes declarativos em TSX para views nativas no iOS, Android e macOS
  • 02Hot reload e depuração no VSCode com breakpoints e heap dumps
  • 03Reciclagem global de views e renderização que leva o viewport em conta para rolagens mais fluidas
  • 04Mecanismo de layout Flexbox em C++ com suporte automático a RTL
  • 05Bindings com tipagem segura gerados entre TypeScript e Kotlin, Swift ou Objective-C
  • 06Incorpore componentes do Valdi em hierarquias existentes de views nativas

Casos de uso

  • Criar telas mobile multiplataforma sem web views
  • Adicionar componentes do Valdi gradualmente a um app iOS ou Android existente
  • Escrever módulos sensíveis ao desempenho em C++ ou Swift com bindings TypeScript
  • Criar interfaces completas com muita rolagem, como feeds

Início rápido

  1. 1

    Instale o Valdi CLI pelo npm

    npm install -g @snap/valdi
  2. 2

    Execute o comando único para configurar as dependências

    valdi dev_setup
  3. 3

    Crie uma pasta para o projeto e inicialize-o

    mkdir my_project && cd my_project valdi bootstrap
  4. 4

    Instale o app no iOS ou Android

    valdi install ios

Antes de usar

  • O status é beta e, segundo o README, as ferramentas e a documentação ainda estão sendo testadas em projetos de código aberto.
  • Para compilar para iOS ou macOS, é necessário ter o Xcode 26.5 ou 27, então é preciso usar um Mac.

Em coleções

Tópicos

Perguntas frequentes

O que é Valdi?
Framework de UI multiplataforma que compila componentes declarativos em TypeScript para views nativas no iOS, Android e macOS, sem web views nem bridges de JS. Valdi é um framework de UI da Snap para criar interfaces mobile e desktop. Você escreve componentes declarativos em TSX com TypeScript, e o Valdi os compila em views nativas no iOS, Android e macOS, em vez de renderizá-los por meio de web views ou de uma bridge de JavaScript.
Valdi é gratuito? Qual é a licença?
Valdi é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
Valdi ainda é mantido?
Manutenção ativa. O último commit de Valdi foi em 7 de nov. de 2026.
Para que posso usar Valdi?
Criar telas mobile multiplataforma sem web views Adicionar componentes do Valdi gradualmente a um app iOS ou Android existente Escrever módulos sensíveis ao desempenho em C++ ou Swift com bindings TypeScript Criar interfaces completas com muita rolagem, como feeds
Como instalar Valdi?
Instale o Valdi CLI pelo npm: npm install -g @snap/valdi Execute o comando único para configurar as dependências: valdi dev_setup Crie uma pasta para o projeto e inicialize-o: mkdir my_project && cd my_project valdi bootstrap Instale o app no iOS ou Android: valdi install ios
Onde consigo Valdi?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/Snapchat/Valdi

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados