Annonces et mises à jour de .NET à la Microsoft Build 2024 : intégration profonde de l'IA, simplification du développement-natif avec .Net Aspire, ainsi que des améliorations des fonctionnalités C# pour C# 13.

Lors de la Microsoft Build 2024, Microsoft a dévoilé un nouvel ensemble de fonctionnalités et d'outils conçus pour rendre le développement .NET plus rapide et plus facile.

Voici un aperçu des mises à jour et annonces :

  • Intelligence artificielle : Des scénarios de bout en bout pour construire des applications basées sur l'IA, l'adoption de l'écosystème de l'IA et l'intégration profonde avec les services cloud.
  • .NET Aspire : pour la création d'applications distribuées cloud-natives.
  • C# 13 : Améliorations des fonctionnalités C# les plus appréciées afin de les rendre encore meilleures pour vous.
  • Performance : Réduction de la mémoire et du temps d'exécution à l'aide de points de référence critiques.
  • Améliorations apportées aux bibliothèques et frameworks .NET, notamment ASP.NET Core, Blazor, .NET MAUI, et bien plus encore.


Nom : 1.jpg
Affichages : 17578
Taille : 29,8 Ko


.NET et l'intelligence artificielle

.NET fournit des outils pour créer des applications puissantes avec l'IA. Vous pouvez utiliser le noyau sémantique pour orchestrer des plugins d'IA, ce qui vous permet d'intégrer de manière transparente des fonctionnalités d'IA dans vos applications.

Vous pouvez utiliser des bibliothèques de pointe comme OpenAI, Qdrant et Milvus pour améliorer la fonctionnalité de vos applications. Vous pouvez également déployer vos applications dans le cloud avec .NET Aspire, ce qui garantit des performances et une évolutivité optimales.

Nom : 2.jpg
Affichages : 1737
Taille : 49,3 Ko

Principes fondamentaux de l'IA

Microsoft introduit un nouveau type Tensor<T>. Les tenseurs sont des composants fondamentaux de nombreux modèles mathématiques, y compris les algorithmes d'apprentissage profond. Il s'agit de tableaux multidimensionnels qui contiennent des poids, des biais et des calculs intermédiaires au sein des réseaux neuronaux.

Cela permet un traitement efficace des données et un flux d'informations à des fins d'apprentissage et de prédiction. Qu'il s'agisse de reconnaissance d'images, de compréhension du langage ou de prévision des tendances, les tenseurs jouent un rôle crucial dans toutes les facettes de l'IA.

En outre, ils facilitent le partage des données entre des bibliothèques telles que ONNX Runtime, TorchSharp ou ML.NET, la création de vos propres bibliothèques mathématiques ou le développement d'applications utilisant des modèles d'IA. La performance est essentielle et on obtient des efficacités supplémentaires en construisant sur les TensorPrimitives, qui utilisent les instructions SIMD pour optimiser le débit.

Commencez rapidement à créer des applications d'IA

Le monde de l'IA évolue rapidement, et Microsoft souhaite que les développeurs puissent commencer rapidement avec un minimum de changements dans leur code.

Microsoft déclare :

Essayez nos nouveaux échantillons de démarrage rapide de l'IA pour voir comment vous pouvez commencer à utiliser des frameworks LLM comme Semantic Kernel pour accéder rapidement à l'écosystème de l'IA. Semantic Kernel permet aux développeurs d'exploiter différents modèles, de se connecter à des magasins de vecteurs et de simplifier leur processus d'invite avec des modèles.

En plus de nos échantillons, nous avons développé des Smart Components, des contrôles préconstruits avec des fonctionnalités d'IA de bout en bout, conçus spécifiquement pour Blazor et MVC / Razor. Ces composants peuvent être intégrés à vos applications existantes en quelques minutes pour leur insuffler des capacités d'IA.

