Dans le cadre du BTS SIO, on nous demande d’effectuer une veille technologique, méthode consistant à s’informer en continu sur les nouveautés d’un secteur, les inventions des concurrents ainsi que les nouvelles technologies et ce dans le but d’être le meilleur de son domaine, sur un sujet de notre choix lié de préférence à notre spécialité.
C’est pourquoi j’ai choisi le développement multiplateforme avec .NET MAUI qui fournit une évolution par rapport à son futur prédécesseur, Xamarin Forms.
Le développement multiplateforme est un développement dans lequel on cherche à ce qu’un logiciel soit conçu pour fonctionner sur plusieurs plates-formes informatique (Android, Windows, Ios…).
Ainsi, lors d’un développement multiplateformes on a un seul langage de programmation et un compilateur qui s'adapte à chaque plateforme cible. La stratégie est donc la compilation de différentes versions du même programme pour différents systèmes d’exploitation, ou l’utilisation de fichiers de sous-arborescence pour appliquer ou adapter le produit à différents systèmes d’exploitation.
En C# .NET le développement multiplateforme est réalisé depuis 2014 par l'intermédiaire de Xamarin Form.
Xamarin est un framework de développement multiplateforme utilisé par les développeurs pour créer des applications natives et performantes. Il s'appuie sur un langage de programmation unique, le C#, pour créer des applications mobiles pour diverses plateformes (Android, Ios et UWP), et utilise XAML, qui est un langage de balisage et de liaison de données pour une application (Data Binding).
A l’inverse, de Xamarin s’exécutant de façon natif, des framework tel que Ionic utilise un WebView pour mobile au lieu d’utiliser des éléments de périphérique natifs. Ce framework s’appuie sur des bases de code JavaScript (Angular ou React ou View).
Cependant, aujourd'hui le développement en .NET évolue de Xamarin Form vers .NET Multi-platform App UI (.NET MAUI) annoncé par Microsoft en 2020. Permettant notamment l’intégration de nouvelle plateforme (macOS via Catalyst et Tizen) dans le .NET 6.
Tout d’abord, .NET MAUI est une infrastructure multiplateforme qui permet de créer des applications mobiles et de bureau natives avec C# et XAML, qui peuvent s'exécuter sur Android, iOS, MacOS et Windows à partir d’une base de code partagée. En effet, tout comme Xamarin Forms, .NET MAUI permet un développement avec 95 % (90% pour Xamarin Form) du code partagé entre les différentes plateformes.
.NET MAUI est disponible pour les plateformes suivante
Tout d’abord, Microsoft a annoncé que les développeurs utilisent les mêmes contrôles et API que dans Xamarin Forms, même si certains évolueront. De même, Microsoft met à disposition des guides de migrations de Xamarin Form vers .NET MAUI.
Une des principales évolution, est le développement dans un projet unique. En effet, avec Xamarin Form on a un projet par plateforme et un projet en commun.
L'interaction en .NET MAUI est une des principales évolution, alors que Xamarin Forms utilise un moteur de rendu, qui permet de convertir les éléments d’interface utilisateur multiplateforme en contrôles natifs.
Alors que, .NET MAUI utilise des gestionnaires. Ainsi, l’API .NET MAUI utilise directement l’API de plateforme natives, et la personnalisation se fait par des gestionnaires qui modifient le gestionnaire par défaut de la plateforme.
.NET MAUI permet également l’utilisation des composants Blazor sur toutes les plateformes prises en charge pour les interfaces utilisateurs. Ces composants seront rendus localement en HTML, ce qui est un fonctionnement similaire au WebView d’Ionic.
De plus, .NET MAUI fait partie de .NET 6 et bénéficie de l’ensemble de ces composants et API. Mais également, du rechargement à chaud, qui a été amélioré par rapport à Xamarin Form qui permet par exemple uniquement le rechargement à chaud du code XAML.
Nous pouvons en conclure que .NET MAUI, est évolution qui permet de simplifier le développement multiplateforme en .NET, ciblant de nouvelle plateforme et possédant les derniers avantages du .NET.
Libellé :
Veille technologique : .NET MAUI
Date publication :
09/05/2022
Type de la publication :
Veille technologique
Catégorie de la publication :
L'auteur :
Rambaud Evan (erloup)
Les éditeurs :
Les documents :