Comment faire des formulaires Web dans VS 2022 (même si Microsoft recommande Blazor/.NET 6)
La semaine dernière, Microsoft a confirmé que Web Forms, qui fait partie d’ASP.NET de l’ancien .NET Framework, ne disparaîtra pas dans Visual Studio 2022, bien qu’il recommande Blazor comme alternative à .NET 6.
Ce n’est pas une technologie obsolète obsolète, et elle continuera à être prise en charge – en d’autres termes, Web Forms n’est pas Silverlight.
Cette nouvelle est venue dans l’annonce de Visual Studio 2022 17.2 :
“Dans la version initiale de Visual Studio 2022, nous avons introduit une nouvelle fonctionnalité pour ceux qui travaillent avec des applications Web Forms et le concepteur. Web Live Preview permet à votre application en cours d’exécution d’être la surface de conception et fournit une synchronisation du code entre la source et la surface Web pour vous aider à naviguer directement dans le fichier de code de l’élément que vous modifiez.
Après des études continues des développeurs avec des applications Web Forms, nous avons encore amélioré les expériences dans cette version. Nous avons également travaillé avec plusieurs fournisseurs de contrôle ASP.NET pour assurer leur prise en charge dans ce nouveau concepteur. Si vous travaillez dans Web Forms, veuillez basculer vers cette fonctionnalité à l’aide du menu d’options Outils > Options > Web Forms Designer et continuez à nous faire part de vos commentaires !
En réponse à un commentaire remettant en question la prise en charge de Web Forms, Microsoft a déclaré : “Web Forms n’est PAS obsolète, la prise en charge du framework est limitée aux mises à jour critiques, mais tous les projets ASP.NET Full .NET Framework sont entièrement pris en charge. Bien que nous n’investissions pas dans le Framework Web Forms, nous devons encore nous assurer que les développeurs Web Forms peuvent développer avec succès leurs applications dans Visual Studio.”
Cela a mis fin à des problèmes comme celui de janvier. 29 question dans la documentation Microsoft : “Plus de prise en charge des formulaires Web dans Visual Studio 2022 ?”
La réponse acceptée à cette question était : « Des modèles Web Forms existent dans Visual Studio 2022. Sélectionnez Application Web ASP.NET (.NET Framework). Quelques clics plus tard, vous pouvez sélectionner Web Forms. Si vous ne voyez pas l’ASP.NET Option d’application Web, puis essayez d’installer le flux de travail de développement ASP.NET et Web à l’aide du programme d’installation de Visual Studio.
Cependant, cela pourrait prendre un peu d’explication.
J’ai fait installer le “développement ASP.NET et web” comme charge de travail, comme illustré ici
mais je n’ai pas vu l’option “ASP.NET et développement web”.
En fin de compte, vous devez effectuer quelques étapes supplémentaires.
Pour accéder à l’option et profiter de la fonctionnalité Web Live Preview mentionnée ci-dessus, vous devez modifier votre programme VS 2022 (j’ai v17.2 Community Edition) via le programme d’installation en cliquant sur l’onglet “Composants individuels” à côté de “Workloads ” ” et sélectionnez “Modèles de projet et d’élément .NET Framework”, mis en surbrillance avec une case en pointillé dans cette capture d’écran :
Après avoir téléchargé et installé, lors de la création d’un nouveau projet, je pouvais “Rechercher des modèles” en tapant “Web ASP.NET” dans la zone de recherche (en limitant la recherche en spécifiant C # comme langage, Windows comme plate-forme et Web comme type de projet ), sur quoi l’option “Application Web ASP.NET (.NET Framework)” est maintenant apparue, décrite comme “Modèles de projet pour la création d’applications ASP.NET. Vous pouvez créer des formulaires Web ASP.NET, MVC ou des applications API Web et ajouter de nombreux d’autres fonctionnalités dans ASP.NET.”
Ensuite, en allant dans Outils> Options> Web Forms Designer comme Microsoft l’a mentionné ci-dessus, on vous présente des configurations pour le concepteur,
Y compris les nouveaux paramètres Web Live Preview :
Vous remarquerez que la configuration de l’accessibilité est disponible. Microsoft a indiqué que l’accessibilité était une pierre d’achoppement majeure dans l’enquête de l’équipe de développement sur le portage de Web Forms vers .NET 6, comme expliqué en réponse à un commentaire dans le message d’annonce de la v17.2 lié ci-dessus : “Oui, il y a BEAUCOUP d’utilisateurs qui développent encore Projets Web Forms dans Visual Studio. Permettez-moi d’expliquer davantage pourquoi nous travaillons sur un nouveau concepteur (“Web Live Preview”). Dans Visual Studio, nous avons des exigences d’accessibilité importantes que nous devons respecter. Et le code est écrit d’une manière qui il est presque impossible de le rendre accessible. permettre un jour une expérience similaire pour les projets ASP.NET Core (pas encore d’engagement là-bas).”
La création d’un nouveau projet aboutit à cette application de démarrage de base :
Comme Microsoft l’a indiqué ci-dessus, le concepteur de formulaires Web avec Web Live Preview, illustré ci-dessous avec l’option d’affichage Split (code et conception), a en fait été introduit en juillet 2021 dans VS 2022 Preview 2.
Si “Legacy Web Forms designer” est choisi au lieu de “Web Live Preview” dans la configuration Outils > Options > Web Forms Designer, l’IDE a un aspect légèrement différent en plus d’agir différemment, avec des options pour les vues Conception, Fractionnée ou Source (comme indiqué dans le graphique ci-dessous), tandis que Web Live Preview n’a que les options de conception et d’affichage fractionné.
La modification du code source est automatiquement répercutée dans la vue Conception. Cependant, lors du débogage du projet dans un navigateur IIS localhost, les modifications apportées au code source ne sont pas reflétées dans la vue de conception ou le site en cours d’exécution, mais ce dernier est mis à jour en cliquant sur le bouton d’actualisation du lien du navigateur, juste à côté du Hot Reload icône au-dessus de l’IDE.
Notez, cependant, que le concepteur est relativement nouveau et peut être sujet à des problèmes, car on m’a présenté ce message lors du lancement du projet ASP.NET avec la vue de concepteur héritée (n’utilisant pas Web Live Preview): “Visual Studio a cessé de répondre pour 11 secondes. La désactivation de l’extension Web Live Preview 17.2.91.23537 peut aider.”
Microsoft recommande Blazor
De plus, comme mentionné, en raison de la difficulté de portage des applications ASP.NET de .NET Framework vers .NET 6 (successeur de « .NET Core »), Microsoft recommande d’autres options dans la documentation intitulée « Stratégies de migration des formulaires Web ASP.NET “applications.”
“La migration directe d’ASP.NET Web Forms vers ASP.NET Core n’est pas prise en charge. Cependant, il existe des stratégies pour faciliter le passage à ASP.NET Core. Vous pouvez migrer votre fonctionnalité Web Forms vers ASP.NET Core avec succès en :
- Éloignez les fonctionnalités non Web de vos projets.
- Utilisation des API Web dans la mesure du possible.
- Considérant Blazor comme une option pour une interface utilisateur plus moderne.”
En ce qui concerne cette dernière option pour Blazor, une documentation supplémentaire intitulée Blazor pour les développeurs de formulaires Web ASP.NET est disponible, indiquant: “ASP.NET Web Forms livré avec la version originale du .NET Framework et activé le développement Web familier en utilisant de nombreux modèles aux développeurs de bureau, comme les contrôles d’interface utilisateur réutilisables avec une gestion simple des événements. Cependant, aucune des offres ASP.NET ne fournit un moyen d’exécuter du code qui s’exécute dans le navigateur de l’utilisateur. Pour ce faire, il faut écrire du JavaScript et utiliser l’un des nombreux frameworks JavaScript et Des outils qui sont devenus et ont perdu de leur popularité au fil des ans : jQuery, Knockout, Angular, React, etc. »
Cette page pointe vers un ebook du même nom “pour les développeurs ASP.NET Web Forms à la recherche d’une introduction à Blazor liée à leurs connaissances et compétences existantes. Ce livre peut aider à démarrer rapidement un nouveau projet basé sur Blazor ou à aider tracer une feuille de route pour moderniser une application ASP.NET Web Forms existante.”
Cet ebook contient des passages comprenant :
Au moment de la rédaction de cet article, près d’un demi-million de développeurs Web utilisent les formulaires Web ASP.NET chaque mois. Le framework ASP.NET Web Forms est stable au point que les documents, exemples, livres et articles de blog d’il y a dix ans restent utiles et pertinents. Pour de nombreux développeurs Web .NET, « ASP.NET » est toujours synonyme de « formulaires Web ASP.NET », comme c’était le cas lorsque .NET a été conçu pour la première fois. Les arguments sur les avantages et les inconvénients des formulaires Web ASP.NET par rapport aux autres nouveaux frameworks Web .NET peuvent faire rage. Les formulaires Web ASP.NET restent un cadre populaire pour la création d’applications Web.
Tout en réitérant également le message susmentionné selon lequel Web Forms ne disparaîtra pas de sitôt :
Cela signifie-t-il que ASP.NET Web Forms est mort et ne doit plus être utilisé ? Bien sûr que non! Tant que le .NET Framework est livré avec Windows, les formulaires Web ASP.NET seront un framework pris en charge. Pour de nombreux développeurs Web Forms, le manque de support multiplateforme et open source n’est pas un problème. Si vous n’avez pas besoin de prise en charge multiplateforme, d’open source ou de l’une des autres nouvelles fonctionnalités de .NET Core ou .NET 6, vous pouvez vous en tenir aux formulaires Web ASP.NET sous Windows. Les formulaires Web ASP.NET continueront d’être un moyen productif d’écrire des applications Web pendant de nombreuses années.
Quel était le but de cette astuce expliquant comment faire des projets Web Forms dans VS 2022.
Il répond également à une Magazine Visual Studio lecteur qui a posé cette question dans la section des commentaires de l’article récent “Microsoft: Web Forms Is No Silverlight”: “L’auteur dit-il donc que ASP.NET Web Forms sera toujours disponible dans l’environnement de développement … à venir VS 2022 calendrier de sortie ?”
La réponse est oui.
A propos de l’auteur
David Ramel est éditeur et rédacteur pour Converge360.
.