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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Framework .NET Discussion :

Microsoft publie le premier aperçu de .NET 7 avec des optimisations continues du compilateur JIT


Sujet :

Framework .NET

  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Rédacteur technique
    Inscrit en
    juin 2016
    Messages
    2 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Rédacteur technique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : juin 2016
    Messages : 2 381
    Points : 47 222
    Points
    47 222
    Par défaut Microsoft publie le premier aperçu de .NET 7 avec des optimisations continues du compilateur JIT
    Microsoft publie le premier aperçu de .NET 7 avec des optimisations continues du compilateur JIT
    de nouvelles API et la prise en charge de plus de scénarios de rechargement à chaud

    En parallèle de la célébration des 20 ans de la plateforme .NET la semaine dernière, Microsoft a présenté le premier aperçu de .NET 7. Il s'agit du premier aperçu de la prochaine version générale qui unifiera enfin tous les outils disparates de développement .NET. Cela permettra aux développeurs de créer tous les types d'applications - bureautiques, mobiles, Web et autres - sur la même bibliothèque de classes de base (BCL), le même moteur d'exécution et les mêmes compilateurs. Cet aperçu de .NET 7 comprend des annotations aux API pour prendre en charge la nullabilité, ainsi que d'autre fonctionnalité.

    « .NET 7 s'appuie sur la base établie par .NET 6, qui comprend un ensemble unifié de bibliothèques de base, de runtime et de SDK, une expérience de développement simplifiée et une productivité accrue des développeurs. Les principaux domaines d'intérêt de .NET 7 comprennent une meilleure prise en en charge des scénarios cloud native, des outils facilitant la mise à niveau des projets existants et la simplification de l'expérience du développeur en facilitant le travail avec les conteneurs », a écrit Jeremy Likness de l'équipe .NET à propos de cette version. En gros, .NET 7 vise à faciliter le développement d'applications cloud natives et la conteneurisation.

    Nom : dotnet7-preview1.jpg
Affichages : 17045
Taille : 87,9 Ko

    Tout d'abord, les développeurs .NET peuvent dire "enfin" parce que l'unification est ce que .NET 5 était censé faire lorsqu'il a été lancé en novembre 2020. Cependant, des problèmes de développement exacerbés par la pandémie de la Covid-19 ont empêché que cela se produise, de sorte que tous les éléments prévus n'ont pas été intégrés à .NET 5 et ont été reportés jusqu'à ce que .NET 6 arrive en novembre 2021 en tant que version de support à long terme (LTS). Toutefois, même cette version n'a pas permis d'achever l'unification, car certains composants, tels que .NET Multi-platform App UI (.NET MAUI), ont pris du retard.

    Client moderne : .NET Multi-platform App UI (.NET MAUI)

    Le billet de blogue de Likness explique que .NET MAUI (anciennement appelé Xamarin Forms) représente l'avenir de l'interface utilisateur native multiplateforme avec .NET et fera partie de .NET 7. L'équipe a déjà publié l'aperçu 13 de .NET MAUI. Elle se concentre actuellement sur l'envoi du support de .NET MAUI pour .NET 6 et elle prévoit d'envoyer bientôt une version candidate (RC). Une fois la RC disponible, elle se concentra sur l'envoi de RC supplémentaires jusqu'à ce qu'elle atteigne la qualité souhaitée pour la disponibilité générale (GA).

    « Une fois que .NET MAUI GA sera disponible pour .NET 6, nous l'inclurons dans .NET 7 et chercherons à améliorer l'expérience de la boucle de développement interne, à prendre en charge les derniers outils SDK .NET, à accélérer les performances des applications, à partager davantage de code, mais également à améliorer l'histoire de l'interopérabilité », a déclaré Likness. Il a également expliqué que l'accent était mis sur le développement cloud moderne, notamment les applications cloud natives, les conteneurs et les microservices.

    Le cloud moderne : cloud natif et conteneurs

    « Les applications "cloud natives" sont conçues dès le départ pour tirer parti des ressources modernes basées sur le Web, telles que les services de base de données et les conteneurs hébergés. L'architecture cloud native peut améliorer l'évolutivité des grandes applications en créant des sous-systèmes autonomes qui sont déployés et évoluent indépendamment des autres domaines de l'application tout en réduisant les coûts à long terme. L'architecture microservices est une approche populaire, car elle est flexible et conçue pour évoluer et s'adapter à des limites difficiles à atteindre dans une architecture monolithique », explique Likness.

    .NET 7 facilitera la création d'applications cloud natives en explorant les améliorations apportées à l'expérience du développeur, telles que :

    • simplifier l'installation et la configuration nécessaires pour mettre en œuvre l'authentification et l'autorisation sécurisées ;
    • améliorer les performances du démarrage des applications et de leur exécution ;


    En outre, pour faciliter la conteneurisation, Microsoft prévoit d'apporter des améliorations significatives au développement .NET avec des conteneurs dans .NET 7. Par exemple, l'équipe étudie la possibilité de construire des conteneurs directement via MSBuild en tant que nouvelle fonctionnalité du SDK. Elle prévoit de renforcer la télémétrie pour améliorer l'observabilité des conteneurs. Elle a également déclaré qu'elle s'efforcera de rendre ses images de conteneurs plus petites, plus rapides et plus sûres tout en explorant des modèles très demandés tels que "rootless" et "distroless".

    Microsoft continuera également à travailler sur Orleans, un cadre multiplateforme .NET pour la création d'applications distribuées qui a été qualifié de ".NET distribué". L'équipe améliorera la documentation d'Orleans et le rendra plus facile à utiliser et à mettre en œuvre en améliorant l'intégration avec les services en nuage existants tels que Azure App Services et Azure Container Apps.

    Moderniser : mettre à niveau les applications .NET

    Selon l'équipe, depuis la sortie de .NET 6, les développeurs ont mis à niveau leurs applications pour profiter des nouveaux gains de performance, des fonctions de productivité telles que les API minimales et le rechargement à chaud, des innovations en matière d'exécution et de la disponibilité d'un écosystème mature de bibliothèques et d'outils. Dans .NET 7, l'équipe envisage de continuer à vous permettre de faire évoluer vos applications .NET existantes vers les dernières plateformes et technologies .NET.

    Plus d'analyseurs, de correcteurs de code et la prise en charge de types d'applications supplémentaires dans l'assistant de mise à niveau .NET vous aideront à mettre à niveau en toute confiance une plus grande partie de votre portefeuille d'applications et à passer moins de temps sur les tâches répétitives liées à la mise à niveau.

    Support de .NET 7 et les changements de rupture

    Likness informe que .NET 7 est une version courante, ce qui signifie qu'elle bénéficiera d'un support et de correctifs gratuits pendant 18 mois à compter de sa date de sortie. Il est important de noter que la qualité de toutes les versions est la même. La seule différence entre les versions LTS et Current est la durée du support. .NET 7 devrait être publié en novembre et pris en charge probablement jusqu'en mai 2024. .NET 6 continuera à fonctionner pendant trois ans, ce qui signifie que le support prendra fin en novembre 2024.

    Likness annonce également que .NET 7 introduit quelques changements de rupture. Six changements de rupture affectent : ASP.NET Core ; les bibliothèques Core .NET ; la sérialisation ; et Windows Forms.

    Nouveautés de l'aperçu 1 de .NET 7

    Les fonctionnalités suivantes sont désormais disponibles dans la version Preview 1 de .NET 7 :

    Annotations nullables pour les bibliothèques Microsoft.Extensions

    Dans la version .NET 7 Preview 1, les bibliothèques suivantes ont été annotées pour la nullabilité :

    • Microsoft.Extensions.DependencyInjection.Abstractions ;
    • Microsoft.Extensions.Logging.Abstractions ;
    • Microsoft.Extensions.Primitives ;
    • Microsoft.Extensions.FileSystemGlobbing ;
    • Microsoft.Extensions.DependencyModel ;
    • Microsoft.Extensions.Configuration.Abstractions ;
    • Microsoft.Extensions.FileProviders.Abstractions ;
    • Microsoft.Extensions.FileProviders.Physical ;
    • Microsoft.Extensions.Configuration ;
    • Microsoft.Extensions.Configuration.Binder ;
    • Microsoft.Extensions.Configuration.CommandLine ;
    • Microsoft.Extensions.Configuration.EnvironmentVariables ;
    • Microsoft.Extensions.Configuration.FileExtensions ;
    • Microsoft.Extensions.Configuration.Ini ;
    • Microsoft.Extensions.Configuration.Json.


    Observabilité

    • ajout de la surcharge à ActivityContext.TryParse qui permet d'analyser et de créer un objet ActivityContext, y compris si le contexte d'activité a été propagé à partir d'un parent distant (problème connexe) ;
    • ajout de la méthode Activity.IsStopped() pour indiquer si l'objet Activity est arrêté (problème connexe).


    Des gains de performance

    • des fonctions de productivité comme les API minimales et le rechargement à chaud ;
    • de nouvelles innovations en matière de runtime et de langage C# ;
    • la disponibilité d'un écosystème mature de bibliothèques et d'outils.


    Améliorations apportées au rechargement à chaud

    En ce qui concerne le rechargement à chaud, une fonctionnalité très demandée et très attendue, les améliorations de l'aperçu 1 comprennent les modifications suivantes qui sont désormais autorisées dans le rechargement à chaud C# pour Blazor WebAssembly et .NET pour iOS et Android :

    • ajout de lambdas statiques aux méthodes existantes ;
    • ajout de lambdas qui capturent ceci à des méthodes existantes qui ont déjà au moins un lambda qui capture ceci ;
    • ajout de nouvelles méthodes d'instance statiques ou non virtuelles à des classes existantes ;
    • ajout de nouveaux champs statiques à des classes existantes ;
    • ajout de nouvelles classes.


    Les problèmes connus du rechargement à chaud sont les suivants :

    • les champs d'instance dans les classes nouvellement ajoutées ne sont pas pris en charge ;
    • les méthodes et champs nouvellement ajoutés dans les classes existantes ou nouvelles ne sont pas visibles par réflexion.


    Optimisations générales

    • accélération des intrinsèques matériels multiplateformes supplémentaires ;
    • implémentation de Narrow et Widen en utilisant SIMDAsHWIntrinsic ;
    • ajout de l'aide JIT IsKnownConstant avec optimisation de String.Equals et str.StartsWith(char c) pour des constantes ;
    • permettre au JIT de garder les HFA/HVA dans les registres lorsqu'ils sont passés en argument/retourner des valeurs ;
    • activation du support de nint/nuint pour Vector64/128/256 ;
    • ajout du support pour X86Base.Pause() et ArmBase.Yield() ;
    • utilisation de la région préférée de PAL pour les indices de relocalisation JIT ;
    • support des appels de queue rapides dans R2R ;
    • autoriser les indirections contenues dans les tailcalls sur x64 ;
    • optimisation des séquences d'appels de cellules d'indirection de manière plus générale ;
    • éviter les créations locales supplémentaires pour les invocations de délégués.


    Source : Microsoft

    Et vous ?

    Que pensez-vous des changements et des nouveautés introduits par .NET 7 Preview 1 ?

    Voir aussi

    Microsoft célèbre les 20 ans de .NET, son Framework de développement, les dépôts .NET seraient dans le top 30 des projets open source à plus haute vélocité sur GitHub depuis 2017

    Un premier aperçu des fonctionnalités de C# 11 est disponible avec la vérification des paramètres null, et les motifs de liste

    Windows 11 Pro va désormais requérir une connexion à Internet et un compte Microsoft pour amorcer le processus initial d'installation : le débat compte local contre compte Microsoft sur la table

    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

    État de .NET : C# est le principal langage utilisé par 95 % des développeurs .NET et ASP.NET Web API vient en tête des modèles d'applications utilisés dans la communauté
    Contribuez au club : corrections, suggestions, critiques, ... Contactez le service news et Rédigez des actualités

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    novembre 2006
    Messages
    433
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : novembre 2006
    Messages : 433
    Points : 954
    Points
    954
    Par défaut
    .NET MAUI va sortir lorsqu'on aura déjà la preview de .NET 9 à ce rythme
    "S'adapter, c'est vaincre" - Cellendhyll de Cortavar

  3. #3
    Membre expérimenté Avatar de denisys
    Profil pro
    Développeur informatique
    Inscrit en
    mai 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : mai 2002
    Messages : 1 044
    Points : 1 619
    Points
    1 619
    Par défaut
    .NET MAUI
    Devait remplacer Xamarin .
    Devait faire partie intégrante de la nouvelle version de Visual studio 2022.
    Et au final..
    Est toujours en mode preview !!!

    Citation Envoyé par Kikuts Voir le message
    .NET MAUI va sortir lorsqu'on aura déjà la preview de .NET 9 à ce rythme
    Reste a savoir dans quel siècle sortira .NET MAUI
    .NET 9 , assurément dans ce siècle !!
    Mais pour ce qui concerne .NET MAUI ...
    Pas dis que Merlin l’enchanteur , a une vision précise de la date de sortie !!!
    Ne pas savoir n’est pas une faute si l’on cherche à combler ses lacunes.

    "Il n'y a pas d'obstacles infranchissables , il y a des volontés plus ou moins énergiques voilà tous" Jules Vernes

  4. #4
    Membre éprouvé
    Femme Profil pro
    Inscrit en
    juillet 2012
    Messages
    252
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Italie

    Informations forums :
    Inscription : juillet 2012
    Messages : 252
    Points : 919
    Points
    919
    Par défaut
    Je fais un bon choix a passer a Flutter et Dart, parce que a attendre MAIU j'aurais perdu des années pour avoir une GUI multi plateforme

  5. #5
    Membre confirmé
    Homme Profil pro
    CAO/DAO/Ingénierie Electrotechnique
    Inscrit en
    décembre 2014
    Messages
    309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : CAO/DAO/Ingénierie Electrotechnique

    Informations forums :
    Inscription : décembre 2014
    Messages : 309
    Points : 641
    Points
    641
    Par défaut
    Je sais pas si c'est moi qui à cause de ma maladie ait l'impression que les délais sont court entre à chaque fois mais de mon point de vue ça n'arrête pas. C'est juste mon sentiment ou bien ?

Discussions similaires

  1. Réponses: 0
    Dernier message: 06/05/2019, 19h29
  2. Réponses: 6
    Dernier message: 26/09/2011, 22h02
  3. [vb.net]Problème avec des fichiers DLL
    Par nakata77 dans le forum VB.NET
    Réponses: 1
    Dernier message: 20/09/2006, 18h40
  4. [VB.NET] Form avec des Nuances de Transparence !!
    Par jazz matazz dans le forum Windows Forms
    Réponses: 2
    Dernier message: 28/02/2006, 12h00
  5. [VB.NET] Requete avec des dates dans un DataSet
    Par leSeb dans le forum Windows Forms
    Réponses: 2
    Dernier message: 02/10/2005, 14h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo