Our great sponsors
-
Avalonia
Develop Desktop, Embedded, Mobile and WebAssembly apps with C# and XAML. The most popular .NET UI client technology
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
LiveCharts2
Simple, flexible, interactive & powerful charts, maps and gauges for .Net, LiveCharts2 can now practically run everywhere Maui, Uno Platform, Blazor-wasm, WPF, WinForms, Xamarin, Avalonia, WinUI, UWP.
-
Uno Platform
Build Mobile, Desktop and WebAssembly apps with C# and XAML. Today. Open source and professionally supported.
-
git-credential-manager
Secure, cross-platform Git credential storage with authentication to GitHub, Azure Repos, and other popular Git hosting services.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
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
But I think some of this stuff is already handled in Avalonia ecosystem like https://github.com/Mapsui/Mapsui, https://github.com/beto-rodriguez/LiveCharts2 and few others...
But I think some of this stuff is already handled in Avalonia ecosystem like https://github.com/Mapsui/Mapsui, https://github.com/beto-rodriguez/LiveCharts2 and few others...
- https://gitlab.com/sciter-engine/sciter-js-sdk/-/tree/main/b... - Skia backend.
You can load in usciter this document:
https://gitlab.com/sciter-engine/sciter-js-sdk/-/blob/main/s...
It shows pretty large colorized texts so you can estimate how Direct2D and Skia handle GPU accelerated text rendering. For these two binaries the difference is only in graphics used - Direct2D and Skia.
And Uno Platform (https://platform.uno/) is akin to React Native in terms of native controls usage.
- You still have the usual deployment challenges for each platform: desktop installers; macOS requires notarization; iOS requires App Store review. For all of that, Avalonia has excellent docs [3] and there are supporting libraries [4].
- [1] I created FitEdit. https://github.com/endurabyte/FitEdit/
This source code:
https://github.com/servo/webrender/blob/master/wr_glyph_rast...
suggests to me that the glyph rasterization (which is the CPU-limiting factor for text rendering) in WebRender (which is the new FF 93+ GPU-accelerated rendering engine) is implemented in Rust and to be run on CPU.
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/
WPF and Xamarin dev here who wrote a new (not ported) codebase on Avalonia.
- Avalonia has a guide just for people like you and me [1].
- Avalonia's flavor of XAML has small divergences from WPF that will have you hitting their docs often. There are some nice quality-of-life improvements, for example you can bind a Button click handler directly to a method without ICommand. The major concepts are the same e.g. data binding, dependency properties.
- Coming from WPF, it's possible you've used MVVM and dependency injection. You'd be going against a strong cultural grain to not use them in Avalonia. But I would be surprised if your WinForms app is architected remotely similarly, so it may be a design challenge extracting coherent ViewModels and properties from the ball of mud that many WinForms apps become.
- For macOS, read up on notarization [2] and, if you're publishing to the Mac App Store, the review process.
- I recommend starting with example apps (look in the Showcase) or with the Avalonia template solution which just runs out of the box.
- The Avalonia team iterates quickly. Expect to upgrade NuGets frequently, and don't get too far behind. There was recently a big jump from version 10 to 11. Good for you for starting after that.
- Not Avalonia specifically but if you're not used to .NET Core check out #nullable enable. Can't live without it now, but was confusing at first.
- Be sure to check out all of the official and community libraries [3]. I bet my design big on `ReactiveUI` and it's gone well.
[1] https://docs.avaloniaui.net/docs/get-started/wpf/
[2] https://docs.avaloniaui.net/docs/deployment/macOS
[3] https://github.com/AvaloniaCommunity/awesome-avalonia
Related posts
- Dezvoltare aplicatie desktop
- Using V11 and CommunityToolkit. How do I navigate to another UserControl or whatever is recommended?
- How To Update Picker To Property Value On Load
- Following the Todo App tutorial, VS22 templates are missing files?
- Avalonia UI Community Q&A. We talked about themes, v11, MAUI Hybrid and much more.