slint-ui/slint

Slint is an open-source declarative GUI toolkit to build native user interfaces for Rust, C++, JavaScript, or Python apps.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 37 seconds ago
Added to GitGenius on September 2nd, 2026
Created on May 4th, 2020
Open Issues & Pull Requests: 849 (+0)
GitHub issues: Enabled
Number of forks: 991
Total Stargazers: 23,746 (+0)
Total Subscribers: 121 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 10.6 hours
Mean response time: 35.4 days
90th percentile: 32.8 days
Tracked items: 2,613

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 69% of open issues come from outside the core team, a mix of external reports and the maintainers' own roadmap. Work labelled "need triaging" is answered fastest, typically in about 5 hours, while "a:widgets" waits about 2 days. 55% of tracked open issues have had no activity in three months. Only 5% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 722
New in 7 days: 27
Closed in 7 days: 24
Avg open age: 718 days
Stale 30+ days: 633
Stale 90+ days: 543

Recent activity

Opened in 7 days: 24
Closed in 7 days: 20
Comments in 7 days: 15
Events in 7 days: 74

Top labels

  • need triaging (319)
  • a:language-slint (193)
  • a:widgets (174)
  • a:text (171)
  • a:compiler (161)
  • a:backend-winit (127)
  • priority:low (122)
  • a:runtime (109)

Detailed Description

Slint is a declarative GUI toolkit that lets developers build native user interfaces for Rust, C++, JavaScript, or Python applications.

Slint addresses the challenge of creating consistent, performant user interfaces across multiple programming languages by providing a unified declarative language for UI definition. Rather than writing UI code in each language separately, developers write interface definitions in Slint's declarative syntax, which then compiles to native code for the target platform. This approach separates UI logic from application logic and enables the same interface design to work across different language ecosystems. The toolkit generates native widgets and handles rendering efficiently, making it suitable for both desktop and embedded applications.

Slint works well for teams building cross-language applications or those wanting to maintain a single UI codebase while supporting multiple programming languages. It suits projects where UI consistency matters and where developers want to avoid rewriting interfaces for each language binding. The declarative approach appeals to those familiar with modern UI frameworks that emphasize clear separation between interface definition and business logic. Projects targeting embedded devices or requiring tight performance characteristics benefit from Slint's native compilation model rather than interpreted or web-based alternatives.

The project maintains active development with regular commits across its core Rust implementation and language bindings. Work spans the compiler and code generation infrastructure, the declarative language parser and type system, and platform-specific rendering backends for desktop and embedded targets. The maintainers actively address issues and pull requests, indicating sustained engagement with the user community. Development extends to tooling support, including an LSP server for editor integration and examples demonstrating usage patterns across supported languages.