marc2332

marc2332/freya

Rust MIT Dev Tools Single maintainer risk

Cross-platform and non-web GUI library for 🦀 Rust powered by 🎨 Skia.

2.8k stars
127 forks
active
GitHub +15 / week

2.8k

Stars

127

Forks

33

Open issues

30

Contributors

AI Analysis

Freya is a cross-platform, declarative GUI library for Rust that uses Skia for rendering, enabling developers to build native desktop applications with a component-based, reactive model. It serves developers who need a native GUI framework alternative to web-based solutions, and is best suited for teams comfortable with Rust and seeking fine-grained control over rendering and performance rather than rapid prototyping with established frameworks.

Dev Tools Library Discovery value: 6/10
Documentation 7/10
Activity 9/10
Community 7/10
Code quality 6/10

Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.

Overall score 7/10

AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.

rust-gui skia-rendering cross-platform declarative-ui desktop-framework
Actively maintained Well documented MIT licensed Niche/specialized use case
Deep Analysis · Based on README and public signals
3d ago

Rust GUI library with Skia rendering, active development post-major rewrite, modest adoption outside core contributor base

Freya is a cross-platform, declarative GUI framework for Rust built on Skia graphics. It targets developers seeking native performance and Rust type safety for desktop applications. The project is actively maintained and recently underwent substantial internal restructuring (PR #1351). Adoption appears concentrated among Rust enthusiasts and early-stage projects; production deployment at scale is not verified. It competes in a crowded Rust GUI space alongside iced, egui, and Azul.

Origin

Created July 2022 by marc2332, Freya emerged in the wave of Rust GUI experimentation. The project has iterated through component model redesigns and rendering approaches, most significantly a major rewrite that diverged main from the latest stable release, indicating evolving architectural direction.

Growth

Freya gained 2,807 stars over ~4 years with modest recent velocity (9 stars in 7 days as of 2026-07-07). Growth plateaued relative to larger competitors (iced ~30k, egui ~29k). The major rewrite suggests the maintainer is prioritizing technical direction over user-base growth, which may indicate quality-focused evolution or declining external momentum.

In production

Adoption not verified. No case studies, testimonials, or named production deployments mentioned in README. Discord community link suggests user engagement, but size and activity level unknown. The project appears primarily developer-community driven rather than backed by corporate adoption or documented enterprise use.

Code analysis
Architecture

Based on README, Freya uses a component trait-based model with hooks (use_state, use_animation, use_editable) reminiscent of React. It abstracts rendering via Skia and appears to support declarative UI construction via builder patterns. The recent large-scale rewrite suggests the architecture underwent non-trivial changes; the split between main and latest stable implies breaking shifts.

Tests

Codecov badge present in README (token visible) indicates CI testing infrastructure exists, but coverage percentage and test strategy are not documented in the provided README excerpt. Not further documented in README.

Maintenance

Last push 2026-07-06 (active as of evaluation date). Discord and GitHub Sponsors links present. However, the warning that main 'differs a lot from the latest stable release' due to PR #1351 rewrite suggests ongoing churn and potential instability in trunk. Update frequency and issue response time are not evident from metadata alone.

Honest verdict

ADOPT IF: you are building a Rust desktop app, prioritize type safety and native rendering, accept pre-1.0 API surface risk, and can contribute to/support a smaller ecosystem. AVOID IF: you need production stability guarantees, require extensive third-party component ecosystem, depend on large community support forums, or need mature documentation at scale. MONITOR IF: you are evaluating Rust GUI long-term; Freya's post-rewrite trajectory will clarify whether it stabilizes or becomes yet another abandoned experiment.

Independent dimensions

Mainstream potential

4/10

Technical importance

6/10

Adoption evidence

2/10

Risks
  • Major rewrite on main branch creates instability and API fragmentation; upgrading beyond stable release carries breaking-change risk.
  • Adoption not verified in production; no evidence of use in shipping applications limits confidence in real-world fitness.
  • Smaller ecosystem relative to iced/egui means fewer libraries, examples, and community answers; hiring developers familiar with Freya will be difficult.
  • Single-maintainer dependency risk (marc2332 is primary contributor); project bus-factor is not transparent from metadata.
  • Skia dependency adds binary size and C++ build complexity compared to pure-Rust alternatives; cross-compilation and embedded scenarios may be constrained.
Prediction

Freya likely remains a specialized, moderately-adopted option for Rust GUI developers through 2027. The major rewrite suggests a bet on long-term architectural correctness; if stable release catches up and adoption grows 2–3×, it could challenge iced for second-tier mindshare. More likely: it serves as a reference implementation and attracts a permanent ~500–2k active user base while iced/egui dominate.

0 found this helpful

Newsletter

Get analyses like this every Monday

Free weekly digest of the most interesting open-source discoveries.

Languages

Rust
97.7%
CSS
0.8%
Astro
0.7%
Handlebars
0.5%
Nix
0.1%
Just
0.1%
JavaScript
0.1%
Fluent
0%

Information

Language
Rust
License
MIT
Last updated
21h ago
Created
48mo ago
Analyzed with
anthropic/claude-haiku-4-5

Stars over time

Loading…

Contributors over time

Top 100 contributors only — repos with more will plateau at 100.

Loading…

Similar repos

fschutt

fschutt/azul

Azul is a functional, reactive desktop GUI framework for Rust, C, and C++ that...

6.1k Rust Dev Tools
iced-rs

iced-rs/iced

Iced is a cross-platform GUI library for Rust that implements a functional...

30.9k Rust Dev Tools
longbridge

longbridge/gpui-component

GPUI Component is a Rust UI component library providing 60+ cross-platform...

12k Rust Dev Tools
not-fl3

not-fl3/miniquad

Miniquad is a lightweight, cross-platform graphics rendering library for Rust...

2k Rust Gaming
fyne-io

fyne-io/fyne

Fyne is a cross-platform GUI toolkit written in Go, enabling developers to...

28.4k Go Dev Tools
vs. alternatives
iced

iced (~30.9k stars) is 11× larger by GitHub metrics. Both use declarative/functional paradigms. Iced is Elm-inspired; Freya uses React-like hooks. Iced broader adoption; Freya more recent/experimental architecture.

egui

egui (~29.5k stars) dominates immediate-mode GUI space. Both cross-platform. egui favors retention/tooling ecosystem; Freya positions for native feel via Skia. egui wider adoption in tooling, VFX, games.

azul

azul (~6.1k stars, older, less active). Both Rust-native, declarative. Freya more active recently; azul appears to have stalled. Freya positioned as successor to azul's space.

fyne (Go)

fyne (~28.4k stars, different language). Similar cross-platform target, native look. Not direct competitor but shows addressable market scale; Freya's Rust angle is differentiation, not advantage.

gpui-component

gpui-component (~11.9k stars, Zed editor foundation). Closed-source runtime with public component library. More mature adoption (Zed production use), but Freya fully open-source and independent.