[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-5696":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":22,"hasPages":22,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":25,"readmeContent":26,"aiSummary":27,"trendingCount":16,"starSnapshotCount":16,"syncStatus":28,"lastSyncTime":29,"discoverSource":30},5696,"xilem","linebender\u002Fxilem","linebender","An experimental Rust native UI framework","",null,"Rust",5384,215,67,109,0,13,75,7,77,"Apache License 2.0",false,"main",[],"2026-06-12 04:00:26","\u003Cdiv align=\"center\">\n\n# Xilem\n\n**An experimental Rust architecture for reactive UI**\n\n[![Linebender Zulip chat.](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FXi%20Zulip-%23xilem-blue?logo=Zulip)](https:\u002F\u002Fxi.zulipchat.com\u002F#narrow\u002Fstream\u002F354396-xilem)\n[![GitHub Actions CI status.](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Flinebender\u002Fxilem\u002Fci.yml?logo=github&label=CI)](https:\u002F\u002Fgithub.com\u002Flinebender\u002Fxilem\u002Factions)\n[![Dependency staleness status.](https:\u002F\u002Fdeps.rs\u002Frepo\u002Fgithub\u002Flinebender\u002Fxilem\u002Fstatus.svg)](https:\u002F\u002Fdeps.rs\u002Frepo\u002Fgithub\u002Flinebender\u002Fxilem)\n[![Apache 2.0 license.](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-Apache--2.0-blue.svg)](#license)\n[![Documentation build status.](https:\u002F\u002Fimg.shields.io\u002Fdocsrs\u002Fxilem.svg)](https:\u002F\u002Fdocs.rs\u002Fxilem)\n\n\u003C\u002Fdiv>\n\nXilem and Masonry provide an experimental high-level architecture for writing GUI apps in Rust.\n\n**Masonry** is a foundational crate for building natively compiled GUIs in Rust.\nIt provides a retained widget tree and runs event handling and update passes on it.\n\n**Xilem** is a high-level reactive framework inspired by React, SwiftUI and Elm.\nIt lets users create a lightweight view tree, and changes the rendered app based on changes to the tree.\nIt has a web backend and a Masonry backend.\n\n[`masonry\u002F`](masonry\u002F) and [`xilem\u002F`](xilem\u002F) are the respective entry points of these projects for new users. \nSee `ARCHITECTURE.md` for details about the repository structure.\n\nXilem and Masonry are built on top of:\n\n- **winit** for window creation.\n- **Vello and wgpu** for 2D graphics.\n- **Parley and Fontique** for [the text stack](https:\u002F\u002Fgithub.com\u002Flinebender\u002Fparley#the-Parley-text-stack).\n- **AccessKit** for plugging into accessibility APIs.\n\n**Note for new users:** If you're not sure what to use between Xilem and Masonry, you probably want Xilem. In general, if you're trying to make an app with minimum hassle, you probably want Xilem. Xilem is a UI framework, whereas Masonry is a toolkit for building UI frameworks (including Xilem).\n\n\n## Screenshots\n\n\u003Cfigure align=\"center\">\n\n\u003Cimg style=\"height: auto;\" width=\"1488\" height=\"1011\" src=\"docs\u002Fscreenshot_chess_app.png\">\n\n\u003Cfigcaption>\n\n*From https:\u002F\u002Fgithub.com\u002FStefanSalewski\u002Fxilem-chess\u002F*\n\n\u003C\u002Ffigcaption>\n\u003C\u002Ffigure>\n\n\u003Cfigure align=\"center\">\n\n\u003Cimg style=\"height: auto;\" width=\"677\" height=\"759\" src=\"docs\u002Fscreenshot_calc_masonry.png\">\n\n\u003Cfigcaption>\n\n*The `calc_masonry` example.*\n\n\u003C\u002Ffigcaption>\n\u003C\u002Ffigure>\n\n\u003Cfigure align=\"center\">\n\n\u003Cimg style=\"height: auto;\" width=\"1175\" height=\"862\" src=\"docs\u002Fscreenshot_to_do_mvc.png\">\n\n\u003Cfigcaption>\n\n*The `to_do_mvc` example.*\n\n\u003C\u002Ffigcaption>\n\u003C\u002Ffigure>\n\n\n## Getting started\n\nAfter cloning this repository, you can try running the examples, such as the `to_do_mvc` example shown above:\n\n```sh\ncargo run --example to_do_mvc\n```\n\nTo add Xilem as a dependency to your project, run\n\n```sh\ncargo add xilem\n```\n\n\n## Prerequisites\n\n### Linux and BSD\n\nYou need to have installed `pkg-config`, `clang`, and the development packages of `wayland`, `libxkbcommon`, `libxcb`, and `vulkan-loader`.\nMost distributions have `pkg-config` installed by default.\n\nTo install the remaining packages on Fedora, run:\n\n```sh\nsudo dnf install clang wayland-devel libxkbcommon-x11-devel libxcb-devel vulkan-loader-devel\n```\n\nTo install the remaining packages on Debian or Ubuntu, run:\n\n```sh\nsudo apt-get install clang libwayland-dev libxkbcommon-x11-dev libvulkan-dev\n```\n\nThere's a Nix flake in `docs\u002F` which may be used for developing on NixOS:\n\n> [!NOTE]\n> \n> This flake is provided as a starting point, and we do not routinely validate its correctness.\n> We do not require contributors to ensure that this accurately reflects the build requirements, as we expect most contributors (and indeed many maintainers) will not be using NixOS.\n> If it is out of date, please let us know by opening an issue or PR.\n\n```sh\n# For all crates within this repo\nnix develop .\u002Fdocs\n# For a specific crate\nnix develop .\u002Fdocs#xilem\nnix develop .\u002Fdocs#masonry\nnix develop .\u002Fdocs#xilem_web\n```\n\n## Recommended Cargo Config\n\nThe Xilem repository includes a lot of projects and examples, most of them pulling a lot of dependencies.\n\nIf you contribute to Xilem on Linux or macOS, we recommend using [`split-debuginfo`](https:\u002F\u002Fdoc.rust-lang.org\u002Fcargo\u002Freference\u002Fprofiles.html#split-debuginfo) in your [`.cargo\u002Fconfig.toml`](https:\u002F\u002Fdoc.rust-lang.org\u002Fcargo\u002Freference\u002Fconfig.html#hierarchical-structure) file to reduce the size of the `target\u002F` folder:\n\n```toml\n[profile.dev]\n# One debuginfo file per dependency, to reduce file size of tests\u002Fexamples.\n# Note that this value is not supported on Windows.\n# See https:\u002F\u002Fdoc.rust-lang.org\u002Fcargo\u002Freference\u002Fprofiles.html#split-debuginfo\nsplit-debuginfo=\"unpacked\"\n```\n\n## Minimum supported Rust Version (MSRV)\n\nThis version of Xilem has been verified to compile with **Rust 1.92** and later.\n\nFuture versions of Xilem might increase the Rust version requirement.\nIt will not be treated as a breaking change and as such can even happen with small patch releases.\n\n## Community\n\nDiscussion of Xilem development happens in the [Linebender Zulip](https:\u002F\u002Fxi.zulipchat.com\u002F), specifically the [#xilem channel](https:\u002F\u002Fxi.zulipchat.com\u002F#narrow\u002Fstream\u002F354396-xilem).\nAll public content can be read without logging in.\n\nContributions are welcome by pull request.\nThe [Rust code of conduct] applies.\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache 2.0 license, shall be licensed as noted in the [License](#license) section, without any additional terms or conditions.\n\n## License\n\nLicensed under the Apache License, Version 2.0 ([LICENSE](LICENSE) or \u003Chttp:\u002F\u002Fwww.apache.org\u002Flicenses\u002FLICENSE-2.0>)\n\nSome files used for examples are under different licenses:\n\n- The font file (`RobotoFlex-Subset.ttf`) in `xilem\u002Fresources\u002Ffonts\u002Froboto_flex\u002F` is licensed solely as documented in that folder (and is not licensed under the Apache License, Version 2.0).\n- The data file (`status.csv`) in `xilem\u002Fresources\u002Fdata\u002Fhttp_cats_status\u002F` is licensed solely as documented in that folder (and is not licensed under the Apache License, Version 2.0).\n- The data file (`emoji.csv`) in `xilem\u002Fresources\u002Fdata\u002Femoji_names\u002F` is licensed solely as documented in that folder (and is not licensed under the Apache License, Version 2.0).\n\n[Rust code of conduct]: https:\u002F\u002Fwww.rust-lang.org\u002Fpolicies\u002Fcode-of-conduct\n","Xilem 是一个实验性的 Rust 原生 UI 框架，旨在为开发人员提供一种反应式界面构建方式。它基于 Masonry 底层库，后者负责维护一个保留的 widget 树并处理事件和更新。Xilem 受到 React、SwiftUI 和 Elm 的启发，允许用户创建轻量级视图树，并根据树的变化来更新渲染的应用程序。该框架支持 web 后端及 Masonry 后端，使用 winit 创建窗口，Vello 和 wgpu 进行 2D 图形渲染，Parley 和 Fontique 处理文本显示，以及 AccessKit 实现无障碍功能接入。对于希望以最小化复杂度开发跨平台图形界面应用程序的开发者来说，Xilem 是一个理想的选择。",2,"2026-06-11 03:04:45","top_language"]