Azul
Avalonia
Azul | Avalonia | |
---|---|---|
26 | 254 | |
5,814 | 23,749 | |
0.3% | 1.3% | |
7.1 | 9.9 | |
2 months ago | 7 days ago | |
Rust | C# | |
Mozilla Public License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Azul
-
AvaloniaUI: Create Multi-Platform Apps with .NET
Not sure what you mean but WebRender powers Firefox which definitely works on the desktop.
You can use it to build desktop UI frameworks - see for example https://azul.rs/
-
Servo, the parallel browser engine written in Rust
I'd been wanting to see this, preferably with JS being optional, and just allowing direct DOM access.
I initially thought this was what Azul was, but it's only just using Servo's WebRender compositor, and rolls its own CSS parser, DOM, and layout engine, so it doesn't benefit from most of the work done on Servo, and supports less CSS features.
https://github.com/fschutt/azul
-
Is RUST a good choice for building web browsers?
Both Servo and Fifefox make use of webrender, which is an awesome piece of tech and is well suited to render a web page. Some GUI projects attempted to use webrender directly as well, like Azul and moxie-native
-
Digital Audio Workstation Front End Development Struggles
> But no one is saying, "Hey I have a CSS 2.1 compliant rasterizer and compositor that you can use in your C++ or Rust environment!" are they?
There’s actually quite a lot of interesting work going on in that general space, has been in various forms for some years. A couple that immediately spring to mind:
• Azul <https://azul.rs/> builds on WebRender, as used in Firefox. I haven’t looked at it for a few years, but it looks to have grown quite interesting now.
• Blitz <https://github.com/DioxusLabs/blitz> is based on from-scratch implementations of CSS layout and rendering, and wgpu rendering. It’s not usable yet, but is a very interesting concept. If one happens to be familiar with React Native: it’s kinda like that, or React Native Web.
-
XUL Layout has been removed from Firefox
Azul[1] was my solution for that, it was based on WebRender. I didn't get around to finish it in 2019, but I will work on it this year, maybe I'll get it to be mature enough to post it here.
> wide portability (at least Windoze, Linux, MacOS, iOS, Android, embedded: Azul is Windows-Linux-Mac only, don't underestimate the effort to properly port something to a new platform
> "though a Vulkan-based renderer can be made to run pretty much anywhere": WebRender is OpenGL + using software rendering as a fallback
> a permissive open source license: MPL-2.0
> a C interface/wrap to allow a wide programming language binding support: yes
> and an easily extensible and themable set of basic widgets: also yes
[1] https://azul.rs/
-
Rust GUI framework
There is Iced which is used by system76 in Pop!_OS, Druid [DISCONTINUED], GTK-rs, Relm, Azul and Tauri. Personally I would use Tauri for its speed using the OS's native web render, documentation of use with things such as Sveltekit and the ability to make UI's using JS, CSS and HTML. Tauri similarly to Electron whilst being far faster. But its up to personal preference really. There aren't any solid "go to" options at the moment.
-
Servo 2023 Roadmap
Sounds like you may be interested in azul not exactly servo based but on projects that originate from servo. Also this is not a typical WebView, for example it does not use HTML but uses DOM to define it's UI, and there is no JS engine in there.
-
Help with webrender.
Azul uses webrender. But your "glue" program is like half the web browser. You also need a vector graphics library to render websites. Webrender only does boxes, but not complex SVG paths. Once the plan was to use pathfinder, but mozilla fired the dev and they still using an old version of chromium's skia for that.
-
Rust: State of GUI, December 2022 – KAS blog
One day I'll get around to finish my library Azul [1]. Hopefully.
[1] https://azul.rs/
-
Pure Rust GUI Landscape
azul
Avalonia
-
Industrial Controller? Windows or Linux?
You might also want to look at AvaloniaUI[0] for a cross platform .NET GUI library. It is similar to WPF but much nicer to work with.
[0] https://github.com/AvaloniaUI/Avalonia
- Avalonia – Farewell to the .NET Foundation
-
AvaloniaUI: Create Multi-Platform Apps with .NET
Production user here. There's no money gotchas. They're above reproach. In fact, I've received considerable free support from their devs on GitHub Issues [1].
The Avalonia business model is based on selling XPF, which runs WPF (Windows-only) apps on other platforms. That's very interesting to big corps with existing codebases.
See my comment [2]
[1] https://github.com/AvaloniaUI/Avalonia/issues
[2] https://news.ycombinator.com/item?id=39246988#39249128
-
.NET on Linux: What a Contrast
Yes, but the portable GUI frameworks by Microsoft themselves are generally not very good, and they tend to be abandoned after a couple of years.
Avalonia is developed outside of the Microsoft corporate madness and seems to be slowly becoming the defacto cross-platform framework because it is expected to last a bit longer than a manager's attention span: https://avaloniaui.net/
- Too many Mac apps are being built with Electron
-
Ask HN: Do you have a problem you'd pay to have taken away?
Not my comment, but relevant here "The problem with compiling Skia to WASM is you'll lose any benefits of hardware graphics acceleration on the device."
(From https://github.com/AvaloniaUI/Avalonia/discussions/6831#disc... )
- Dezvoltare aplicatie desktop
- Ask HN: How to create web, mobile, and desktop apps from a single code base?
-
.NET 8 – .NET Blog
It's a bit of a hit and miss as of today. CLI, back-end and natively compiled libraries (think dll/so/dylib or even .lib/.a - you can statically link NAOT binaries into other "unmanaged" code) work best, GUI - requires more work.
Avalonia[0] and MAUI[1] have known working templates with it, but YMMV.
[0] https://github.com/lixinyang123/AvaloniaAOT / https://github.com/AvaloniaUI/Avalonia/ / honorable mention https://github.com/VincentH-Net/CSharpForMarkup
[1] https://github.com/dotnet/maui (try out with just true in csproj - it is known to work e.g. on iOS)
-
One Game, by One Man, on Six Platforms: The Good, the Bad and the Ugly
For desktop, Avalonia, hands down.
https://avaloniaui.net/
Open source, powered by Skia, backed by JetBrains, and quite battle-tested at this point for small to medium-sized apps. In theory perfectly capable for enterprise as well, since it's basically a spiritual successor to WPF, which has been an industry standard for about 15 years.
They're diving into mobile and WASM well, but that's more of a recent effort and I haven't tested that yet.
What are some alternatives?
conrod - An easy-to-use, 2D GUI library written entirely in Rust.
Uno Platform - Build Mobile, Desktop and WebAssembly apps with C# and XAML. Today. Open source and professionally supported.
wxRust - A Rust binding of the wxWidgets cross platform toolkit.
Introducing .NET Multi-platform App UI (MAUI) - .NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
gtk - DEPRECATED, use https://github.com/gtk-rs/gtk3-rs repository instead!
WPF - WPF is a .NET Core UI framework for building Windows desktop applications.
orbtk - The Rust UI-Toolkit.
Eto.Forms - Cross platform GUI framework for desktop and mobile applications in .NET
Native Windows GUI - A light windows GUI toolkit for rust
MahApps.Metro - A framework that allows developers to cobble together a better UI for their own WPF applications with minimal effort.
relm - Idiomatic, GTK+-based, GUI library, inspired by Elm, written in Rust
Gtk# - Gtk# is a Mono/.NET binding to the cross platform Gtk+ GUI toolkit and the foundation of most GUI apps built with Mono