扫一扫分享
Valdi是Snapchat开源的一款跨平台UI框架,采用TypeScript编写,直接编译为原生视图,无需WebView或JS桥接。其核心特点是通过C++布局引擎实现高性能渲染,支持iOS、Android和macOS,性能接近原生应用。Valdi允许开发者用TSX语法编写界面,同时提供Polyglot模块机制,可无缝调用原生代码(如Swift/Kotlin),适合需要高性能和原生体验的应用开发。
Valdi 的核心理念可以用一句话概括:"声明式 + 编译期生成原生视图"
也就是说:
Valdi 主要包含以下核心模块:
| 模块 | 功能 | 说明 |
|---|---|---|
| valdi_core | 框架核心 | 组件系统、渲染树、事件系统 |
| valdi_runtime | C++ 原生运行时 | 布局、内存管理、视图池 |
| valdi_compiler | TypeScript 编译器 | 将 TSX 转译为原生层绑定 |
| valdi_bridge | 语言绑定层 | 生成 Swift/Kotlin 接口 |
| valdi_devtools | 开发者工具 | 热重载、调试、VS Code 插件 |
| valdi_ui | 内置组件库 | Button、Label、ListView 等 |
结构上,它更像 react + Flutter + SwiftUI 的混合体:
Valdi 不走桥接路线,生成的 UI 是原生控件,因此性能与体验几乎等同手写 Swift/Kotlin。
对于前端开发者而言,Valdi 的上手门槛极低。
同时 TypeScript 的类型系统也保证了跨语言的安全性。
一次开发可生成 iOS、Android、macOS 界面,未来计划支持更多平台。
这一系列机制让大规模 UI(例如聊天、feed 流)也能保持高帧率。
Valdi 可嵌入原生 App,也可在其中嵌入原生模块,实现混合架构。
仅供个人学习参考/导航指引使用,具体请以第三方网站说明为准,本站不提供任何专业建议。如果地址失效或描述有误,请联系站长反馈~感谢您的理解与支持!
手机预览