DotNetT2 Dark_1200x303

Let's talk about the evolution of Xamarin—.NET MAUI, which was shared Tuesday, May 19, at Microsoft Build.

Hello! 😍 Let me tell you that I am super excited and that is why I wanted to come running to write my post! And as you can see, the title does not say Xamarin but .NET MAUI. 😯 Well, in this article I want to make a short summary about what was shared Tuesday, May 19, at Microsoft Build about this news!

👀 What Will We See in .NET 6 in November 2021?

The first thing is to be clear that it is .NET Multi-platform App UI (MAUI).

MAUI is the evolution of Xamarin: it is a framework that will allow us to develop native user interfaces for mobile and desktop with the objective of developing native multi-platform user interfaces, on a unique project with shared code, using .NET.

We will see some key points such as improvement in performance, new options enabled like the Model-View-Update (MVU) pattern and facilities in the extension of controls.

But… What about Xamarin Forms Knowledge… Will We Have to Start from Scratch? 🤔

NO and absolutely NO😎 . The other good news is that we can transfer our Xamarin Forms knowledge such as our handling in XAML, the implementation of MVVM to the projects that we build in MAUI.

Similarly, Xamarin Forms will continue its evolution and improvements in the same release cycle, which is every six weeks until the release of MAUI with .NET 6, after which it will receive support for a year.

It Is Good to Clarify That… 📝

➖ Xamarin will NOT change names. MAUI is a new framework.

➖ You should NOT worry about the applications you have in Xamarin, as of the information presented at Microsoft Build. In my opinion, the learning curve will be quite simple, and in addition they spoke about some tools to streamline the migration process. So relax! 😎

➖ We can continue using Xamarin without problems. Quite the opposite in fact, we will have the joy of having the knowledge of a new platform even without knowing it, just from acquiring more Xamarin skills. 😎

This goes as a tip: Although we will be able to transfer our knowledge of Xamarin, MAUI is a new framework so it is important to keep abreast of the news about MAUI, catch up when releases come out and practice with them, so we will stay in step with the platform as it evolves.

What New Things Will We See?

The more time I spent watching the Microsoft Build video, the more excited I became!

Evolution of Xamarin Forms Libraries

Xamarin.Forms on .NET MAUI is System.MAUI and Xamarin.Essentials on .NET MAUI is System.Devices

Differences Between MAUI and Xamarin

Let’s look at the differences divided by classification. Highlighted in red are the changes that seem most relevant to me and some of my favorites.

  • In which Visual Studio will it be available?  1). Tool = Visual Studio 2019 | Xamarin Forms = Yes | .NET MAUI = Yes |  2). Tool = Visual Studio 2019 for Mac | Xamarin Forms = Yes | .NET MAUI = Yes | 3). Tool = Visual Studio Code | Xamarin Forms = No | .NET MAUI = Yes |

  • Platform differences 1). Platform = Android | Xamarin Forms = API 19+ | .NET MAUI = API 21+ | 2). Platform = iOS | Xamarin Forms = 9-13 | .NET MAUI = 10+ | 3). Platform = Linux support | Xamarin Forms = Community | .NET MAUI = Community | 4). Platform = macOS support | Xamarin Forms = Community | .NET MAUI = Microsoft | 5). Platform = Tizen support| Xamarin Forms = Samsung | .NET MAUI = Samsung | 6). Platform =  Windows | Xamarin Forms =UWP Microsoft WPF Community | .NET MAUI = Microsoft |

  • Feature differences 1). Feature = Renderers | Xamarin Forms = Tightly coupled to BindableObject | .NET MAUI = Loosely coupled, no Core dependencies |  2). Feature = App Models | Xamarin Forms = MVVM, RxUI | .NET MAUI =MVVM, RxUI, MVU, Razor | 3). Feature = Single project | Xamarin Forms =No | .NET MAUI =Yes | 4). Feature = Multi-targeting | Xamarin Forms =No | .NET MAUI =Yes | 5). Feature = Multi-window | Xamarin Forms =No | .NET MAUI =Yes |

  • Miscellaneous differences 1). Misc = .NET  | On Xamarin Forms = Xamarin.iOS, Xamarin.Android Mono, .NET Framework... | On. .NET MAUI = .NET6+| 2). Misc = Acquisition  | On Xamarin Forms = NuGet & Visual Studio Installer | On. .NET MAUI = .dotnet | 3). Misc = Project system  | On Xamarin Forms = Franken-proj | On. .NET MAUI = .SDK Style |   4). Misc = dotnet CLI  | On Xamarin Forms =No | On. .NET MAUI = Yes|

News Regarding the Structure / Management of Projects

🔹 Unique project

As we already know in Xamarin.Forms, the base structure is that we have a shared project and an additional project for each platform contained in the project.

This time we will have our most simplified project, allowing us to work only on a single project.

Translating to configuration, it would be something like this:

🔹 Easier Access to our Emulators and Devices

This is super nice! Now from the single project we can see all our devices or emulators in the same column.

🔹 Shared Resources in the Same Project

This amazed me! 😍😍 Just by adding our shared resources, the tool will manage the necessary images for each platform!

You no longer need to do the image conversions for each platform and dimension. (For example in Android we have the MDPI, XHDPI, among others) and in iOS we have the @ 2 and @ 3. We will no longer have to worry about this. Time saved!

🔹 Easy Access to Other Platforms

When we need to add code for a specific platform, we can do it in a much easier way, within that specific platform under the broader Platforms!

Other News

  • Simplified architecture in the implementation of Renderers.

    • Shell improvements.

    • Animation improvements. (For example: Its compatibility with multi-window.)

    • Dependency management aligned to Microsoft experience. (Same as ASP.NET Core.)

    • More and better tools for UI customization.

References

https://devblogs.microsoft.com/dotnet/introducing-net-multi-platform-app-ui/

https://javiersuarezruiz.wordpress.com/2020/05/19/aloha-maui/


LeomarisReyes
About the Author

Leomaris Reyes

Leomaris Reyes is a Software Engineer from the Dominican Republic, with more than 5 years of experience. A Xamarin Certified Mobile Developer, she is also the founder of  Stemelle, an entity that works with software developers, training and mentoring with a main goal of including women in Tech. Leomaris really loves learning new things! 💚💕 You can follow her: Twitter, LinkedIn , AskXammy and Medium.

Related Posts

Comments

Comments are disabled in preview mode.