SuperAPI AI 工具集

valdi

编程与开发

查看项目

更新于 10-15 22:40

技能介绍

用途:在开发 Valdi 框架项目时提供专门指导。Valdi 是 Snapchat 的跨平台原生 UI 框架,把 TypeScript/TSX 组件编译为 iOS、Android、macOS 原生视图,并非基于 WebView,也无需 JavaScript 桥接。适用于新建组件或模块、配置 Bazel 构建、实现原生绑定(CppModule、NativeModule)、排查跨平台渲染问题、搭建开发环境以及理解 TSX 元素系统。

主要能力:Valdi 组件为基于类的结构,含 onCreate、onMount、onUnmount、onRender 等生命周期方法;提供原生 UI 元素(view、layout、scroll、label、image、video、slot),样式使用驼峰命名与数值而非 CSS 语法;支持类型安全的原生绑定;内置 valdi_core、valdi_tsx、valdi_protobuf、valdi_http、valdi_storage、valdi_navigation、valdi_rxjs 等模块;强调渲染性能,如视图回收、组件独立渲染与视口感知渲染。

使用方式:构建必须使用 Bazel,Node 依赖使用 pnpm。常用命令包括 pnpm install -g @snap/valdi、valdi dev_setup、valdi doctor、valdi bootstrap、valdi install ios、valdi install android、valdi hotreload、valdi projectsync。需在 iOS、Android、macOS 上测试,平台特定代码放入 src/ios/、src/android/,并参考仓库中的 AGENTS.md。

限制与注意:仅使用 Bazel,不支持 npm/yarn 脚本或其他打包器;不要使用 HTML 元素或 CSS 语法;不要直接修改 Djinni 生成的绑定代码,应修改源文件后重新生成;首次环境配置约需 10-20 分钟。调试可使用 Hermes Debugger 与 Valdi Inspector。其他细节以仓库文档与参考文件为准。