본문 바로가기
컴퓨터 활용(한글, 오피스 등)/기타

Rust GUI 라이브러리 설문 조사 2025

by 3604 2025. 5. 2.
728x90

출처: https://rustcc.cn/article?id=c208d03f-d217-4532-aaf0-066bdc7a135f

[Rust Daily] 2025-04-15 2025 Rust GUI 라이브러리 설문조사

Yuan YQ님이 2025-04-15 10:32  게시함

Rust GUI 라이브러리 설문 조사 2025

글의 저자는 텍스트 레이블과 입력란 사이의 연결 기능을 실현하기 위해 43개의 Rust GUI 라이브러리를 조사했으며, Windows 시스템 지원, 스크린 리더 접근성, IME 입력과 같은 요소를 고려했습니다. 많은 도서관이 다른 방식으로 운영되었습니다. 예를 들어 Azul CXX-Qt 링크 오류가 있었고 실행하기 어려웠습니다 . Cushy Floem 접근성이나 IME 지원에 결함이 있었습니다 . 전반적으로 Dioxus Slint 성과가 좋았습니다 . 저자는 완벽한 선택은 없지만 2021년과 비교하면 합리적인 옵션이 있다고 생각합니다.

도서관 이름 유효성 화면 판독기 접근성 IME 지원 문제 설명
Azul 링크 오류로 실행할 수 없습니다. 언급되지 않음 언급되지 않음 미리 빌드된 .dll을 다운로드하기 어렵고, 샘플 코드가 실행되지 않으며, 버전이 혼란스럽습니다.
cacao macOS에서만 사용 가능 언급되지 않음 언급되지 않음 Windows에서는 지원되지 않습니다
core - foundation macOS에서만 사용 가능 언급되지 않음 언급되지 않음 Windows에서는 지원되지 않습니다
Crux 데스크톱 타겟 없음 언급되지 않음 언급되지 않음 실제로 데스크톱 GUI 개발을 지원하지 않으며 모바일 및 웹만 지원합니다.
Cushy 아니요 부분적 지원 샘플 코드에 오류가 있으며 실행 시 많은 Vulkan/DirectX 12 오류가 발생하고 Windows 내레이터가 콘텐츠를 인식할 수 없습니다.
CXX-Qt 링크 오류로 실행할 수 없습니다. 언급되지 않음 언급되지 않음 Qt를 설치하려면 등록이 필요하며 샘플 코드에는 1058개의 링크 오류가 있습니다.
Dioxus React와 유사하게 WebView2/WebKitGTK를 통한 데스크톱 개발 지원, 텍스트 및 IME 기능이 정상입니다.
Dominator 웹 전용 언급되지 않음 언급되지 않음 데스크톱 지원 없음
egui 부분적 지원 설정이 간단한데 기본 폰트가 일본어 문자를 지원하지 않고, 한자 선택시 Tab키가 소모됩니다.
Floem 아니요 아니요 Lapce IDE에 사용되며 레이아웃이 이상하게 구성되어 있으며 접근성과 IME 지원이 부족합니다.
fltk 추가 상자가 필요합니다 레이아웃 시스템이 좋지 않고 컴포넌트를 추가하는 방법도 친절하지 않습니다.
flutter_rust_bridge 부분적 지원은 있지만 국가관리가 혼란스럽다 부분적 지원은 있지만 국가관리가 혼란스럽다 Flutter와의 통합은 복잡하고 입력 필드 상태 관리에 문제가 있습니다.
Freya 아니요 아니요 Dioxus의 이전 버전에 따라 렌더링 및 텍스트 인식 문제가 발생합니다.
fui qmake 오류로 빌드할 수 없습니다. 언급되지 않음 언급되지 않음 문서 부족, 빌드 실패
GemGui 기술적으로 사용 가능하지만 종속성 문제가 많습니다. 언급되지 않음 언급되지 않음 파이썬에 의존하고 작업이 번거롭습니다.
GPUI 아니요 기본 텍스트 입력 위젯이 부족하고 설명서와 설치가 부족합니다.
GTK 3 더 이상 유지되지 않음 언급되지 않음 언급되지 않음 폐기됨
GTK 4 아니요 창문 장식 및 접근성 문제
Iced 아니요 아니요 Elm에서 영감을 얻었지만 접근성 및 IME 지원에 문제가 있습니다.
imgui 아니요 아니요 게임 엔진과 잘 통합되지만, 초기 설정이 복잡하고 여러 렌더러를 지원하므로 선택이 어렵습니다.
KAS 아니요 아니요 튜토리얼이 오래되었고 상태 관리 디자인이 불분명합니다.
kittest 테스트용 언급되지 않음 언급되지 않음 egui 테스트만 지원합니다
Leptos 웹 전용 언급되지 않음 언급되지 않음 웹 프런트엔드 프레임워크, 네이티브 GUI 지원 부족
lvgl C 종속성 문제 언급되지 않음 언급되지 않음 Windows의 구성 문제
Makepad 아니요 부분적 지원 문서 부족 및 접근성 지원 부족
masonry 콘텐츠는 인식 가능하지만 위치가 잘못되었습니다. , 하지만 일시적으로 잘못된 코드가 있습니다. API를 사용하기 쉽지 않습니다
Maycoon 텍스트 입력 위젯이 없습니다 언급되지 않음 언급되지 않음 너무 새것이라 제대로 작동하지 않음
Pax 윈도우 지원 없음 언급되지 않음 언급되지 않음 macOS만 지원
qmetaobject 윈도우 지원 안됨 - msvc 언급되지 않음 언급되지 않음 특정 대상과 호환되지 않음
relm 유지 관리되지 않는 GTK 3를 사용합니다. 언급되지 않음 언급되지 않음 오래된 라이브러리에 대한 종속성
Relm4 아니요 GTK 4를 기반으로 하며, 그 문제점을 계승함
Ribir 부분적 지원은 있지만 국가관리가 혼란스럽다 아니요 부분적 지원 국가 관리 메커니즘에 문제가 있습니다
Rinf Rust 없이 GUI 구축하기 언급되지 않음 언급되지 않음 연구 요건을 충족하지 못함
rui 아니요 아니요 상태 관리가 번거로울 수 있습니다
Slint 부분적 지원 자체 DSL이 있고 데이터 바인딩이 뛰어나며 기본 글꼴이 문제가 될 수 있습니다.
Tauri 부분적 지원 프런트엔드와 백엔드 간 통신에 문제가 있고, 타입 안전성이 부족합니다.
tinyfiledialogs 일반적이지 않은 GUI 라이브러리 언급되지 않음 언급되지 않음 기능이 제한되어 작업을 완료할 수 없습니다.
Tk 아니요 외부 라이브러리에 의존하는 복잡한 설치 및 사용
Vizia 구조는 인식 가능하지만 내용은 인식 불가능 부분적 지원 텍스트필드에 포커스가 있을 때 스타일링 문제
WebRender 너무 낮은 수준이어서 GUI 개발에 적합하지 않습니다. 언급되지 않음 언급되지 않음 GUI 구성 요소가 없으며 저수준 그래픽 라이브러리입니다.
windows Win32 API에 익숙하지 않음 언급되지 않음 언급되지 않음 GUI 개발 지침 부족
WinSafe 수동 레이아웃이 좋지 않고 창 생성 타이밍 문제가 있습니다.
Xilem 콘텐츠는 인식 가능하지만 위치가 잘못되었습니다. , 하지만 일시적으로 잘못된 코드가 있습니다. 버전 관리 부족

설문 조사는 기능, 사용 편의성, 접근성, IME 지원 측면에서 매우 다양한 43개의 Rust GUI 라이브러리를 다룹니다. 저자는 나은 성능을 제공하는 가지 라이브러리를 추천합니다. CSS 레이아웃을 선호하는 사람은 Dioxus 선택할 있습니다. DSL 기반을 선호하는 사용자는 Slint 선택할 있습니다. DSL 매크로를 피하고 일반 Rust 코드만 사용하고 싶은 사람이라면 egui 고려해 있습니다. 일찍 투자하고 싶은 사람이라면 Xilem 주목해도 좋습니다. 절대적으로 완벽한 선택은 없지만, 2021년보다 오늘날 개발자들이 선택할 있는 합리적인 옵션이 많이 있습니다.

원문: https://www.boringcactus.com/2025/04/13/2025-survey-of-rust-gui-libraries.html

dotter: dotfiles 관리

dotter Rust 작성된 dotfile 관리자이자 템플릿 생성기입니다. 주된 목적은 dotfiles 관리하고 배포할 발생하는 문제를 해결하고, 유연한 구성과 대상 위치에 대한 자동 템플릿 또는 심볼릭 링크를 제공하는 것입니다.

  • 기존의 dotfiles 관리 문제 해결 : 심볼릭 링크를 사용하는 기존 ln -s방식은 많은 수의 dotfiles 관리할 많은 문제점을 안고 있습니다. 예를 들어, 파일 출처 추적의 어려움, 새로운 컴퓨터에서의 복잡한 설정, 서로 다른 컴퓨터 간의 차이점 처리 불능 등이 있습니다. 도터는 이러한 문제를 해결하는 것을 목표로 합니다.
  • 유연한 구성 자동 배포 : Dotter 유연한 구성을 제공함으로써 dotfiles 대상 위치에 자동으로 템플릿화하거나 심볼릭 링크할 있습니다.
  • 후크 스크립트 지원 : 사전 정의된 후크 스크립트는 특정 요구 사항을 충족하기 위해 배포 배포 취소 전후에 실행할 있습니다.
  • 캐시 메커니즘 : 캐시 파일을 사용하여 배포된 파일 정보를 기록하여 배포 작업을 실행 취소하기 쉽게 합니다.
  • 템플릿 지원 : 다양한 변수에 따라 다양한 구성 파일을 생성하기 위해 템플릿 파일 사용을 지원합니다.
  • 자세한 로그 출력 : 디버깅과 작업 프로세스 보기를 용이하게 하기 위해 다양한 수준의 로그 출력을 지원합니다.

