IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

.NET MAUI Release Candidate est Prêt pour le développement d'applications multiplateformes,
Elle s'appuie sur les SDK de plateforme pour Android, iOS, macOS et Windows

Le , par Bruno

34PARTAGES

6  0 
L’équipe de développement .NET a annoncé la disponibilité de Release Candidate Multi-platform App UI (.NET MAUI) le 12 avril. « Aujourd'hui, nous sommes ravis d'annoncer la disponibilité de la version candidate de .NET MAUI. Le SDK est maintenant complet au niveau de l'API, prêt à être mis à jour par les bibliothèques et à être rendu compatible avec la GA (general availability) », a déclaré David Ortinau, Program Manager en chef chez Microsoft.

Comme pour les autres versions candidates de .NET, cette version est couverte par une politique de support "go live", ce qui signifie que .NET MAUI est supporté par Microsoft pour les applications de production.


En tant que framework de création d'applications multiplateformes, .NET MAUI s'appuie sur les SDK de plateforme pour Android, iOS, macOS et Windows. Ces éléments fondamentaux sont inclus dans cette version, et ils peuvent être utilisé directement avec C# en plus de maximiser le partage de code et la productivité avec .NET MAUI. .NET MAUI utilise les dernières technologies modernes pour créer des applications natives sur Android, iOS, macOS et Windows en les abstrayant dans un framework commun construit sur .NET 6.

Les applications natives ressemblent par défaut au système d'exploitation auquel elles appartiennent et les mises en page sont entièrement adaptées à chaque appareil automatiquement, sans code supplémentaire. Les API de plateforme sont disponibles directement à partir de C# pour accéder à plus de 60 fonctionnalités de plateforme à partir d'une seule API multiplateforme, y compris l'accès à des éléments tels que le stockage isolé, les capteurs, la géolocalisation, l'appareil photo et bien plus encore, sans aucun compromis.

Pour acquérir .NET MAUI RC1, il est nécessaire d’installer ou de mettre à jour Visual Studio 2022 Preview à la version 17.2 Preview 3. Dans le programme d'installation, confirmez que .NET MAUI (Preview) est coché sous la rubrique « Mobile Development with .NET workload ». Pour utiliser .NET MAUI RC1 sur Mac, il est recommandé de suivre les instructions de la ligne de commande sur le wiki. La prise en charge de .NET MAUI dans Visual Studio 2022 pour Mac sera officiellement disponible dans une prochaine version préliminaire.

Le nouveau modèle de projet .NET MAUI comprend désormais une feuille de style par défaut dans "Resourcestyles.xaml" avec une palette de couleurs et un style pour tous les contrôles. Prenons par exemple l'entrée. Au démarrage d'une nouvelle application, ces entrées de texte commenceront désormais par un thème commun tout en restant fidèles à la plateforme sur laquelle elles fonctionnent.

Code XAML : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<Style TargetType="Entry"> 
    <Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Black}, Dark={StaticResource White}}" /> 
    <Setter Property="FontFamily" Value="OpenSansRegular"/> 
    <Setter Property="FontSize" Value="14" /> 
    <Setter Property="PlaceholderColor" Value="{AppThemeBinding Light={StaticResource LightGray}, Dark={StaticResource DarkGray}}" /> 
    <Setter Property="VisualStateManager.VisualStateGroups"> 
        <VisualStateGroupList> 
            <VisualStateGroup x:Name="CommonStates"> 
                <VisualState x:Name="Normal"> 
                    <VisualState.Setters> 
                        <Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Black}, Dark={StaticResource White}}" /> 
                    </VisualState.Setters> 
                </VisualState> 
                <VisualState x:Name="Disabled"> 
                    <VisualState.Setters> 
                        <Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource LightGray}, Dark={StaticResource DarkGray}}" /> 
                    </VisualState.Setters> 
                </VisualState> 
            </VisualStateGroup> 
        </VisualStateGroupList> 
    </Setter> 
</Style>


Personnalisation des contrôles

L'une des choses que fait .NET MAUI pour améliorer l'architecture Xamarin.Forms est d'ajouter des crochets à faible code pour modifier à peu près tout. Prenons l'exemple canonique de la suppression du soulignement distinctif d'Android sur un champ de saisie. Comment faire lorsqu'il n'existe pas de style multiplateforme pour le soulignement, car il n'existe que sur Android ?

Code : Sélectionner tout
1
2
3
4
5
6
#if ANDROID 
Microsoft.Maui.Handlers.EntryHandler.Mapper.ModifyMapping("NoUnderline", (h, v) => 
{ 
    h.PlatformView.BackgroundTintList = ColorStateList.ValueOf(Colors.Transparent.ToPlatform()); 
}); 
#endif

Ce code doit simplement être exécuté quelque part au début de votre application avant que le gestionnaire ne soit appelé. Tout d'abord, le #if ANDROID est une directive de compilation conditionnelle qui indique que ce code ne doit être exécuté que pour Android. Dans les autres cas où le contrôle est modifié pour toutes les plateformes, ce n'est pas nécessaire.


Ensuite, un accès au contrôle est nécessaire. Le contrôle que vous utilisez est un contrôle MAUI de .NET. Chaque propriété, commande, événement, etc. de l'entrée est "mappé" par un "gestionnaire" à une mise en œuvre de plateforme. Pour modifier un mappage, il est possible d’y accéder via le mappage du gestionnaire, tel que Microsoft.Maui.Handlers.EntryHandler.Mapper. À partir du mappeur, il existe 3 méthodes :

  • PrependToMapping qui s'exécute avant le code .NET MAUI.
  • ModifyMapping qui s'exécute à la place du code .NET MAUI.
  • AppendToMapping qui s'exécute après le code .NET MAUI.


