Not the Stephen Toub blog post I was waiting for, but I have no complaints.
(Stephen Toub writes the yearly “Performance improvements in .NET x” post, always before the GA release in November)
I have started using Avalonia, and even though I am still learning, I am very satisfied with it. There are growing pains obviously, but as you said, I have no confidence in Microsoft UI frameworks.
It’s a great text editor, yes. An IDE though, it is not. It gets close with various addons, but it’s still not the same experience.
MonoDevelop died for this.
(Disclaimer: I haven’t used MonoDevelop to know its quality, I’m just tempted by the idea of a free cross-platform .NET IDE. Microsoft took MonoDevelop, forked it into VS for Mac, left the former stagnate, and now is killing its closed-source descendant.)
Oh boy, now I need to find a new excuse to procrastinate on the project I want to start using Avalonia.
Well, for starters, WinUI 3 is Windows only (correct me if I’m wrong), while Avalonia supports Windows, MacOS, Linux, Android, iOS and WebAssembly.
The cross-platform solution that Microsoft advocates for is MAUI, which doesn’t support Linux. And it uses native controls, meaning you may encounter platform-specific bugs, while Avalonia renders the controls the same way everywhere using Skia (same approach with Flutter).
Please be civil towards other users. Language on the internet can be misrepresented resulting in hostility in an otherwise technical discussion. This goes to everyone involved, I’m just replying in this specific comment.
Related: check out this thread (at /c/dotnet) for opinions on Avalonia: https://programming.dev/post/38851
There doesn’t seem to be consensus for this move, things stay as they are.
Correct me if I 'm wrong, but I think it’s still the same situation since January 2020: the long-term-supported (LTS) Qt releases are available to commercial licensees only and KDE supports collections of patches for them. Which is a hassle for sure. But nothing has changed because a fork of Qt (worst case scenario) would demand massive manpower from KDE.
And the KDE Free Qt Foundation exists, so the Qt Company can’t close down the framework.
The Foundation has license agreements with The Qt Company, Digia and Nokia. The agreements ensure that the Qt will continue to be available as Free Software. Should The Qt Company discontinue the development of the Qt Free Edition under the required licenses, then the Foundation has the right to release Qt under a BSD-style license or under other open source licenses. The agreements stay valid in case of a buy-out, a merger or bankruptcy.
My bad, the link I sent was not about NativeAOT, just bundling all the dependencies together (also, it’s 4 years old). After a quick search, here’s a recent SO question that mentions that you can build .exe files
As for the filesize… please recheck the post under which we are commenting. :D
Does it effectively output a single binary?
Yes, that’s one of the points of NativeAOT, a self-contained single binary, exactly as Go does it.
Does it create some kind of clusterf*k and awkward packaging formats like other MS solutions such as UWP?
No, you can create .exe files.
Will it actually be deployable to a random fresh install of Debian 12 or Windows 10?
Yes, NativeAOT supports Windows, Linux and MacOS, x64 and Arm64.
What about compatibility with older systems?
Not sure about that, I suppose it depends on the targets each .NET version support. For example, .NET 8 will drop RHEL 7 and only RHEL 8 and later.
And to play devil’s advocate: this won’t work for all existing .NET applications. If you use reflection (which is AOT unfriendly), chances are that you will have to rework a ton of stuff in order to get to a point where NativeAOT works. There’s a middle solution though, called ReadyToRun, which has some advantages compared to running fully with the JIT compiler.
Thanks, I created a new post: https://programming.dev/post/71137
HARD REDIRECT: New submissions are not allowed in this community, ask the users to post at /c/dotnet
SOFT REDIRECT: Submissions still allowed, but a message is shown on the sidebar, asking users to post to /c/dotnet, unless their content is not suited there.
LEAVE AS IT IS: Two separate communities, no merging
Right now obviously the content feed and the users contributing are low enough so they could be merged effectively.
In case the Fediverse and this instance grow rapidly though, I think that 2 communities would be more beneficial: having a more active community about C#, with questions about the language, its syntax, each new feature introduced etc, while the .NET community would undoubtly see less content and focus more on the underlying framework, the toolchain, language-agnostic discussions… In my experience, this is how it worked on the subreddits of the same names.
Do you want to have a banner added on the sidebar, redirecting to /c/dotnet until we grow larger? Does Lemmy have a polling functionality (to ask the user opinions)? I couldn’t find anything.
Even though it is not specifically about C#, .NET is the underlying framework.
Some talks from yesterday have not yet been uploaded as separate videos, but they will probably be added in the playlist soon.