Avec les Smart Components, les équipes peuvent gagner un temps de développement considérable et éviter la nécessité d'une conception UX étendue ou d'une recherche approfondie sur l'apprentissage automatique et l'ingénierie rapide. Actuellement, nous disposons de trois composants intelligents que vous pouvez intégrer, à savoir : SmartPasteButton, SmartTechnology et SmartPasteButton : SmartPasteButton, SmartTextArea et SmartComboBox.
Voici un exemple d'ajout d'un bouton SmartPasteButton qui prend un texte copié dans le presse-papiers et remplit automatiquement les contrôles InputText à l'aide d'AI :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@page "/"
@using SmartComponents
 
<form>
    <p>Name: <InputText @bind-Value="@name" /></p>
    <p>Address line 1: <InputText @bind-Value="@addr1" /></p>
    <p>City: <InputText @bind-Value="@city" /></p>
    <p>Zip/postal code: <InputText @bind-Value="@zip" /></p>
 
    <button type="submit">Submit</button>
    <SmartPasteButton DefaultIcon />
</form>
 
@code {
    string? name, addr1, city, zip;
}


Élargissement de l'écosystème IA avec .NET

Microsoft annonce avoir collaboré avec de nombreux partenaires de l'industrie pour permettre aux développeurs d'exploiter l'écosystème de l'IA.

Microsoft :

L'une de nos collaborations les plus intéressantes cette année a été celle avec OpenAI. Nous nous sommes associés à eux pour fournir une bibliothèque .NET officielle, qui devrait être publiée dans le courant du mois. Cette collaboration et ce nouveau SDK garantissent aux développeurs .NET une expérience agréable et une parité avec les bibliothèques d'autres langages de programmation que vous connaissez peut-être. Il prend également en charge les dernières fonctionnalités et modèles OpenAI, tels que GPT4o et Assistants v2, et offre une expérience unifiée entre OpenAI et Azure OpenAI.

Nos partenariats ne s'arrêtent pas là. L'année dernière, nous avons annoncé des clients C# officiels avec Qdrant et Milivus. Nos efforts de collaboration se poursuivent avec des partenaires comme Weavite pour offrir aux développeurs une variété d'options de bases de données vectorielles .NET.

Enfin, nous avons travaillé avec des équipes de Microsoft, notamment Semantic Kernel, Azure SQL et Azure AI Search, afin de garantir que nos développeurs puissent bénéficier d'une expérience native transparente avec leurs capacités d'IA.
Investissements d'avenir : Surveillance et observation de vos applications LLM.

Les applications de grand modèle de langage (LLM) nécessitent des résultats fiables, performants et de haute qualité. Les développeurs doivent mesurer et suivre les résultats et les comportements de leurs applications LLM dans les environnements de développement et de production, et identifier et résoudre les problèmes.

L'équipe .Net de Microsoft travaille sur la manière dont les développeurs peuvent utiliser .NET Aspire, Semantic Kernel et Azure pour surveiller leurs applications d'IA. Ces fonctionnalités sont en cours de prévisualisation.

Les images suivantes montrent comment vous pouvez utiliser .NET Aspire avec un code minimal pour collecter des métriques détaillées et des données de traçage à partir de Semantic Kernel, telles que le modèle, le nombre de jetons, l'invite et la réponse générée, en suivant la convention standard OpenTelemetry pour les LLM qui est actuellement en cours de conception.

De plus, la collecte de ces données télémétriques avec Semantic Kernel devrait être simple, avec seulement quelques lignes de code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
// Enable the draft OpenTelemetry LLM data to be collected
AppContext.SetSwitch("Microsoft.SemanticKernel.Experimental.GenAI.EnableOTelDiagnosticsSensitive", true);
 
// Export the data
builder.Services.AddOpenTelemetry()
   .WithMetrics(m => m.AddMeter("Microsoft.SemanticKernel*"))
   .WithTracing(t => t.AddSource("Microsoft.SemanticKernel*"));
Microsoft veut faire de .NET une plateforme spectaculaire pour construire et intégrer l'IA dans vos apps et travailler de manière transparente avec les bibliothèques de l'écosystème de l'IA et avec des frameworks étonnants, notamment ASP.NET Core et .NET Aspire, pour construire des apps cloud-natives.


