Repolode
Snapchat

Snapchat/Valdi

선언형 TypeScript 컴포넌트를 웹 뷰나 JS 브리지 없이 iOS, Android, macOS 네이티브 뷰로 컴파일하는 크로스 플랫폼 UI 프레임워크입니다.

스타
16,382
포크
538
열린 이슈
22
마지막 커밋
12시간 전

어떤 프로젝트인가요?

Valdi는 모바일 및 데스크톱 인터페이스를 만들기 위한 Snap의 UI 프레임워크입니다. TypeScript를 사용해 선언형 TSX로 컴포넌트를 작성하면, Valdi는 웹 뷰나 JavaScript 브리지를 통해 렌더링하는 대신 iOS, Android, macOS의 플랫폼 네이티브 뷰로 컴파일합니다.

이 프레임워크는 화면 간 뷰 재사용, 컴포넌트별 독립 렌더링, RTL을 지원하는 Flexbox 기반 C++ 레이아웃 엔진, 화면에 보이는 뷰만 생성하는 뷰포트 인식 렌더링을 제공합니다. 또한 핫 리로드, 중단점과 힙 덤프를 지원하는 VSCode 디버깅, 컴포넌트 단위 테스트 프레임워크도 포함합니다.

Valdi 컴포넌트를 기존 UIKit 또는 Android 뷰 계층에 삽입하거나, Valdi 레이아웃 안에서 네이티브 뷰를 사용하거나, 성능이 중요한 모듈을 C++, Swift, Kotlin 또는 Objective-C로 작성하고 TypeScript 바인딩을 생성할 수 있습니다. 프로젝트는 베타 단계이며 MIT 라이선스를 따릅니다.

핵심 기능

  • 01선언형 TSX 컴포넌트를 iOS, Android, macOS 네이티브 뷰로 컴파일
  • 02핫 리로드 및 중단점과 힙 덤프를 지원하는 VSCode 디버깅
  • 03더욱 부드러운 스크롤을 위한 전역 뷰 재사용 및 뷰포트 인식 렌더링
  • 04자동 RTL 지원을 제공하는 C++ Flexbox 레이아웃 엔진
  • 05TypeScript와 Kotlin, Swift 또는 Objective-C 간 타입 안전 바인딩 생성
  • 06Valdi 컴포넌트를 기존 네이티브 뷰 계층에 삽입

활용 사례

  • 웹 뷰 없이 크로스 플랫폼 모바일 화면 구축
  • 기존 iOS 또는 Android 앱에 Valdi 컴포넌트를 단계적으로 추가
  • TypeScript 바인딩을 활용해 C++ 또는 Swift로 성능 민감 모듈 작성
  • 피드처럼 기능이 풍부하고 스크롤이 많은 인터페이스 구축

빠른 시작

  1. 1

    npm에서 Valdi CLI를 설치합니다

    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은(는) 무엇인가요?
선언형 TypeScript 컴포넌트를 웹 뷰나 JS 브리지 없이 iOS, Android, macOS 네이티브 뷰로 컴파일하는 크로스 플랫폼 UI 프레임워크입니다. Valdi는 모바일 및 데스크톱 인터페이스를 만들기 위한 Snap의 UI 프레임워크입니다. TypeScript를 사용해 선언형 TSX로 컴포넌트를 작성하면, Valdi는 웹 뷰나 JavaScript 브리지를 통해 렌더링하는 대신 iOS, Android, macOS의 플랫폼 네이티브 뷰로 컴파일합니다.
Valdi은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
Valdi은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
Valdi은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. Valdi의 마지막 커밋은 2026년 11월 5일입니다.
Valdi은(는) 어디에 사용할 수 있나요?
웹 뷰 없이 크로스 플랫폼 모바일 화면 구축 기존 iOS 또는 Android 앱에 Valdi 컴포넌트를 단계적으로 추가 TypeScript 바인딩을 활용해 C++ 또는 Swift로 성능 민감 모듈 작성 피드처럼 기능이 풍부하고 스크롤이 많은 인터페이스 구축
Valdi는 어떻게 설치하나요?
npm에서 Valdi CLI를 설치합니다: 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를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트