.NET Multi-platform App UI (.NET MAUI) is a cross-platform framework for creating native mobile and desktop apps with C# and XAML.
Using .NET MAUI, you can develop apps that can run on Android, iOS, macOS, and Windows from a single shared code-base.
.NET MAUI is open-source and is the evolution of Xamarin.Forms, extended from mobile to desktop scenarios, with UI controls rebuilt from the ground up for performance and extensibility.
Using .NET MAUI, you can create multi-platform apps using a single project, but you can add platform-specific source code and resources if necessary. One of the key aims of .
NET MAUI is to enable you to implement as much of your app logic and UI layout as possible in a single code-base.
|
.NET MAUI unifies Android, iOS, macOS, and Windows APIs into a single API that allows a write-once run-anywhere developer experience, while additionally providing deep access to every aspect of each native platform.
|
.NET 6 or greater provides a series of platform-specific frameworks for creating apps:
.NET for Android
|
.NET for iOS
|
.NET for macOS
|
Windows UI 3 (WinUI 3) library
|
|
These frameworks all have access to the same .NET Base Class Library (BCL).
This library abstracts the details of the underlying platform away from your code.
The BCL depends on the .NET runtime to provide the execution environment for your code.
While the BCL enables apps running on different platforms to share common business logic,
the various platforms have different ways of defining the user interface for an app, and
they provide varying models for specifying how the elements of a user interface communicate and interoperate.
|
For Android, iOS, and macOS, the environment is implemented by Mono, an implementation of the .NET runtime. On Windows, .NET CoreCLR provides the execution environment.
|
.NET MAUI provides a single framework for building the UIs for mobile and desktop apps. The following diagram shows a high-level view of the architecture of a .NET MAUI app:
|
|
|
|
.NET MAUI apps can be written on PC or Mac, and compile into native app packages:
|
Android apps built using .NET MAUI compile from C# into intermediate language (IL) which is then just-in-time (JIT) compiled to a native assembly when the app launches.
|
iOS apps built using .NET MAUI are fully ahead-of-time (AOT) compiled from C# into native ARM assembly code.
|
macOS apps built using .NET MAUI use Mac Catalyst, a solution from Apple that brings your iOS app built with UIKit to the desktop, and augments it with additional AppKit and platform APIs as required.
|
Windows apps built using .NET MAUI use Windows UI 3 (WinUI 3) library to create native apps that target the Windows desktop. For more information about WinUI 3
|
|
What .NET MAUI provides
|
An elaborate layout engine for designing pages.
|
Multiple page types for creating rich navigation types, like drawers.
|
Support for data-binding, for more elegant and maintainable development patterns.
|
The ability to customize handlers to enhance the way in which UI elements are presented.
|
Cross-platform APIs for accessing native device features. These APIs enable apps to access device features such as the GPS, the accelerometer, and battery and network states.
|
Cross-platform graphics functionality, that provides a drawing canvas that supports drawing and painting shapes and images, compositing operations, and graphical object transforms.
|
A single project system that uses multi-targeting to target Android, iOS, macOS, and Windows.
|
.NET hot reload, so that you can modify both your XAML and your managed source code while the app is running, then observe the result of your modifications without rebuilding the app.
|
|
|
No comments :
Post a Comment