awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
react avatar

react/yoga

0
View on GitHub↗
18,790 stars·1,545 forks·C++·MIT·15 viewsyogalayout.dev↗

Yoga

Yoga is a cross-platform layout engine and embeddable core that determines the dimensions and offsets of hierarchical element trees. It provides a C++ implementation of the Flexbox layout model to calculate element positions and sizes based on web standards, ensuring a uniform appearance across diverse devices and operating systems.

The engine is designed for portability via a C API, allowing the layout logic to be integrated into various host languages and platforms. It utilizes an incremental layout system that identifies modified subtrees and recalculates positions only for changed nodes and their ancestors to avoid full tree recomputation.

The library covers a broad range of layout capabilities, including the application of box model styling with margins, padding, and borders. It resolves dimensions using absolute points or percentages and manages a tree-based hierarchy to propagate constraints and calculate relative positioning.

Features

  • Cross-Platform Layout Engines - Provides a portable engine for determining dimensions and offsets of element trees across diverse platforms.
  • Flexbox Layout Engines - Provides a Flexbox layout engine for aligning and distributing elements within containers using responsive properties.
  • Cross Platform Layout Libraries - Provides a cross-platform library that brings flexbox layout capabilities to non-web environments.
  • UI Hierarchy Organizers - Structures UI elements into parent-child stacks for nested container management and constraint propagation.
  • UI Tree Layout - Implements an incremental layout system that only recalculates modified subtrees and their ancestors.
  • Flexbox and Grid Layouts - Implements the flexible box model for geometric computation of element positioning in non-browser environments.
  • Layout Tree Construction - Allows the creation and linking of nodes to establish a hierarchical structure for UI elements and styling.
  • Layout Engines - Provides a layout engine to calculate the size and position of UI elements based on constraints.
  • Incremental Calculation - Calculates positions only for modified nodes and their ancestors to avoid full tree recomputation.
  • Incremental Layout Systems - Flag nodes with changed layout results to skip updates for unchanged branches of the user interface tree.
  • Layout & Positioning - Determines the final spatial arrangement and dimensions of visual elements in a hierarchical tree.
  • Embeddable Core APIs - Offers a C API to integrate the layout core into various host languages and target platforms.
  • Embeddable Cores - Ships as a portable layout library with a C API for integration into various host languages.
  • CSS Box Model Renderers - Calculates element dimensions, margins, and padding according to the CSS box model.
  • Constraint-Based - Implements solvers that determine component dimensions and positions based on a set of defined rules and constraints.
  • Incremental Layout Engines - Implements an incremental layout engine that updates only modified nodes and their ancestors.
  • C++ Core Implementations - Provides a high-performance core written in C++ with a C API for embedding across different platforms.
  • Dirty Flagging Systems - Uses dirty-flagging mechanisms to mark nodes needing updates and optimize layout re-calculation.
  • Layout Metric Extraction - Allows the extraction of resolved dimensions, offsets, and spacing values from nodes after layout computation.
  • Box Sizing Configurations - Manages how element dimensions are calculated relative to padding and borders to ensure uniform spacing.
  • Relative Layout Dimensions - Processes layout sizes using absolute points and relative dimensions to maintain consistency across screens.

Star history

Star history chart for react/yogaStar history chart for react/yoga

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Yoga

Similar open-source projects, ranked by how many features they share with Yoga.
  • dioxuslabs/blitzDioxusLabs avatar

    DioxusLabs/blitz

    3,327View on GitHub↗

    Blitz is an HTML and CSS rendering engine and native UI framework designed to translate web-standard markup into visual interfaces for native applications. It functions as a layout engine that converts raw HTML strings into a structured object model for programmatic rendering. The project implements a web-standard layout engine using Flexbox and Grid models to compute element positions and sizes. It includes a dedicated SVG graphics renderer for displaying scalable vector graphics embedded within HTML-based layouts. The framework covers native windowing integration and system accessibility t

    Rust
    View on GitHub↗3,327
  • facebook/yogafacebook avatar

    facebook/yoga

    18,781View on GitHub↗

    Yoga is an embeddable UI layout library and engine that implements the flexible box model used in web standards. It functions as a cross-platform tool for computing user interface geometry, calculating element sizes and positions without relying on a specific operating system's rendering. The engine provides a portable C++ core to ensure identical layout calculations across Android, iOS, and the web. It utilizes an abstract node interface to separate the layout logic from the host UI framework, allowing it to be integrated into native applications. The system manages interface rendering thro

    C++
    View on GitHub↗18,781
  • facebookarchive/asyncdisplaykitfacebookarchive avatar

    facebookarchive/AsyncDisplayKit

    13,345View on GitHub↗

    AsyncDisplayKit is an asynchronous UI framework and performance library for iOS. It provides a collection of performant alternatives to standard views, allowing developers to build responsive interfaces by offloading layout and rendering tasks to background threads. The framework is centered around a declarative layout engine based on a flexbox model, which calculates element positions and sizes asynchronously. It utilizes a node-based abstraction to wrap native views, enabling the instantiation and configuration of UI hierarchies on background threads to prevent main thread blocking. The sy

    Objective-C++
    View on GitHub↗13,345
  • randrew/layoutrandrew avatar

    randrew/layout

    992View on GitHub↗

    This library is a portable, header-only engine designed for calculating the geometric positions and dimensions of nested rectangular elements. It provides a recursive stacking-box model to determine interface coordinates, serving as a lightweight solution for two-dimensional layout calculations in C99 or C++ environments. The engine distinguishes itself through its focus on portability and resource efficiency. It utilizes a dependency-free memory abstraction that allows developers to override default allocation and assertion routines, making it suitable for specialized or restricted computing

    Cflexboxguiimgui
    View on GitHub↗992
See all 30 alternatives to Yoga→

Frequently asked questions

What does react/yoga do?

Yoga is a cross-platform layout engine and embeddable core that determines the dimensions and offsets of hierarchical element trees. It provides a C++ implementation of the Flexbox layout model to calculate element positions and sizes based on web standards, ensuring a uniform appearance across diverse devices and operating systems.

What are the main features of react/yoga?

The main features of react/yoga are: Cross-Platform Layout Engines, Flexbox Layout Engines, Cross Platform Layout Libraries, UI Hierarchy Organizers, UI Tree Layout, Flexbox and Grid Layouts, Layout Tree Construction, Layout Engines.

What are some open-source alternatives to react/yoga?

Open-source alternatives to react/yoga include: dioxuslabs/blitz — Blitz is an HTML and CSS rendering engine and native UI framework designed to translate web-standard markup into… facebook/yoga — Yoga is an embeddable UI layout library and engine that implements the flexible box model used in web standards. It… facebookarchive/asyncdisplaykit — AsyncDisplayKit is an asynchronous UI framework and performance library for iOS. It provides a collection of… randrew/layout — This library is a portable, header-only engine designed for calculating the geometric positions and dimensions of… dioxuslabs/taffy — Taffy is a layout engine that calculates the size and position of user interface components. It is a language-agnostic… google/flexbox-layout — This is a layout library for Android applications that implements the CSS Flexible Box layout model. It provides a…