Développement cloud-natif avec .NET

En utilisant .NET, vous pouvez créer des applications cloud-natives sécurisées, efficaces, résilientes, observables et configurables. Microsoft annonce avoir amélioré le développement d'apps cloud-natives avec la version reach en proposant :

  • Des conteneurs ciselés : Réduction de la taille des images de conteneurs .NET
  • NativeAOT & Trimming : Réduction de la taille de l'application tout en améliorant le temps de démarrage de l'application
  • De nouvelles fonctionnalités et bibliothèques pour ASP.NET Core afin de rationaliser les scénarios cloud-native.
  • Performance : Exploiter chaque goutte de performance dans tous les frameworks et bibliothèques.


.NET Aspire : Simplifier le développement cloud-natif

.NET Aspire est une nouvelle pile qui simplifie le développement d'applications et de services cloud-natifs .NET. .NET Aspire est désormais disponible pour tous.


.NET Aspire permet de créer des applications distribuées, y compris l'orchestration de projets, des composants à intégrer avec des services et des plates-formes de premier plan, la découverte de services, les valeurs par défaut des services, et bien plus encore.

L'un des points forts de .NET Aspire est le tableau de bord, qui offre une vue consolidée des ressources de vos applications, avec des journaux, des traces distribuées et des mesures. Qu'il soit exécuté dans la boucle interne du développeur local ou déployé dans le cloud, le tableau de bord offre une vue en temps réel, centrée sur le développeur, de ce que fait votre application à l'instant même.

Les développeurs doivent déployer des applications distribuées tout au long de leur processus de développement pour effectuer des tests rapides et doivent être en mesure de les déployer facilement en production le moment venu. .NET Aspire est là pour vous aider avec de puissantes fonctionnalités pour amener vos applications dans le cloud, avec la prise en charge du provisionnement et de la connexion aux services cloud dans Azure et AWS pendant le développement et le déploiement d'applications vers Azure Container Apps à l'aide de l'interface CLI du développeur Azure, ou Kubernetes avec Aspirate.

Nom : 3.jpg
Affichages : 1722
Taille : 46,2 Ko

.NET est natif pour Linux

.NET est multiplateforme. Microsoft se donne pour mission de veiller à ce que .NET fonctionne de manière spectaculaire partout où les développeurs créent des applications. Ils ont beaucoup investi dans l'amélioration des flux de travail des développeurs et de la production pour les applications fonctionnant sous Linux.

Microsoft :

Nous travaillons avec Canonical, Red Hat et d'autres mainteneurs pour nous assurer que les paquets .NET sont disponibles à l'installation à partir des flux officiels et mis à jour pour les correctifs de sécurité selon le même calendrier que Microsoft.
Les conteneurs sont le moyen le plus populaire de déployer des apps cloud-natives. Plus le conteneur est petit, plus les nouveaux nœuds peuvent être approvisionnés rapidement. Les images plus petites sont souvent plus sûres. Les conteneurs ciselés sont la solution à ce problème, et ils sont maintenant généralement disponibles pour Ubuntu 24.04 pour .NET 8 et .NET 9. Des images adaptées à la mondialisation, très demandées, sont désormais disponibles et incluent les bibliothèques icu et tzdata.

Nom : 4.jpg
Affichages : 1713
Taille : 14,9 Ko

Réduction de l'utilisation de la mémoire

La gestion automatique de la mémoire a toujours été une caractéristique clé de .NET, avec un ramasse-miette optimisé pour de nombreux scénarios. En ce qui concerne le développement d'apps cloud-natives, .NET 9 introduit un nouveau mode de ramasse-miette (GC) serveur. Ce nouveau mode réduit l'utilisation de la mémoire, ce qui peut réduire les coûts, tout en offrant les mêmes excellentes performances que celles qui font la réputation de .NET.

Microsoft :

Qu'est-ce que cela signifie pour les applications cloud-natives ? Imaginez que vous ayez un cluster Kubernetes avec deux nœuds. Cette nouvelle fonctionnalité permettra de rester automatiquement dans ces deux nœuds plus longtemps en répondant de manière adaptative au trafic en fonction de l'ampleur des demandes.
Le graphique suivant montre l'application de référence Fortunes TechEmpower exécutant 1 000 requêtes par seconde (RPS) dans un conteneur configuré avec 4 cœurs de CPU. Le mode GC du serveur existant est en bleu et le nouveau mode GC du serveur est en noir :

Nom : 5.jpg
Affichages : 1713
Taille : 15,3 Ko

Chaque version de .NET met l'accent sur les performances, et .NET 9 n'échappe pas à la règle. Cette fois-ci, Microsoft annonce une nouvelle série de changements profonds qui rendront vos applications plus rapides et plus légères en production :

  • Les exceptions sont désormais 2 à 4 fois plus rapides, grâce à une implémentation plus moderne.
  • Les boucles deviennent plus rapides grâce au loop hoisting et à l'élargissement des variables d'induction.
  • Le PGO dynamique est maintenant plus efficace en réduisant le coût des vérifications de type.
  • RyuJIT peut offrir de meilleures performances en intégrant davantage de méthodes génériques.
  • Le code Arm64 peut être écrit pour être beaucoup plus rapide en utilisant les instructions SIMD SVE/SVE2 sur Arm64.


C# 13

C# 13 met l'accent sur la flexibilité et la performance, en améliorant la plupart de vos fonctionnalités préférées. Microsoft a amélioré les paramètres params pour vous offrir plus de flexibilité. Ils annoncent également les types d'extension, et ajoutent plusieurs fonctionnalités pour améliorer les performances, certaines d'entre elles étant gratuites, sans que vous ayez à modifier votre code.

Amélioration des params C#

Les params ne sont plus limités aux tableaux !

Lorsque le mot-clé params apparaît devant un paramètre, les appels à la méthode peuvent fournir une liste délimitée par des virgules de zéro ou plusieurs valeurs et ces valeurs sont placées dans une collection du type du paramètre. À partir de C# 13, le type de paramètre params peut être n'importe lequel des types utilisés avec les expressions de collection, comme List<T>, Span<T> et IEnumerable<T>. Vous pouvez même utiliser vos propres types de collection s'ils respectent des règles particulières.

Il vous suffit de spécifier un type de collection différent comme type de paramètre :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
void PrintList(params IEnumerable<string> list) 
    => Console.WriteLine(string.Join(", ", list));
 
PrintList("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat");
 
// prints "Sun, Mon, Tue, Wed, Thu, Fri, Sat"
Selon Microsoft, il est très facile d'utiliser le type de collection qui correspond le mieux à vos besoins. Les programmeurs qui utilisent votre méthode peuvent simplement transmettre une liste de valeurs délimitée par des virgules. Ils n'ont pas besoin de se préoccuper du type sous-jacent.

Améliorer les params avec les spans

Un aspect important des performances est la réduction de l'utilisation de la mémoire, et System.Span<T> et System.ReadonlySpan<T> sont des outils permettant de réduire les allocations de mémoire.

Si vous souhaitez utiliser un span, il vous suffit d'utiliser le type de paramètre params pour un type de span. Les valeurs passées au paramètre params sont implicitement converties en ce type de span. Si vous avez deux signatures de méthode qui ne diffèrent que par le fait que l'une est un span et l'autre un tableau et que le code appelant utilise une liste de valeurs, la surcharge span est sélectionnée. Cela signifie que vous exécutez le code le plus rapide disponible et qu'il est plus facile d'ajouter span à vos applications.

De nombreuses méthodes du Runtime .NET ont été mises à jour pour accepter les params Span<T>, de sorte que vos applications fonctionneront plus rapidement, même si vous n'utilisez pas directement les span.

params et interfaces

params prend en charge les interfaces. Si aucun type concret n'est spécifié, comment le compilateur peut-il savoir quel type utiliser ?