Github 저장소: https://github.com/SuperCuber/dotter

rust-analyzer 2025-04-14 (v0.3.2379) 출시

업데이트에는 새로운 기능인 "자식 모듈 찾기" 명령이 포함되어 있습니다. 잘못된 잘못된 변환 진단 여러 문제를 해결합니다. 그리고 드롭 글루 정보의 장황함을 줄이고 Rust 1.86으로 전환하는 여러 가지 내부 개선 사항이 적용되었습니다.

원문: https://rust-analyzer.github.io/thisweek/2025/04/14/changelog-281.html

원문

2025 年 Rust GUI 库调研

本文作者对 43 种 Rust GUI 库进行调研,旨在实现文本标签与输入框联动功能,且考虑了 Windows 系统支持、屏幕阅读器可访问性及 IME 输入等因素。众多库表现各异,如Azul、CXX-Qt 等存在链接错误难以运行Cushy、Floem 等在可访问性或 IME 支持上有缺陷Dioxus、Slint 等综合表现较好。作者认为虽无完美选择,但相比 2021 年已有更多合理选项。

库名是否可用屏幕阅读器可访问性IME 支持情况问题描述
Azul 链接错误,无法运行 未提及 未提及 下载预构建.dll 困难,示例代码无法运行,版本混乱
cacao 仅适用于 macOS 未提及 未提及 不支持 Windows 系统
core - foundation 仅适用于 macOS 未提及 未提及 不支持 Windows 系统
Crux 无桌面目标 未提及 未提及 实际不支持桌面 GUI 开发,仅用于移动和 Web
Cushy 部分支持 示例代码有错误,运行时产生大量 Vulkan/DirectX 12 错误,Windows Narrator 无法识别内容
CXX-Qt 链接错误,无法运行 未提及 未提及 安装 Qt 需注册,示例代码有 1058 个链接错误
Dioxus 通过 WebView2/WebKitGTK 支持桌面开发,类似 React,文本和 IME 功能正常
Dominator 仅用于 Web 未提及 未提及 无桌面支持
egui 部分支持 设置简单,默认字体不支持日语字符,Tab 键选择汉字时被吃掉
Floem 用于 Lapce IDE,布局构建方式奇怪,缺乏可访问性和 IME 支持
fltk 需额外 crate 布局系统不佳,添加组件方式不友好
flutter_rust_bridge 部分支持,但状态管理混乱 部分支持,但状态管理混乱 与 Flutter 集成复杂,输入字段状态管理有问题
Freya 依赖旧版本 Dioxus,渲染和文本识别存在问题
fui qmake 错误,无法构建 未提及 未提及 缺乏文档,构建失败
GemGui 技术上可用,但依赖问题多 未提及 未提及 依赖 Python,运行方式繁琐
GPUI 缺乏基本文本输入部件,文档和安装不完善
GTK 3 不再维护 未提及 未提及 已过时
GTK 4 窗口装饰和可访问性存在问题
Iced 受 Elm 启发,在可访问性和 IME 支持上有缺陷
imgui 与游戏引擎结合较好,但初始设置繁琐,支持多种渲染器导致选择困难
KAS 教程过时,状态管理设计不清晰
kittest 仅用于测试 未提及 未提及 仅支持 egui 测试
Leptos 仅用于 Web 未提及 未提及 Web 前端框架,原生 GUI 支持不足
lvgl C 依赖问题 未提及 未提及 配置在 Windows 上有问题
Makepad 部分支持 缺乏文档,可访问性支持差
masonry 内容可识别但位置错误 是,但有临时乱码 API 使用不太方便
Maycoon 无文本输入部件 未提及 未提及 太新,功能不完整
Pax 无 Windows 支持 未提及 未提及 仅支持 macOS
qmetaobject 不支持 windows - msvc 未提及 未提及 与特定目标不兼容
relm 使用不再维护的 GTK 3 未提及 未提及 依赖过时库
Relm4 基于 GTK 4,继承其问题
Ribir 部分支持,但状态管理混乱 部分支持 状态管理机制有问题
Rinf 不使用 Rust 构建 GUI 未提及 未提及 不符合调研需求
rui 状态管理可能较繁琐
Slint 部分支持 有自己的 DSL,数据绑定功能巧妙,默认字体可能存在问题
Tauri 部分支持 前端与后端通信存在问题,缺乏类型安全
tinyfiledialogs 非通用 GUI 库 未提及 未提及 功能有限,无法完成任务
Tk 安装和使用复杂,依赖外部库
Vizia 结构可识别但内容不可识别 部分支持 文本字段聚焦时样式有问题
WebRender 太低级,不适用于 GUI 开发 未提及 未提及 无 GUI 组件,是低级别图形库
windows 不熟悉 Win32 API 未提及 未提及 缺乏 GUI 开发指导
WinSafe 手动布局不佳,存在窗口创建时序问题
Xilem 内容可识别但位置错误 是,但有临时乱码 缺乏版本管理

