Introducing .NET Multi-platform App UI (MAUI)
Roslyn
Introducing .NET Multi-platform App UI (MAUI) | Roslyn | |
---|---|---|
273 | 159 | |
21,578 | 18,551 | |
0.9% | 0.7% | |
9.9 | 10.0 | |
5 days ago | about 7 hours 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.
Introducing .NET Multi-platform App UI (MAUI)
- Developers are not happy with .NET MAUI, but nobody in the team cares about it
-
Android predictive back support
I am migrating XF app into MAUI and writing a simple Navigation framework because Prism doesn't work well and I didn't use anything advanced anyway. So, I am surfing the code of MAUI to intercept all the back buttons, etc. I haven't found a single mention of apis related to predictive back "RegisterOnBackInvokedCallback", "OnBackInvokedDispatcher", "OnBackPressedDispatcher", "AddCallback", "android:enableOnBackInvokedCallback" Also I don't see any issue on github that would say "Support Android Predictive back". Only one kinda related https://github.com/dotnet/maui/issues/8680
-
Group List View And Collection View are not working In .NET MAVI For IOS
Below issue is still reproducing in Maui .net7.0 version also. #10163
-
.NET 8 – MAUI
Maui is Open Source, MIT License
https://github.com/dotnet/maui
.NET is Open Source
https://dotnet.microsoft.com/en-us/platform/open-source
I do share your skepticism of Microsoft, but it looks like the economics and cash flow dynamics have changed drastically after the advent of the cloud.
Microsoft is more focused on getting developers onto its ecosystem and help them with open source projects with the hope that they will use its Azure cloud services and bring in the money.
My skepticism is a bit relaxed now and I have no qualms using .NET.
I hope I am not wrong.
-
.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)
-
What's New in Final RC for .NET 8, .NET MAUI, Asp.net Core and EF8
While this is the quite endorsed by the community: https://github.com/dotnet/maui/discussions/339
I think the fundamental issue is that desktop Linux is way too fragmented. Not only just GTK2/3 and Qt but you have GNOME, KDE, XFCE, Cinnamon and then you have X11, Xorg, Wayland...
To be honest, all those craps are why desktop Linux never took off. I'm very safe to say MAUI for Linux will eventually renders components off its own using framebuffer and hardware acceleration APIs such as OpenGL or Vulkan just because of the market fragmentations...
If desktop Linux truly wants to get the attention, it will need to unify. Fixing dependency hell using Flatpak is the right direction.
There is an existing old fork of MAUI for Linux that uses GTK: https://github.com/jsuarezruiz/maui-linux
- MSFTbot: “We've moved this issue to the Backlog milestone”
-
Every other tab in Shell doesn't show Shell.TitleView on Android
First I came across this Github issue: https://github.com/dotnet/maui/issues/9687 - According to this issue, this is a known bug for MAUI iOS, but it works OK for MAUI Android. As I said, I target Android only and I have the exact same issue. It's apparantly fixed with some of the latest versions for MAUI but the problem still occurs to me even with MAUI version:
-
Bindable properties issue with Custom controls
I saw this and tried to imitate (ofc my lack of experience wouldn't allow me to do it in the exact way). Already found some documentation that allowed to understand better. Thanks for the insigh.
-
ASP.NET Core - how to create an IdentityUser account from an external login
I implemented the Auth controller following this sample code from Microsoft.
Roslyn
-
The search for easier safe systems programming
The C# compiler has an MIT license and is available on GitHub, which is about as FOSS as it gets.
https://github.com/dotnet/roslyn
-
Asynchronous Programming in C#
My understanding is that the .NET team is working toward this with Interceptors: https://github.com/dotnet/roslyn/blob/main/docs/features/int...
-
The Performance Impact of C++'s `final` Keyword
.NET is a little smarter about switch code generation these days: https://github.com/dotnet/roslyn/pull/66081
-
Generating C# code programmatically
Recently, while creating some experimental C# source code generators (xafero/csharp-generators), I was just concatenating strings together. Like you do, you know, if things have to go very quickly. If you have a simple use case, use a formatted multi-line string or some template library like scriban. But I searched for a way to generate more and more complicated logic easily - like for example, adding raw SQL handler methods to my pre-generated DBSet-like classes for my ADO.NET experiment. You could now say: Use Roslyn and that's really fine if you look everything up in a website like SharpLab, which shows immediately the syntax tree of our C# code.
- Still No REPL for .NET Core in Visual Studio
-
Roslyn VS Metalama.Compiler - a user suggested alternative
2 projects | 7 Dec 2023
- Por debaixo do capô: async/await e as mágicas do compilador csharp
-
Use Case Driven Development with Low-Code
At runtime, the Case C# expressions are embedded into a function and dynamically compiled into an assembly using the Roslyn C# compiler. Then the function that contains the expression is called (e.g. CaseAvailableFunction.Availablle()). At runtime, the function provides various methods to access stored case values as well as the current input data.
- Interceptors
- Tentative C# 12 feature list · dotnet/roslyn · Discussion #69074
What are some alternatives?
Flutter - Flutter makes it easy and fast to build beautiful apps for mobile and beyond
Mono-basic - Visual Basic Compiler and Runtime
Avalonia - Develop Desktop, Embedded, Mobile and WebAssembly apps with C# and XAML. The most popular .NET UI client technology
MSBuild - The Microsoft Build Engine (MSBuild) is the build platform for .NET and Visual Studio.
WPF - WPF is a .NET Core UI framework for building Windows desktop applications.
F# - Please file issues or pull requests here: https://github.com/dotnet/fsharp
maui-linux - .NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
ClojureCLR - A port of Clojure to the CLR, part of the Clojure project
Uno Platform - Build Mobile, Desktop and WebAssembly apps with C# and XAML. Today. Open source and professionally supported.
Roslyn-linq-rewrite - Compiles C# code by first rewriting the syntax trees of LINQ expressions using plain procedural code, minimizing allocations and dynamic dispatch.
react-native-windows - A framework for building native Windows apps with React.
Bridge.NET - :spades: C# to JavaScript compiler. Write modern mobile and web apps in C#. Run anywhere with Bridge.NET.