À l'instar des expressions de collection en C# 12, lorsque vous spécifiez une interface comme type de paramètre, vous indiquez clairement que vous voulez tout ce qui implémente cette interface. Les interfaces clés sont mises en correspondance avec l'implémentation. Le compilateur peut utiliser un type existant ou en créer un. Vous ne devez pas dépendre du type de collection concret sous-jacent, car il sera modifié si un meilleur type est disponible.

L'avantage de cette conception est que vous pouvez utiliser des interfaces pour vos types de paramètres. Si vous passez une valeur d'un type qui implémente l'interface, elle sera utilisée. Lorsqu'une liste de valeurs ou une expression de collection est passée, le compilateur vous donnera le meilleur type concret.

Types d'extension

Depuis C# 3, les méthodes d'extension vous permettent d'ajouter des méthodes à un type sous-jacent, même si vous ne pouvez pas modifier son code. LINQ est un exemple d'un ensemble de méthodes d'extension sur IEnumerable<T>. Les méthodes d'extension LINQ apparaissent comme des méthodes d'instance du type sous-jacent.

C# 13 passe à l'étape suivante avec les types d'extension. Il s'agit d'un nouveau type qui fournit des membres d'extension pour un type sous-jacent. Ils possèdent des méthodes, des propriétés et d'autres membres qui peuvent être de type instance ou statique. Les types d'extension d'instance ne peuvent pas contenir d'état. Par exemple, ils ne peuvent pas inclure de champs. Ils peuvent accéder à l'état du type sous-jacent ou à un autre emplacement.

Il existe deux types d'extensions : les extensions implicites et les extensions explicites. Les types d'extension implicites s'appliquent à toutes les occurrences du type sous-jacent - de la même manière que les méthodes d'extension aujourd'hui. Les méthodes et propriétés d'extension explicite ne s'appliquent qu'aux instances du type sous-jacent qui ont été converties en type d'extension explicite.

Un type d'extension s'appuie sur un type sous-jacent, qui n'est autre qu'un type C# normal. L'une des raisons pour lesquelles vous pouvez utiliser une extension est que vous ne pouvez pas modifier le code du type sous-jacent.

Du point de vue de l'utilisation, les types d'extension vous permettent de simplifier le code qui fournit le travail important et la logique de votre application. Pour ce faire, ils organisent les extensions et fournissent des extensions qui personnalisent des instances spécifiques des objets sous-jacents.

D'un point de vue technique, les types d'extension constituent une amélioration des méthodes d'extension que vous utilisez aujourd'hui. Vous pourrez les expérimenter dans un futur aperçu de C# 13.


Développement web avec .NET

.NET inclut ASP.NET Core, qui contient ce dont vous avez besoin pour créer des applications web modernes, y compris des applications web basées sur le navigateur ou des services backend évolutifs. Avec .NET, il n'est pas nécessaire d'assembler une solution à partir de plusieurs frameworks différents. .NET est conçu pour la sécurité et optimisé pour les performances, de sorte que vous êtes prêt à gérer n'importe quel scénario de serveur.

Nom : 6.jpg
Affichages : 1706
Taille : 22,9 Ko

Microsoft :

Nous continuons à améliorer l'expérience de développement web avec .NET et ASP.NET Core. Dans .NET 9, nous nous concentrons sur la qualité et les principes fondamentaux, notamment les performances, la sécurité et la fiabilité. Les fonctionnalités ASP.NET Core existantes bénéficient également d'importantes mises à jour pour répondre aux besoins des applications cloud-natives modernes.
Prise en charge intégrée de la génération de documents OpenAPI

La spécification OpenAPI permet aux développeurs de définir la forme des API dans un format standardisé qui peut être inséré dans les générateurs de clients, les générateurs de serveurs, les outils de test, la documentation, etc. ASP.NET Core offre désormais une prise en charge intégrée pour la génération de documents OpenAPI représentant des API minimales ou basées sur des contrôleurs.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
var builder = WebApplication.CreateBuilder();
builder.Services.AddOpenApi();
 