本次调研涵盖 43 种 Rust GUI 库,各库在功能、易用性、可访问性和 IME 支持等方面表现差异较大。作者推荐了几个表现较好的库:喜欢 CSS 布局可选 Dioxus;青睐 DSL 驱动的用户可选择 Slint;想避免 DSL 和宏,只用常规 Rust 代码的可考虑 egui;愿意早期投资的可关注 Xilem。虽然没有绝对完美的选择,但相比 2021 年,如今有更多合理的选项可供开发者选择。

原文:https://www.boringcactus.com/2025/04/13/2025-survey-of-rust-gui-libraries.html

dotter:管理 dotfiles

dotter 是一个用 Rust 编写的 dotfile 管理器和模板生成器。其主要目的是解决管理和部署 dotfiles 时遇到的问题,提供灵活的配置和自动模板化或符号链接到目标位置的功能。

  • 解决传统 dotfiles 管理问题:传统的使用 ln -s 进行符号链接的方式在管理大量 dotfiles 时存在诸多问题,如难以跟踪文件来源、在新机器上设置繁琐以及无法处理不同机器之间的差异。Dotter 旨在解决这些问题。
  • 灵活配置与自动部署:通过提供灵活的配置,Dotter 可以自动将 dotfiles 模板化或符号链接到目标位置。
  • 支持钩子脚本:在部署和撤销部署前后,可以执行预定义的钩子脚本,以满足特定的需求。
  • 缓存机制:使用缓存文件来记录已部署的文件信息,方便撤销部署操作。
  • 模板化支持:支持使用模板文件,根据不同的变量生成不同的配置文件。
  • 详细的日志输出:支持不同级别的日志输出,方便调试和查看操作过程。

Github 仓库:https://github.com/SuperCuber/dotter

rust-analyzer 2025-04-14 (v0.3.2379) 发布

此次更新包含新功能“Locate child modules” 命令;修复了多个问题,如虚假的无效转换诊断等;还进行了多项内部改进,像降低 drop glue info 的冗长性、切换到 Rust 1.86 等。

原文:https://rust-analyzer.github.io/thisweek/2025/04/14/changelog-281.html

--

From 日报小组 Yuan YQ

社区学习交流平台订阅:

728x90