Voici 10 choses à gagner alors que les développeurs .NET attendent avec impatience .NET MAUI.
Vous devriez vous arrêter et sentir les roses. Si vous regardez toujours vers l'avenir, vous n'appréciez pas le présent. C'est un conseil commun transmis à l'exubérance des jeunes lorsqu'ils essaient de changer la réalité. Mais ceux qui changent le monde sont souvent ceux qui ne sont pas satisfaits du statu quo et rêvent ainsi d'un avenir meilleur.
Nous sommes à l'aube de la grande version .NET 6apportant runtime unifié, maturité du langage et meilleurs outils de développement. Xamarin.Forms évolue vers .NET MAUI—une pile moderne, open source et multiplateforme pour cibler les applications mobiles et de bureau. Alors qu'une grande partie du runtime .NET MAUI est déjà intégrée à .NET, la GA formelle arrive en 2022 alors que les outils multiplateformes rattrapent leur retard.
La réalité actuelle du passage à plusieurs plates-formes avec Xamarin. mais il y a quelques problèmes de développement qui sont atténués par .NET MAUI. Quand l'avenir est si brillant et si proche, il n'y a pas beaucoup de mal à regarder vers l'avenir. Voici une liste avisée de 10 choses qui s'améliorent au fur et à mesure que nous évoluons vers .NET MAUI, allons-y. de vapeur au cours des 7 à 8 dernières années. Alors que la promesse était toujours là, il y avait des coûts initiaux de développeur/plateforme jusqu'à l'acquisition de Microsoft en 2016 – depuis lors, il n'y a plus eu de barrière à l'entrée. Microsoft. Cependant, Xamarin et Xamarin.Forms ne semblaient pas tout à fait faire partie intégrante de .NET, c'était comme faire l'autre chose pour passer à plusieurs plates-formes. Les approches multiplateformes ciblant iOS et Android sont intrinsèquement difficiles avec de nombreuses dépendances, et les outils Xamarin ont montré quelques défauts au fil des ans.
Toute cette perception change avec .NET MAUI et la vague .NET 6 . Xamarin.iOS et Xamarin.Android sont désormais essentiellement .NET pour iOS et Android respectivement, tous intégrés dans .NET lui-même. .NET MAUI est le moyen de facto de .NET d'aller sur plusieurs plates-formes. Les environnements d'exécution sont unifiés dans .NET 6 et les outils devraient inspirer la confiance des développeurs.
Desktop Reach
Xamarin.Forms est en grande partie une pile mobile multiplateforme, principalement destinée à iOS, Android et autres plateformes mobiles. Cependant, atteindre le bureau avec Xamarin.Forms n'a pas été totalement hors de question : il y a eu des moteurs de rendu Xamarin.Forms pour Mac et WPF. Bien qu'elles aient du potentiel, ces solutions ont été en mode Aperçu et n'ont jamais vraiment absorbé la confiance dont les entreprises avaient besoin pour créer des applications de bureau avec Xamarin.Forms.
Il s'agit d'un énorme changement de paradigme dans le .NET MAUI évolué. -class citizen avec prise en charge Windows et Mac prête à l'emploi. L'une des meilleures choses que .NET MAUI fait n'est pas de réinventer la roue pour atteindre le bureau. Il le fait en utilisant deux méthodes établies de WinUI 3 pour Windows et Mac Catalyst pour macOS. WinUI 3 est le dernier framework UI/UX de bout en bout pour les applications Windows et fonctionne sur Win32 et .NET natif. Mac Catalyst est la solution d'Apple pour apporter des applications iOS construites avec UIKit sur le bureau macOS et augmenter l'expérience du développeur avec des API AppKit/plateforme supplémentaires si nécessaire.
Avec .NET MAUI, les développeurs peuvent désormais cibler officiellement applications mobiles et de bureau à partir de la même base de code. Bien sûr, il y a des considérations UX dans tous les facteurs de forme, mais alléluia ! Les développeurs de 19659006].NET sont naturellement enthousiasmés par Blazorun framework Web moderne avec du code C# à l'avant et à l'arrière, s'exécutant côté serveur ou côté client avec Wasm. Les développeurs adorent le modèle de composant Blazor et de nombreuses entreprises investissent dans les technologies Web. Ne serait-il pas agréable de partager du code avec des applications natives ?
. Applications hybrides Blazor. Essentiellement, .NET MAUI fournit l'amorçage de l'application avec un accès API natif complet, puis fournit un BlazorWebView magique, qui peut héberger des applications Blazor entières ou toute autre application Web construite avec les technologies SPA. Le composant BlazorWebView restitue WebView2 sur Windows ou WKWebView sur macOS, les deux derniers composants Webview fournissant un excellent canevas pour les applications Blazor.
Les composants Blazor peuvent désormais coexister avec le code .NET MAUI, être stylisés cependant, prendre en charge le routage et activer le partage de code avec les applications Web – c'est un changement très bienvenu.
L'autre grand changement est la façon dont les applications .NET MAUI rendent nati ve UI sur chaque plate-forme. Auparavant, cela était piloté par du code appelé moteurs de rendu qui prendrait le balisage Xamarin.Forms XAML ou l'arborescence visuelle C# et rendrait l'interface utilisateur native correspondante. Cependant, les moteurs de rendu avaient des liaisons étroites avec Xamarin.Forms, des dépendances directes sur la pile d'interface utilisateur native et une personnalisation difficile. .NET MAUI adopte l'approche d'interface avec handlers—en éliminant le rendu de l'interface utilisateur des dépendances natives et du balisage de code. Cela ouvre les gestionnaires .NET MAUI pouvant être utilisés à partir d'autres piles d'interface utilisateur, comme MVU avec Comet, F# ou Reactive UI.
true
dans le fichier .csproj et importer l'espace de noms Microsoft.Maui.Essentials
—toutes les API de périphériques multiplateformes les développeurs adorent, s'allument tout de suite à partir du code C#.
Tighter Inner Loop
L'un des fléaux de l'existence avec le développement de Xamarin.Forms a été la boucle interne – à quelle vitesse les développeurs peuvent-ils apporter des modifications de balisage ou de code pendant que l'application est en cours d'exécution et la voir reflété sur les simulateurs/appareils ? Cela n'a traditionnellement pas été une force dans l'écosystème Xamarin par rapport à d'autres piles technologiques multiplateformes, que ce soit JIT ou AOT, il y a toujours beaucoup à faire. Des solutions telles que XAML Previewer et Hot Restart ont aidé certains, mais .NET MAUI semble relever ce défi au maximum.
Entrez Hot Reload—le moyen le plus rapide de voir les modifications de code en cours d'exécution dans le simulateur et les appareils sans recompilation complète. Et pour aller encore plus loin, Hot Reload promet de fonctionner avec les modifications du balisage de l'arborescence visuelle .NET MAUI XAML maintenant, mais éventuellement pour la plupart des modifications de code C#, avec des performances égales/meilleures que les autres cross – des solutions de plate-forme.
Avez-vous des applications Xamarin.Forms existantes ? La migration vers .NET MAUI ne devrait pas être pénible avec Utilisez les bons outils : utilisez .NET Upgrade Assistantremapper les espaces de noms, mettez à jour toutes les dépendances vers .NET 6 et enregistrez tous les services/rendeurs de compatibilité. Alors que les meilleures performances dans .NET MAUI sont obtenues en utilisant la nouvelle architecture de gestionnaire, les rendus personnalisés existants n'ont pas besoin d'être migrés immédiatement et peuvent être transférés vers .NET MAUI avec un minimum d'effort.
Conclusion
.NET Les développeurs ont beaucoup à attendre de .NET MAUI, une technologie multiplateforme native évoluée qui cible les mobiles et les ordinateurs de bureau. Une architecture d'application améliorée et de meilleurs outils devraient inspirer la confiance des développeurs. C'est le .NET moderne — soyez excité.
Source link