var app = builder.Build();
app.MapOpenApi();
app.MapGet("/hello/{name}", (string name) => $"Hello {name}"!);
 
app.Run();
Les documents OpenAPI peuvent être générés au moment de la construction ou de l'exécution à partir d'un point de terminaison adressable et les documents OpenAPI générés peuvent être personnalisés selon les besoins à l'aide de transformateurs de documents et d'opérations.

Mise en cache distribuée améliorée avec HybridCache

La prise en charge de la mise en cache distribuée par ASP.NET Core est améliorée grâce à la nouvelle API HybridCache. HybridCache complète le support IDistributedCache existant dans ASP.NET Core avec de nouvelles capacités, y compris le stockage multi-niveaux, avec un cache in-process (L1) limité complété par un cache out-of-process (L2) séparé (généralement plus grand).

Cette approche "hybride" du stockage en cache offre le meilleur des deux mondes : la plupart des recherches sont servies efficacement à partir de L1, mais les données à démarrage à froid et celles auxquelles on accède moins souvent ne pèsent pas sur le backend sous-jacent, grâce à L2.

HybridCache comprend également une protection contre la "ruée" (pour empêcher les extractions parallèles du même travail) et une sérialisation configurable, tout en simplifiant l'utilisation de l'API pour les scénarios courants.

HybridCache est conçu pour remplacer directement la plupart des scénarios IDistributedCache, tout en offrant davantage de fonctionnalités, une meilleure convivialité et des performances améliorées. Dans les tests de référence de Microsoft, HybridCache est presque 1000 fois plus rapide que l'utilisation d'IDistributedCache dans les scénarios de taux d'accès au cache élevé grâce à son stockage en cache à plusieurs niveaux. Les performances de la mise en cache sont encore améliorées lors de l'utilisation de types immuables.

Nom : 7.jpg
Affichages : 1702
Taille : 39,5 Ko

Interface Web Full Stack avec Blazor

Blazor rend la construction d'une interface web pour vos applications ASP.NET Core simple et productive. Les développeurs Blazor qui sont passés à .NET 8 ont profité des nouvelles fonctionnalités, notamment le rendu statique du serveur, le rendu en continu, l'amélioration de la navigation et de la gestion des formulaires, et bien plus encore.

Nom : 8.jpg
Affichages : 1708
Taille : 39,0 Ko

Microsoft annonce également de nouvelles fonctionnalités :

  • Injection de constructeur de composant : Blazor prend désormais en charge l'injection de constructeur pour les composants, en plus de la prise en charge existante de l'injection de propriété avec @inject. L'injection de constructeur prend en charge les services optionnels et fonctionne parfaitement avec la vérification de l'état nul.
  • Compression WebSocket : Le trafic WebSocket pour le rendu interactif du serveur est désormais compressé par défaut, ce qui réduit considérablement la taille de la charge utile du message.
  • Rendu statique des pages des applications globalement interactives : Vous pouvez maintenant exclure les pages du routage interactif dans les applications Web Blazor configurées pour l'interactivité globale et les forcer à effectuer un rendu statique à partir du serveur. Ceci est utile lorsque la majeure partie de votre application est interactive, mais que vous avez certaines pages qui doivent être rendues dans le contexte d'une requête.


Développement multiplateforme avec .NET

.NET MAUI est l'interface utilisateur multiplateforme de .NET qui permet de créer des applications pour iOS, Android, Mac et Windows.

Nom : 9.jpg
Affichages : 1709
Taille : 25,4 Ko

Microsoft :

Depuis son lancement, nous avons constaté une croissance et une adoption explosives de la part des nouveaux utilisateurs et des développeurs Xamarin existants qui migrent pour profiter des nouvelles fonctionnalités et performances. Les applications que vous utilisez tous les jours sont construites avec .NET MAUI, notamment NBC Sports, Hawaiian Airlines, UPS, Microsoft Azure, DigiD, Seeing AI, E-ZPass Pennsylvania, et bien d'autres encore.

