L'état de .NET: compilation de questions-réponses

Lisez certaines des questions les plus convaincantes de notre webinaire sur l'état de .NET après la sortie de .NET 5.
Après la sortie officielle de .NET 5 à .NET Conf 2020, tout le monde a des questions sur ce que cela signifiera pour leurs diverses expériences dans le monde .NET. Progress a organisé un webinaire pour expliquer ce que signifie .NET 5 pour les développeurs, The State of .NET avec deux de nos propres développeurs (qui sont également des MVP Microsoft).
Vous pouvez voir le webinaire ici:
Au cours de ce webinaire, les lignes de discussion étaient ouvertes et mises en service par d'autres ingénieurs et propriétaires de produits Telerik. Ce billet de blog est une compilation de certaines des questions et réponses que nous pensons que vous trouverez les plus pertinentes.
.NET 5
Q: Des problèmes lors de la mise à niveau de .NET Core 3.1 vers .NET 5.0?
R: Il ne devrait généralement pas y en avoir. MS a également préparé divers guides pour la migration.
Q: Qu'est-ce que LTS?
R: LTS signifie support à long terme – c'est une politique de gestion du cycle de vie du produit dans laquelle une version stable est maintenue plus longtemps période de temps supérieure à l’édition standard. Microsoft s'engage à prendre en charge les frameworks LTS pendant trois ans après la sortie initiale. Microsoft a annoncé que les versions paires auront LTS; les versions impaires ne le seront pas. Ainsi, .NET 6, dont la sortie est prévue l'année prochaine, sera une version prise en charge à long terme.
Si une version (comme .NET 5) n'a pas de support à long terme, cela ne signifie pas que le framework ne sera pas être pris en charge. Cela signifie que le support prendra fin trois mois après la prochaine version paire (donc le support .NET 5 devrait se terminer en février 2022).
De plus, les versions LTS (versions paires) recevront des correctifs critiques et de compatibilité tout au long de leur cycle de vie; Les versions actuelles (versions impaires) recevront ces mêmes correctifs et seront également mises à jour avec des innovations et des fonctionnalités compatibles.
Les mises à jour sont cumulatives, chaque mise à jour étant basée sur toutes les mises à jour qui l'ont précédée. Un appareil doit installer la dernière mise à jour pour rester pris en charge. Les mises à jour peuvent inclure de nouvelles fonctionnalités, des correctifs (de sécurité et / ou non liés à la sécurité) ou une combinaison des deux. Toutes les fonctionnalités d'une mise à jour ne fonctionneront pas sur tous les appareils.
Plus d'informations sur les différentes versions de .NET et leur prise en charge sont disponibles ici .
Q: Les entreprises devraient-elles chercher à passer à .NET 5 avec une version actuelle ou devraient-ils attendre .NET 6 qui sera LTS?
R: C'est une excellente question sans réponse correcte unique. Si vous avez besoin d'utiliser les nouvelles fonctionnalités (en particulier des éléments tels que Blazor WebAssembly), optez pour .NET 5, en particulier si vous avez du temps avant de devoir mettre en ligne. Si vous êtes déjà en ligne et avez besoin de stabilité et de sécurité, vous voudrez peut-être rester sur 3.1 jusqu'à ce que .NET 6 tombe l'année prochaine, car ce sera la prochaine LTS. En fin de compte, cela dépend entièrement de vous.
Pour notre part, nous sommes là pour vous, que vous mettiez à jour aujourd'hui ou dans un an. Nous prenons en charge les versions actuelles de .NET et sommes également rétrocompatibles. Et, avec un bundle DevCraft, vous aurez accès à des composants pour tous les frameworks frontend populaires, ce qui vous permettra de créer des applications Blazor aujourd'hui ou demain, ou de créer une excellente interface avec d'autres frameworks Web ou JavaScript .NET.
Q: Pour desktop, quelles sont les différences de déploiement entre .NET Framework et .NET 5?
R: .NET 5 a également fourni ClickOnce, qui l'a mis à égalité en termes de capacités de déploiement avec le .NET Framework. En outre, .NET 5 a le concept d'application de fichier unique qui vous permet d'expédier les bits de version .NET nécessaires avec votre application. Plus d'infos ici .
Q: Nous utilisons .NET pour notre système ERP. Est-ce que .NET 5 offrira des avantages si vous n'êtes pas multiplateforme?
R: Microsoft a généralement amélioré les performances du framework dans .NET 5, vous devriez donc également voir des avantages.
Blazor
Q: Blazor est-il là pour rester, ou est-ce juste un autre ActiveX ou Silverlight?
R: Il est là pour rester. Il est basé sur des standards Web ouverts et modernes, et non sur des plugins et applets propriétaires.
Q: Pouvez-vous utiliser à la fois Blazor WebAssembly et Blazor Server en fonction du client qui se connecte à l'application pour prendre en charge les utilisateurs hors ligne?
R: Peut-être que grâce à une magie similaire au pré-rendu du serveur qu'ils ont ajouté pour Wasm, vous pourriez être en mesure de choisir ce que vous voulez rendre via un balisage Razor dans la page d'index. Je n'ai pas essayé cela, cependant.
Q: Blazor serait-il alors bon pour les applications mobiles non connectées, sauvegardant les données (y compris les binaires tels que les photos) localement, puis se synchronisant avec les services Web / serveur une fois connecté?
R: Oui, vous pouvez utiliser des PWA pour fournir des fonctionnalités hors ligne via WebAssembly. (Plus de ici .)
Q: Si je n'ai pas besoin de support hors ligne, Blazor Server est-il le chemin à parcourir?
R: Si vos utilisateurs ont une très faible latence au serveur (comme dans un intranet) – oui. Si la latence est élevée, vous devriez toujours envisager WebAssembly.
Q: Dans quelle mesure Blazor fonctionne-t-il avec les fichiers côté client? Comme la logique côté client sur les fichiers CSV volumineux (à filtrer avant l'envoi au serveur)?
R: Ce sera encore un peu plus lent que Blazor côté serveur, car WebAssembly est toujours plus lent. Lorsque le multithreading et l'AoT entrent en jeu, ces performances s'améliorent considérablement. Pour le moment, ce serait à vous de choisir si le compromis entre le code Wasm étant un peu plus lent vaut la peine d'alléger le serveur.
Q: Les protos doivent-ils être définis sur le client et sur le serveur? Ou avez-vous la possibilité de les mettre dans un projet partagé?
R: Je les ai eues dans un projet partagé, donc il devrait être possible de les partager. Sinon d'une manière différente, au moins comme une action de construction pour copier les fichiers. Ceci peut être un début intéressant.
Q: Est-ce que Blazor convient à la création de sites Web publics ou uniquement aux pages d'applications internes? Y a-t-il des implications SEO?
R: Maintenant qu'il y a un pré-rendu de serveur pour WebAssembly, il sera plus approprié et sera capable de mieux gérer le référencement aussi.
Q: Comment est le rendu pour plusieurs navigateurs tels que IE, Edge, Chrome, etc.?[19659007OftenA: Blazor ne prend pas en charge IE au niveau du framework. D'autres navigateurs modernes comme Chrome, Safari, Firefox, Edge sont OK. Q: Comment le navigateur supporte-t-il Blazor?
R: Navigateurs modernes — Chrome, Firefox, Safari, Edge, mais pas d'Internet Explorer
Q: Une grande partie de mon équipe de développement Web a encore des problèmes avec les incohérences de sortie de l'interface utilisateur entre les différents navigateurs. Est-ce que Blazor, ou l'une de ces nouvelles technologies .NET 5, atténue ce problème?
R: La suite Telerik UI for Blazor fonctionne de la même manière sur tous les navigateurs qu'elle prend en charge et génère le même code HTML et
Q: Blazor aura-t-il la capacité de créer des PWA (applications Web progressives) pour fonctionner sur mobile à l'avenir?
R: Il peut déjà . Vous pouvez consulter notre Stocks Portfolio PWA pour une manière d'implémenter la fonctionnalité PWA dans une application Blazor Wasm. Des informations supplémentaires sur le sujet sont disponibles dans ce billet de blog .
Q: Pouvez-vous expliquer les assemblages à charge différée?
Si l'assemblage X est requis, X est chargé; alors que les assemblys YZ peuvent ne pas être requis, donc ne sont pas transmis?
R: Vous choisissez sur quelle page charger les assemblys qui sont marqués comme paresseux, donc lorsque cette page est demandée, alors seulement sont ces assemblys demandés au serveur.
Q: D'accord, mais Blazor est toujours en train de charger l'image entière pour cette page (c'est-à-dire que l'exigence de Wasm sous-jacente n'a pas changé vis-à-vis de Blazor). [19659003] R: Wasm et l'environnement d'exécution du framework sont toujours requis. Mais vous pouvez supprimer quelques Mo d'assemblages non essentiels.
Q: Bien… aidez-moi à mieux comprendre le chargement paresseux. Comme je l'ai postulé plus tôt, les assemblages XYZ sont impliqués, mais seul X a le contrôle dont j'ai besoin. Donc, seul X est transféré?
R: Je vous recommande de commencer par les documents MSDN à ce sujet. C'est à vous de choisir les assemblages à charger et quand.
Q: Alors Blazor remplace JavaScript?
R: Oui et non. Certaines choses sont encore effectuées avec JS – il fait partie intégrante du Web – comme les API de navigateur (par exemple, caméra, emplacement,…) et l'obtention de la taille des éléments. Vous avez donc toujours besoin de JS, mais vous en écrirez beaucoup moins, et il y a de fortes chances que les packages NuGet existants englobent ces fonctionnalités pour vous afin que vous puissiez les utiliser uniquement avec C #.
Q: Blazor est-il meilleur que Angular ?
R: Il n'y a pas une seule réponse à cela. Cela dépend beaucoup des compétences et des préférences de votre équipe. Ce billet de blog peut vous donner quelques idées.
Q: L'expérience de Angular aide-t-elle à apprendre Blazor, non pas en termes de syntaxe du langage mais d'un point de vue de la conception, comme les modules, les contrôleurs, les services , etc.?????????? .19659007. Il existe quelques concepts communs. Ce message peut vous donner quelques idées. Q: Les applications Blazor peuvent-elles être hébergées côte à côte avec Razor Pages, ASP.NET Core in IIS?
A : Peut-être, mais il peut y avoir une certaine ruse dans le routage. Vous pouvez cependant héberger des applications Blazor dans Razor Pages.
Q: Le code de rasoir doit-il être placé dans le même fichier que le balisage?
R: Non, vous pouvez utiliser des classes partielles: https : //www.telerik.com/blogs/using-a-code-behind-approach-to-blazor-components .
Q: Puis-je porter mon interface utilisateur dans Blazor / Razor ou WPF vers .NET 5 backend / logic?
R: Oui, Telerik UI pour Blazor prend déjà en charge .NET 5 dans sa version 2.19.0.
Q: Recommanderiez-vous de faire Blazor avec Xamarin? Ou vous en tenir à Xamarin Forms?
R: Les liaisons Blazor pour Xamarin sont encore expérimentales, donc si vous pouvez faire confiance et aller avec cela dépend des besoins et du calendrier de votre projet.
Q: Blazor remplacera-t-il Xamarin ?
R: Il est plus probable que MAUI remplacera Xamarin en tant que cadre de ciblage multiplateforme. Blazor, pour le moment, cible les applications Web. Il existe cependant des expériences sur l'utilisation de la syntaxe Blazor pour écrire des applications Xamarin. Nous verrons ce que fait MS.
MAUI / Xamarin
Q: Avez-vous des exemples avec vos composants Blazor qui l'utilisent comme liaisons Blazor Mobile?
R: Les liaisons mobiles sont pour Xamarin et nous avons quelques composants Xamarin pour eux: https://docs.telerik.com/devtools/xamarin/blazormobilecontrols/blazor-mobile-bindings-overview .
Q: Rendre Xamarin dans WPF, serait-ce aussi fonctionne avec les liaisons mobiles Blazor?
R: Les liaisons mobiles Blazor sont destinées à écrire n'importe quelle application Xamarin, y compris la prise en charge des futures plates-formes telles que WPF.
Q: MAUI fonctionnera-t-il sur le bureau?
R: Oui, cela couvrira Windows et macOS.
Q: Quelle prise en charge multiplateforme dans Xamarin a été déplacée de .NET 5 vers .NET 6?
R: Microsoft a annoncé l'inclusion du support pour macOS avec .NET 6. Plus d'informations sont disponibles ici .
Q: MAUI va-t-il remplacer le besoin de projets comme Uno?
A: [194590] 15] MAUI utilise la syntaxe Xamarin XAML, tandis que Uno utilise la syntaxe UWP XAML. Les deux produisent les mêmes applications natives par plate-forme.
Q: Quel est l'impact de MAUI sur WPF?
R: À ce stade, Microsoft déclare qu'avec MAUI, il ajoutera la prise en charge de macOS et de WPF . Plus d'informations sont disponibles ici .
Telerik
Q: L'interface utilisateur de Telerik pour .NET AJAX est-elle toujours en cours de mise à jour ou tombe-t-elle en disgrâce?
R: C'est toujours en cours de mise à jour et en cours pour prendre en charge tous ceux qui ont encore (et continueront d'avoir pendant des années) des applications Web Forms.
Q: Est-ce que l'une des suites d'outils Telerik prend en charge Electron .NET?
R: Bien nous ne le ciblons ni ne le prenons en charge, s'il peut exécuter une application .NET Core, vous devriez pouvoir y faire fonctionner nos composants .NET Core.
Q: Envisagez-vous de fournir des fournisseurs / interfaces ou des assistants pour le différentes méthodes d'écosystème, telles que gRPC, etc.?[19659007: Consultez l'exemple illustré ici . Q: À propos d'EF Core 9 et OData, fournissez-vous l'accès à ces points de terminaison comme le filtre, le tri, etc. ?[19659007[19659007): Vous pouvez utiliser le package Telerik DataSource pour cela. Cependant, il vous appartiendra généralement de sérialiser et de désérialiser la requête. Mais ce sont des spécificités générales OData. Avec Telerik UI for Blazor la grille a une méthode d'extension qui peut également effectuer la sérialisation vers OData v4. Q: Recommandez-vous une configuration pour un grand nombre de données que vous souhaitez afficher dans Web ou sur ordinateur? Grille, Gantt, liste, feuille de calcul, etc. J'ai à l'esprit.
Q: Recommandez-vous une configuration pour un grand nombre de données que vous souhaitez afficher dans Web ou sur ordinateur? Grille, Gantt, liste, feuille de calcul, etc. J'ai à l'esprit.
R: RadGrid avec sa fonction de virtualisation vous permettrait de gérer des centaines de milliers de lignes sans impact négatif sur l'expérience utilisateur.
Q: La plupart ou tous les widgets Telerik UI pour ASP.NET sont-ils disponibles pour les versions Kendo UI?
R: Oui, tous les composants Telerik UI pour ASP.NET Core sont disponibles dans Kendo UI car ils sont des wrappers sur Kendo UI pour jQuery. Voici une autre ressource sur le sujet. 🙂
Q: Une licence Telerik inclut-elle Kendo UI + Telerik UI pour WinForms + Telerik UI pour ASP.NET ?
R: Si vous souhaitez profiter de Kendo UI, Telerik WinForms et Telerik UI pour ASP.NET Core, alors la licence parfaite serait celle DevCraft . Il inclut tous les composants d'interface utilisateur de divers frameworks et de grands outils tels que Reporting Test Studio et JustMock . 🙂
Technologies supplémentaires / Questions de compatibilité
Q: Y a-t-il une possibilité intégrée avec .NET 5 pour créer des API GraphQL?
R: Il n'y a pas de méthode intégrée pour les API GraphQL; cependant, vous pouvez vous référer aux blogs sur le sujet qui montrent comment créer et utiliser GraphQL dans votre application .NET similaire à celle-ci .
Q: Concernant l'application Web et l'API hébergées dans Azure App Services , .NET 4.8 vient d'être déployé l'été dernier. Avez-vous une idée de la date de déploiement de .NET 5 dans Azure?
R: Pendant .NET Conf, Microsoft a dit qu'il y travaillait, donc cela devrait se produire le plus tôt possible.
Q: Est-ce que il est temps de passer de l'API Web REST à gRPC et est-il pris en charge dans Azure?
R: Vous devriez pouvoir démarrer une telle migration si vous le souhaitez. Il économise des octets réseau et comme il existe des packages .NET pour cela, il devrait également fonctionner sous Azure (il est préférable de résoudre ce problème avec les documents MS, même si je vois déjà des articles de blog à ce sujet, cela devrait donc fonctionner).
Q: Les commandes gRPC et Blazor sont-elles autonomes? Travailleront-ils dans un projet écrit en Visual Basic?
R: Pour Blazor, seul C # est pris en charge par MS. Pour gRPC – Je n'ai pas essayé d'utiliser VB avec cela et je ne peux que supposer, mais comme il se compile en .NET Standard, je pense que cela devrait être possible.
Q: Quelle version de Visual Studio utiliser pour .NET 5? [19659007] R: Visual Studio 2019 16.8 ou version ultérieure est requis pour utiliser .NET 5 à partir de Visual Studio. Q: Visual Basic disparaîtra-t-il bientôt?
R: Vérifiez ceci . 🙂 À partir de .NET 5, Visual Basic prendra en charge la bibliothèque de classes, la console, Windows Forms, WPF, Worker Service et l'API Web ASP.NET Core. Microsoft déclare: «Nous prenons en charge ces types d’applications afin de fournir un bon chemin pour le client VB existant qui souhaite migrer ses applications vers .NET Core.»
Q: Notre application SaaS est conçue avec VB .NET (et principalement Formulaires Web). Cela sera-t-il toujours soutenu à l'avenir? Serait-il judicieux pour nous de migrer?
R: Microsoft a annoncé que Web Forms resterait uniquement dans .NET 4.x (actuellement à 4.8), et qu'il ne sera pas disponible dans .NET Core ou futures versions .NET. Ainsi, vous voudrez peut-être envisager de migrer vers un framework plus moderne avant que «l'ancien» .NET ne soit plus supporté par MS.
Q: Est-il possible de convertir une solution MVC 4 en .NET 5?
R: Cela devrait être possible. MS fournit de nombreux guides de migration et il pourrait y en avoir un pour cela aussi. En règle générale, le moteur de vue est toujours disponible, donc le ciblage de frameworks plus modernes devrait vous permettre de migrer. Microsoft travaille également sur une webview encore plus légère .
Q: Savez-vous s'il y aura des incompatibilités entre .NET 5 SignalR et .NET Standard / Core SignalR?
R: Je ne suis pas au courant des changements majeurs à cet égard, mais il est préférable de vérifier cela avec la documentation MS.
Q: SignalR push / pull est-il implémenté à l'aide de WebSockets?
A: Par défaut , oui.
Q: UWP remplacera-t-il finalement WPF parce qu'ils utilisent tous les deux XAML et le bureau cible?
R: Probablement pas. WPF est une technologie éprouvée et largement répandue.
Q: Quand utilisez-vous .cshtml contre .razor? Nous avons utilisé .NET Core et avons .cshtml.
R: Le .cshtml est une page Razor qui n'est pas Blazor. Un .razor est un composant de rasoir que vous pouvez généralement utiliser dans une application Blazor ou en tant que composant dans une page Razor.
Q: Question complémentaire: Nous avons utilisé viewComponents comme composants dans Razor Page, n'est-ce pas la bonne façon de le faire dans .NET 5?
R: C'est une option. Vous pouvez également continuer avec l'approche viewComponent dans .NET 5, si vous choisissez d'utiliser ASP.NET Core 5.0.
Q: Je peux voir l'extension de la page Index.razor. Est-ce quelque chose de nouveau?
R: Ceci est l'extension pour les composants Razor. Il existe depuis qu'ils sont disponibles pour les pages Razor .NET Core.
À propos de Telerik DevCraft
Telerik DevCraft est la collection la plus puissante d'outils de développement JavaScript pour Telerik .NET et Kendo UI, qui comprend des fonctionnalités modernes – des composants d'interface utilisateur riches et conçus par des professionnels pour les applications Web, de bureau et mobiles, des solutions de gestion de rapports et de rapports, des bibliothèques de traitement de documents, des outils de test et de simulation automatisés.
DevCraft vous fournira tout ce dont vous avez besoin pour fournir des applications exceptionnelles en moins de temps et avec moins d'effort.
Avec un support technique primé fourni par les développeurs qui ont conçu les produits et une tonne de ressources et de formations, vous pouvez être assuré que vous avez un partenaire stable sur lequel compter pour vos défis quotidiens tout au long de votre développement logiciel voyage.
Téléchargez votre essai gratuit de 30 jours dès aujourd'hui!
Source link