human
Quels sont certains des avantages d'en utiliser un par rapport à l'autre
gpt
ASP.NET Web Forms et MVC sont deux frameworks web développés par Microsoft - ce sont tous deux de bons choix. Aucun des frameworks web ne doit être remplacé par l'autre, et il n'y a pas de plans pour les 'fusionner' en un seul framework. Le support et le développement continus sont effectués en parallèle par Microsoft et aucun d'entre eux ne va 'disparaître'.
Chacun de ces frameworks web offre des avantages/inconvénients - certains d'entre eux doivent être pris en compte lors du développement d'une application web. Une application web peut être développée en utilisant l'une ou l'autre technologie - cela peut rendre le développement pour une application particulière plus facile en sélectionnant une technologie plutôt que l'autre et vice versa.
ASP.NET Web Forms:

* Le développement prend en charge l'état
• Donne l'illusion qu'une application web est consciente de ce que l'utilisateur a fait, similaire aux applications Windows. C'est-à-dire que cela rend la mise en œuvre de fonctionnalités 'wizard' un peu plus facile. Les formulaires web font un excellent travail en masquant une grande partie de cette complexité au développeur.
* Développement d'application rapide (RAD)
• La capacité de simplement 'se lancer' et commencer à livrer des formulaires web. Cela est contesté par certains de la communauté MVC, mais poussé par Microsoft. En fin de compte, cela dépend du niveau d'expertise du développeur et de ce avec quoi il est à l'aise. Le modèle des formulaires web a probablement une courbe d'apprentissage moins importante pour les développeurs moins expérimentés.
* Boîte à outils de contrôles plus grande
• ASP.NET Web Forms offre une boîte à outils (contrôles web) beaucoup plus grande et plus robuste, tandis que MVC offre un ensemble de contrôles plus primitifs s'appuyant davantage sur des contrôles riches côté client via jQuery (Javascript).
* Maturité
• Il existe depuis 2002 et il y a une abondance d'informations concernant les questions, les problèmes, etc. Offre plus de contrôles tiers - il faut prendre en compte vos boîtes à outils existantes.

ASP.NET MVC:

* Séparation des préoccupations (SoC)
• D'un point de vue technique, l'organisation du code dans MVC est très propre, organisée et granulaire, ce qui rend plus facile (espérons-le) à une application web de s'étendre en termes de fonctionnalités. Favorise une excellente conception d'un point de vue développement.
* Intégration plus facile avec des outils côté client (outils d'interface utilisateur riches)
• Plus que jamais, les applications web deviennent de plus en plus riches, comme les applications que vous voyez sur vos ordinateurs de bureau. Avec MVC, cela vous donne la possibilité de vous intégrer à de tels outils (comme jQuery) avec plus de facilité et de manière plus transparente que dans les formulaires web.
* Optimisation pour les moteurs de recherche (SEO) / Stateless
• Les URL sont plus conviviales pour les moteurs de recherche (par exemple, mywebapplication.com/users/1 - récupérer l'utilisateur avec un ID de 1 par rapport à mywebapplication/users/getuser.aspx (ID passé en session)). De même, étant donné que MVC est sans état, cela élimine le casse-tête des utilisateurs qui ouvrent plusieurs navigateurs web à partir de la même fenêtre (collisions de session). Dans le même ordre d'idées, MVC respecte le protocole web sans état plutôt que de 'lutter' contre lui.
* Fonctionne bien avec les développeurs ayant besoin d'un haut degré de contrôle
• De nombreux contrôles dans les formulaires web ASP.NET génèrent automatiquement une grande partie du HTML brut que vous voyez lorsqu'une page est rendue. Cela peut causer des problèmes aux développeurs. Avec MVC, il est plus facile d'avoir un contrôle total sur ce qui est rendu et il n'y a pas de surprises. Encore plus important, les formulaires HTML sont généralement beaucoup plus petits que les formulaires Web, ce qui peut entraîner une amélioration des performances - quelque chose à prendre au sérieux.
* Développement piloté par les tests (TDD)
• Avec MVC, vous pouvez plus facilement créer des tests pour le côt