Nous avons été ravis de constater le soutien continu de la communauté .NET qui crée de magnifiques bibliothèques et contrôles .NET MAUI, tels que le .NET MAUI Community Toolkit, et des fournisseurs de contrôles tels que Telerik, Syncfusion, Grial, DevExpress, et bien d'autres encore.

Nous sommes très honorés de pouvoir compter sur votre soutien pour faire en sorte que .NET MAUI soit une expérience de classe mondiale pour la création d'applications multiplateformes.

Dans .NET 8, nous nous sommes concentrés sur l'amélioration des performances et de la qualité, sur le soutien de notre écosystème, sur l'amélioration de l'expérience des développeurs et sur l'assurance que la création d'applications hybrides avec .NET MAUI et Blazor était de premier ordre. L'un de nos principaux objectifs a été de faire évoluer notre processus de développement pour qu'il s'appuie d'abord sur les paquets NuGet.

Cela signifie que nous pouvons rapidement déployer de nouvelles versions de services et que vous pouvez facilement les mettre à jour en quelques secondes. Aujourd'hui, nous publions notre quatrième version de service pour .NET 8, qui apporte des centaines d'améliorations supplémentaires dont vous pouvez tirer parti dès aujourd'hui.

Nom : 10.jpg
Affichages : 1705
Taille : 24,0 Ko

L'année dernière, nous avons introduit la prise en charge initiale de la création d'applications .NET MAUI dans Visual Studio Code pour Windows, Mac et Linux avec le kit de développement C#.

Cette semaine, nous avons lancé une nouvelle version de l'extension .NET MAUI pour VS Code qui prend en charge XAML IntelliSense et apporte les améliorations majeures que vous avez demandées.

Nous allons continuer à améliorer notre histoire de migration pour les développeurs Xamarin qui passent à .NET MAUI et pour les développeurs .NET MAUI qui passent à des versions plus récentes de .NET avec l'assistant de mise à niveau. Nous continuerons également à proposer des versions de service cohérentes et fiables pour .NET 8, tout en continuant à ajouter de nouvelles fonctionnalités pour les développeurs multiplateformes dans .NET 9.
Il est maintenant possible d'essayer certaines de ses nouvelles fonctionnalités telles que le multiciblage des bibliothèques iOS, les packs d'actifs Android pour réduire la taille de votre application lorsque vous traitez des actifs volumineux tels que des vidéos, et le support expérimental Native AOT pour les applications iOS et Mac Catalyst qui peut réduire la taille de votre application jusqu'à 62 % tout en rendant vos temps de démarrage presque 50 % plus rapides.

Dans les prochains aperçus, Microsoft annonce des fonctionnalités qui faciliteront la création d'applications hybrides .NET MAUI, comme un nouveau modèle de solution pour configurer les applications hybrides Blazor et les applications Web qui partagent l'interface utilisateur, ainsi qu'un nouveau contrôle HybridWebView pour activer les frameworks JavaScript.


Microsoft Build 2024

Retrouver toutes les annonces de Microsoft lors de la conférence en ligne Microsoft Build 2024 :


Source : Microsoft

Et vous ?

Quel est votre avis sur ces annonces ?

Voir aussi :

Microsoft partage sa vision initiale de .NET 9 et publie le premier aperçu de la nouvelle version du framework dont les domaines d'intérêt sont le développement d'apps cloud-natives et intelligentes

Microsoft lance .NET Smart Components pour offrir aux développeurs des contrôles d'interface utilisateur basés sur l'IA que vous pouvez ajouter rapidement et facilement aux applications .NET

Microsoft annonce .NET 8 avec des améliorations en matière de performances, de stabilité et de sécurité, ainsi que des améliorations de la plateforme et des outils pour accroître la productivité

Conférence en ligne Microsoft Build : Cette fois-ci ce sont les développeurs qui sont visés par l'invasion massive de l'IA, pas d'inquiétude, il y en aura pour tous le monde