awesome-avalonia
Uno Platform
Our great sponsors
awesome-avalonia | Uno Platform | |
---|---|---|
6 | 130 | |
1,786 | 8,393 | |
7.9% | 1.6% | |
7.7 | 10.0 | |
7 days ago | about 21 hours ago | |
C# | ||
- | Apache License 2.0 |
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.
awesome-avalonia
-
AvaloniaUI: Create Multi-Platform Apps with .NET
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
-
So Xamarin.Forms is close to end of support, while MAUI is not really production ready, what shall I do?
I hear you. We’ve a decent datagrid and a load of OSS components that you can find here.
-
Open source project that use avalonia
You can see a lot here and, for example, here
-
🤔 Thoughts on future of MAUI for desktop software? Comparing to WPF + personally weighing up "cross-platform desires" -vs- pragmatic productivity"
You can find more 3rd party controls here for example : https://github.com/AvaloniaCommunity/awesome-avalonia
-
If you were going to build a cross plat app in 2022 from scratch which would you pick architecturally speaking
More about Avalonia production apps here.
-
Modded games are the true last hurdle for Linux gaming
You could use Avalonia. This is xaml crossplatform and will be better supported than wpf. You can get the templates for dotnet new Avalonia. It's xaml, fast templates and there is a designer op github, can't fidn it atm. Some examples
Uno Platform
-
AvaloniaUI: Create Multi-Platform Apps with .NET
And Uno Platform (https://platform.uno/) is akin to React Native in terms of native controls usage.
-
Ask HN: Cross-platform GUI apps in 2024
also UNO Platform (C#) which is suitable for simple or complex cross platform business applications : https://platform.uno/
-
Lee's opinions on Umbraco + naming things
Why is this a problem? At face value, it isn't a problem. Taking a step back at a more global level, what does "uComponents" mean to the rest of the world? Many of the .NET developers who heavily use NuGet may have not even heard of Umbraco CMS, let alone a 3rd party plugin for it. What if people from the Uno Platform community are browsing NuGet for some kind of components extension library? You can see, this could get confusing outside the scope of the Umbraco community/ecosystem. On top of this, uComponents was developed against Umbraco v4, with its last release in 2016, now it's there to be lingering on the NuGet repository until the end of time, set in stone.
- A Proposal for an asynchronous Rust GUI framework
-
Dart 3.1 and a retrospective on functional style programming in Dart
Not a fan of XAML after trying to get into it, but there is Uno Platform. It wraps native widgets on mobile, just like React Native (which is good for accessibility), and uses C#. https://platform.uno/
My guess is that it's mainly focused on mobile. On Windows, it has no overhead (behaving like a normal WinUI 3 app), on macOS I think it uses Catalyst by default (which was developed by Apple to make more iOS apps available for Mac desktops) and on Linux it draws its own widgets that the devs try imitating the GTK style with.
On Android and iOS, it just uses the native widgets which I think is a better experience so you can see my reasons for guessing it's mobile-first. That may or may not be what you want.
-
What is the best for Develop Cross-platform Application ?
5- Uno
- Do you guys think this programmer is right about dotnet?
-
Going from React to Vanilla JavaScript
> ...building UIs with the document/element api
When the whole premise is flawed, JSX or not, does it really matter if there is a better or worse way of misusing a technology not meant for UIs?
Leave HTML and JavaScript to Wikipedia and other hypertext document libraries.
Unfortunately, WASM is not there yet, but people are trying: https://platform.uno.
-
Xamarin Forms to Uno Platform migration: databinding techniques
Uno Platform is fully open source, under Apache 2.0 license. You can see the license here https://github.com/unoplatform/uno/blob/master/License.md
-
Cross-platform desktop applications
Also, .NET 7 brought a lot of stability so I am confident you'll have a better experience. I hope to hear back from you. It would be great to have any feedback at our repo - https://github.com/unoplatform/uno/discussions
What are some alternatives?
Avalonia - Develop Desktop, Embedded, Mobile and WebAssembly apps with C# and XAML. The most popular .NET UI client technology
managed-midi - [Past project] Cross-platform MIDI processing library for mono and .NET (ALSA, CoreMIDI, Android, WinMM and UWP).
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.
Jaya - Cross platform file manager application for Windows, Mac and Linux operating systems. (planned mobile support)
Flutter - Flutter makes it easy and fast to build beautiful apps for mobile and beyond
maui-linux - .NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
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.
avalonia-dotnet-templates - Avalonia Templates for `dotnet new`
Mono - Mono open source ECMA CLI, C# and .NET implementation.
WolvenKit - Community Mod editor/creator for REDengine games.
Electron.NET - :electron: Build cross platform desktop apps with ASP.NET Core (Razor Pages, MVC, Blazor).