Dans ce cas, peu importe lequel des deux est utilisé, puisqu'il sera appelé au moins une fois et qu'aucune autre implémentation de l'entrée ne touchera les propriétés natives que nous devons modifier. Ici, le code utilise ModifyMapping et ajoute une entrée appelée NoUnderline. En général, la propriété correspond au nom d'une propriété réelle, mais dans ce cas, Microsoft introduit une nouvelle.


Le h dans l'action est le gestionnaire qui nous donne accès à la PlatformView qui dans ce cas est de type Android TextView. À ce stade, le code fonctionne directement avec le SDK Android. Maintenant que le soulignement n'est plus nécessaire, il est possible de mettre en œuvre votre propre conception, par exemple, une boîte de bordure comme dans l'ancien Windows Phone.

C# Hot Reload et XAML Hot Reload transforment la façon de travailler et rendent plus productif. Tapez du code, enregistrez et voyez les modifications immédiatement. Tirez parti des dernières fonctionnalités de débogage, d'IntelliSense et de test de Visual Studio pour écrire un meilleur code plus rapidement.
Utilisez un seul langage de programmation, une seule base de code et un seul système de projet pour toutes les cibles de périphériques avec prise en charge des ressources multiplateformes, notamment les images, les icônes, les écrans d'accueil, etc.

Des applications hybrides qui s'exécutent partout

Commencez à créer des applications hybrides dès aujourd'hui avec C# au lieu de JavaScript. Partagez vos composants Web Blazor directement dans les applications .NET MAUI tout en ayant accès aux capacités et au conditionnement des appareils natifs. En utilisant conjointement .NET MAUI et Blazor, il est possible de réutiliser un ensemble de composants d'interface utilisateur Web sur le mobile, le bureau et le Web. Utilisez une pile de développement unique qui prend en charge toutes les charges de travail modernes avec un SDK, des bibliothèques de classes de base et une chaîne d'outils unifiés.


Il est possible de réutiliser plus facilement les composants et les bibliothèques grâce à un ensemble commun d'API disponibles pour tout type d'application .NET 6. Il est également tirer parti des centaines de milliers de packages de l'écosystème pour lancer votre développement.

Source : Microsoft

Et vous ?

Quel est votre avis sur le sujet ?

Voir aussi :

.NET 6 Preview 7 : Microsoft révise les modèles de projet et améliore certaines API, notamment les modèles de projets C#

Microsoft annonce .NET 6 Preview 5, la version du framework pour la création des applications, apporte une amélioration des charges de travail

Microsoft annonce .NET 6, version la plus rapide à ce jour avec prise en charge des puces Apple Silicon, des containers Windows isolés des processus et une amélioration des E/S de fichiers

.NET 6 apporterait jusqu'à 40 % de gain de vitesse par rapport .NET 5, les tests de mise en cache et de boucles serrées serraient jusqu'à 30 % plus rapide

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de denisys
Membre expérimenté https://www.developpez.com
Le 13/04/2022 à 21:19
Le 13 avril 2022 à 17:39, par Bruno
Pour acquérir .NET MAUI RC1,
il est nécessaire d’installer
ou
de mettre à jour Visual Studio 2022 Preview
à la version 17.2 Preview 3.
Dans le programme d'installation, confirmez que
.NET MAUI (Preview) est coché sous la rubrique « Mobile Development with .NET workload ».
Pour utiliser .NET MAUI RC1 sur Mac,
il est recommandé de suivre les instructions de la ligne de commande sur le wiki.
La prise en charge de
.NET MAUI dans Visual Studio 2022
pour Mac sera officiellement
disponible dans une prochaine version préliminaire.
Là, on peut dire, qu’ils ont fait simples, chez Microsoft !
Pour utiliser une RC, il faut faire une mise à jour d’une ..
Preview de Visual Studio 2022!.!
Plus fort que
Merlin l'enchanteur de la série Kaamelott !!!!
0  0 
Avatar de LeBressaud
Membre confirmé https://www.developpez.com
Le 14/04/2022 à 10:48
Citation Envoyé par denisys Voir le message
Là, on peut dire, qu’ils ont fait simples, chez Microsoft !
Pour utiliser une RC, il faut faire une mise à jour d’une ..
Preview de Visual Studio 2022!.!
Plus fort que
Merlin l'enchanteur de la série Kaamelott !!!!
Les modifications de VS pour prendre en charge MAUI sont assez lourdes, je préfère qu'elles restent sur la version preview pour l'instant
0  0 
Avatar de raphchar
Membre éclairé https://www.developpez.com
Le 14/04/2022 à 13:39
J'aurais bien aimé testé pour utiliser .NET sur android.
Cependant pour installer VS2022, il faut windows 10 (enfin, c'est recommandé). Donc ce sera sans moi qui n'ai que Windows 8.1 en dual boot avec Fedora. J'attends donc qu'ils supportent linux.
0  0 
Avatar de denisys
Membre expérimenté https://www.developpez.com
Le 14/04/2022 à 19:11
Citation Envoyé par LeBressaud Voir le message
Les modifications de VS pour prendre en charge MAUI sont assez lourdes,
je préfère qu'elles restent sur la version preview pour l'instant
Pas faut !!
Sauf, que ...
Quand tu subis les bugs des mises à jour de VS 2021.
On en revient, a ce demander,
si il y a encore des développeurs qui bosses chez Microsoft !!!!
0  0