Taffy: Rust로 만든 고성능 크로스플랫폼 UI 레이아웃 라이브러리

Taffy: A flexible, high-performance, cross-platform UI layout library

Taffy: Rust로 만든 고성능 크로스플랫폼 UI 레이아웃 라이브러리

Taffy는 Rust로 작성된 유연하고 고성능인 크로스플랫폼 UI 레이아웃 라이브러리로, CSS의 Block, Flexbox, CSS Grid 레이아웃 알고리즘을 구현합니다. Servo, Blitz, Bevy, Takumi, iocraft, Slint, Lapce, Zed 등 다양한 프로젝트에서 사용되고 있습니다. 이 라이브러리는 다른 UI/GUI 라이브러리의 의존성으로 설계되었으며, Python, C, WASM 바인딩이 제공되거나 준비 중입니다. Flexbox와 CSS Grid 사양을 충실히 구현하여 웹 문서가 그대로 적용되며, 벤치마크에서 Yoga와 비교해 대체로 우수한 성능을 보여줍니다.

Taffy는 유연하고 고성능인 크로스플랫폼 UI 레이아웃 라이브러리로, Rust로 작성되었으며 현재 CSS의 Block, Flexbox, CSS Grid 레이아웃 알고리즘을 구현하고 있습니다.
  1. nicoburns

    저는 Taffy를 유지보수하고 있습니다. 아무거나 물어보세요.

    현재 그 위에 더 넓은 브라우저 엔진/GUI 툴킷을 구축하는 중입니다 (https://github.com/dioxuslabs/blitz). 그 일환으로 CSS 레이아웃의 더 복잡한 부분(floats 등)을 구현하고 있으며, 여기에서 추적하는 모든 WPT 테스트를 통과시키기 위해 노력하고 있습니다: https://blitz.is/status/wpt/css/css-flexbox.

    비전은 웹 레이아웃 알고리즘의 완전한 독립 실행형 구현으로, 쉽게 임베드할 수 있고(개별 알고리즘을 사용 여부에 따라 선택적으로 활성화/비활성화할 수 있는 '쓰는 만큼 내는' 방식), 또한 브라우저 엔진 구성 요소의 모듈식 생태계의 일부가 되어 사람들이 새로운 브라우저 엔진을 더 쉽게 만들 수 있게 하는 것입니다.

    Blitz 외에도 주목할 만한 사용자로는:

    - CSS Grid에만 사용하는 Servo

    - GPUI 툴킷을 통해 사용하는 Zed가 있습니다.

  2. chrisweekly

    밀접하게 관련된 곁가지: CSS를 기본 원리부터 활용하는 방법을 보여주는 놀라운 자료는 https://every-layout.dev 를 참조하세요.

  3. hereonout2

    영국의 특정 청중에게는 불행한 이름이네요!

  4. davidhyde

    이 라이브러리는 임베디드 하드웨어(KB 단위 RAM을 가진 마이크로컨트롤러)에서 no_std GUI를 구축하는 데 사용할 수 있습니다. 그만큼 가볍고 빠릅니다.

  5. LoganDark

    저는 Apple의 제약 조건 레이아웃 시스템 같은 것에 관심이 있습니다. 중첩된 플렉스박스와 그리드로도 많은 것을 할 수 있지만, 제약 조건 레이아웃을 본 후 약간 반해버렸습니다. 창 크기 조정이 특정 우선순위를 가진 제약 조건으로 표현되는 것까지도요!

이 날의 다른 글

2026-08-19