18

Time to Evolve: .NET Multi-Platform App UI (MAUI)

 3 years ago
source link: https://www.telerik.com/blogs/time-to-evolve-net-multi-platform-app-ui-maui
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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

7BNVfea.png!web

Hello! :heart_eyes: 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. :hushed: Well, in this article I want to make a short summary about what was shared Tuesday, May 19, at Microsoft Build about this news!

:eyes: 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:sunglasses: . 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… :memo:

:heavy_minus_sign: Xamarin will NOT change names. MAUI is a new framework.

:heavy_minus_sign: 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! :sunglasses:

:heavy_minus_sign: 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. :sunglasses:

:heavy_minus_sign: 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

3IBnaeQ.png!web

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? niymEb7.png!web

  • Platform differences nENjaaU.png!web

  • Feature differences m2q6Fj3.png!web

  • Miscellaneous differences VNbYNjE.png!web

News Regarding the Structure / Management of Projects

:small_blue_diamond: Unique project

7VvQVzb.png!web

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:

ri6BvyN.png!web

:small_blue_diamond: Easier Access to our Emulators and Devices

RjaIZrJ.png!web

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

:small_blue_diamond: Shared Resources in the Same Project

MBBviqb.png!web

This amazed me! :heart_eyes::heart_eyes: 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!

:small_blue_diamond: Easy Access to Other Platforms

Q7bYfiU.png!web

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/


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK