nodegui
Avalonia
Our great sponsors
nodegui | Avalonia | |
---|---|---|
17 | 254 | |
8,690 | 23,381 | |
0.3% | 2.6% | |
7.6 | 9.9 | |
23 days ago | 6 days ago | |
C++ | C# | |
MIT License | 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.
nodegui
-
Brig: A user interface toolkit for Node.js, which is based on Qt for rendering
This looks like it hasn't been maintained in years but there's a modern equivalent in NodeGUI [1] which also has React/Svelte/Vue implementations. Unfortunately it requires a custom build of Node that merges the libuv and Qt6 event loops so YMMV.
It actually inspired me to write my own implementation with Svelte on top of QuickJS and Qt Widgets but the task of wrapping the entire Qt6 API in Rust proved to be intractable once I found out that most methods weren't marked Q_INVOKABLE and thus couldn't be called via reflection (requiring manual wrapping). Providing a `Document.createElement` API that created Qt Widgets with working attributes and event handling worked surprisingly well though!
-
Does anybody have trouble running NodeGui projects? Does 'nodegui-starter' repo work for you?
1: Can't run with the repo 'nodegui-starter' #972
Hi, so this NodeGui library for building apps with native components is something I really want to get into, but, it does not work for me.. so I am starting this thread to check with yous (I depleted google results) if any one of you have tips or workarounds I can use. I wish to build a desktop app, but I really do not want to bundle a web browser for that purpose and NodeGui seems perfect.
-
Neutralinojs - Alternativa para o Electron
NodeGUI
-
Electron Adventures: Episode 75: NodeGui React
Let's continue exploring Electron alternatives. This time, NodeGui. NodeGui uses Qt5 instead of Chromium, so we'll be leaving the familiar web development behind, but it tries to not be too far from it, as web development is what everyone knows.
- How do you create a cross-platform GUI without using Electron?
-
Are we GUI Yet? The state of building user interfaces in Rust
(Disclaimer: My knowledge of Rust very limited, but I have quite a bit of experience with getting Qt/KDE classes to work with other languages.)
You are absolutely right. The effort to be acceptable bindings for Qt would be a tiny fraction of the cost compared to building a whole new Rust native GUI library.
Qt is huge set of libraries with an equally huge API. But there are a lot of shortcuts and smart ways of approaching the problem to get what you want out of Qt for minimum effort.
Bindings like PyQt and even PySide go for the nuclear option of generating bindings for the whole Qt API and trying to match the C++ API in style too. This is an absolutely massive huge task. Also, getting people to contribute to an open source bindings project is hard. Getting people to contribute to a bindings generator is even harder.
NodeGui https://github.com/nodegui/nodegui, Qt bindings for Nodejs, on the other hand takes a very different approach which in one way is low-tech but I think is actually very smart. I'll summerise the differences:
* It focuses on Qt Widgets first. This greatly reduces the amount of work to the parts that people actually need. (BTW, if you just want QML and Rust back-end then Jos van den Oever's work at https://invent.kde.org/sdk/rust-qt-binding-generator has probably got you covered already.)
-
Todo list of development tasks
There is actually a new GUI framework based out of Qt (a C++ GUI framework) that I have found recently : https://docs.nodegui.org/
-
Signal Desktop Beta 5.0.0 launches, bringing support for creating and editing groups, improved voice message playback and cleaned up visuals
How about porting to Nodegui which is javascript qt and might allow reusing all the non-ui bits?
I'd probably start by looking at Nodegui which is a qt based gui on top of node so much if the javascript code could be reused.
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.
-
AvaloniaUI: Create Multi-Platform Apps with .NET
Do you mean accessibility? I did notice disappointing non-native-like behaviours when I tried typing in an AvaloniaUI textbox but I'm hopeful they will manage to solve that and other issues.
For example, pressing a space will always introduce a new item in the undo/redo history [0] which isn't how native textboxes work.
[0] https://github.com/AvaloniaUI/Avalonia/blob/942901c624df73b7...
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]
- 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.
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.
-
Crux: Cross-platform app development in Rust
> I don't see any other way to go trully multi platform without making separate UI for Android and iOS.
What are some alternatives?
Uno Platform - Build Mobile, Desktop and WebAssembly apps with C# and XAML. Today. Open source and professionally supported.
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.
WPF - WPF is a .NET Core UI framework for building Windows desktop applications.
Eto.Forms - Cross platform GUI framework for desktop and mobile applications in .NET
MahApps.Metro - A framework that allows developers to cobble together a better UI for their own WPF applications with minimal effort.
Gtk# - Gtk# is a Mono/.NET binding to the cross platform Gtk+ GUI toolkit and the foundation of most GUI apps built with Mono
Xamarin.Forms - Xamarin.Forms Official Home
Fluent.Ribbon - WPF Ribbon control like in Office
Windows UI Library - Windows UI Library: the latest Windows 10 native controls and Fluent styles for your applications
MudBlazor - Blazor Component Library based on Material design with an emphasis on ease of use. Mainly written in C# with Javascript kept to a bare minimum it empowers .NET developers to easily debug it if needed.
MaterialDesignInXamlToolkit - Google's Material Design in XAML & WPF, for C# & VB.Net.
Modern UI for WPF - MUI - Modern UI for WPF