facebook/yoga

GitHub: facebook/yoga

Yoga 是 Facebook 开发的可嵌入式高性能 flexbox 布局引擎,用于在多种平台和语言环境中实现标准化的 UI 布局。

Stars: 18789 | Forks: 1523

# Yoga [![npm](https://img.shields.io/npm/v/yoga-layout.svg)](https://www.npmjs.com/package/yoga-layout) [![Maven Central](https://img.shields.io/maven-central/v/com.facebook.yoga/yoga)](https://search.maven.org/artifact/com.facebook.yoga/yoga) ![SPM](https://img.shields.io/badge/SPM-Supported-blue.svg) Yoga 是一个可嵌入且高性能的 flexbox 布局引擎,提供了多种语言的绑定。 ## 构建 Yoga 的主要实现面向 C++ 20,并附带 CMake 的构建逻辑。我们提供了一个包装器用于构建主库并运行单元测试。 ``` ./unit_tests ``` 虽然不是必需的,但如果安装了 [ninja](https://ninja-build.org/),此脚本会使用它来加快构建速度。 Yoga 同时也是由 Microsoft 和社区贡献者维护的 [vcpkg](https://github.com/Microsoft/vcpkg/) 端口集合的一部分。如果版本过时,请在 vcpkg 仓库中[创建 issue 或 pull request](https://github.com/Microsoft/vcpkg)。 ## 添加测试 Yoga 的许多测试是自动生成的,它们使用描述节点结构的 HTML fixture。这些 fixture 会在 Chrome 中渲染,从而为树结构生成预期的布局结果。可以将新的 fixture 添加到 `gentest/fixtures` 中。 ```
``` 要从添加的 fixture 生成新测试: 1. 确保你已安装 [yarn classic](https://classic.yarnpkg.com)。 2. 运行 `yarn install` 以安装测试生成器的依赖项。 3. 在 `yoga` 目录下运行 `yarn gentest`。 ## 调试 Yoga 提供了一个 VSCode "launch.json" 配置,允许调试单元测试。只需添加断点,然后运行 "Debug C++ Unit tests (lldb)"(或在 Windows 上运行 "Debug C++ Unit tests (vsdbg)")。
标签:Bash脚本, CMake构建, C++开发, Flexbox布局, Java库, JS文件枚举, Maven Central, Node.js库, npm包, React Native底层, UI测试生成, vcpkg包管理, VSCode调试, Web标准, 前端UI渲染, 前端工程化, 多语言绑定, 嵌入式的布局, 开源UI框架, 性能优化, 数据可视化, 检测绕过, 组件化UI, 跨平台布局引擎, 跨平台框架, 跨端开发, 高性能计算