2010-12-13 7 views
7

Je suis un gars de premier plan qui a choisi ASP.NET WebForms en travaillant sur divers projets dans mon agence. J'ai un projet avec un développeur à l'esprit, et je veux utiliser/apprendre MVC pour cela - mais il pense qu'il ne vaut pas la peine d'utiliser MVC du tout. Son opinion est que les avantages de MVC sont perçus, et que la performance ne sera pas un problème, et il est préférable de simplement aller de l'avant avec WebForms.Apprendre MVC dans un nouveau projet, ou rester avec WebForms?

Le projet est une application Web qui donnera aux gens des outils de planification de projet, la création d'une base de données de contacts personnels et leur propre site Web de base. Mes sentiments personnels sont que je déteste tout le ballonnement qui vient avec les sites WebForms - le ViewState, l'un, les énormes fichiers JS, le manque de contrôle du balisage (par exemple les contrôles de validation).

De toute évidence, ASP.NET WebForms est lié aux ressources, mais MVC concerne les structures d'URL et les interprète. Après discussion et recherche, je pense maintenant qu'en raison de la courbe de transition/apprentissage supposée importante de MVC, il est préférable de rester avec WebForms.

J'ai regardé Ryan Singer travailler avec RoR MVC en personne, et j'ai été stupéfait par la rapidité de développement. Dois-je simplement accepter qu'il est plus pragmatique et productif de rester avec WebForms maintenant, et de ne pas utiliser MVC, ou devrais-je trouver un moyen de convaincre mon collègue que MVC est la bonne chose à faire?

+0

Excuses, Ian, pour la grammaire pauvre et inconsistante. J'étais pressé de poster avant d'entrer dans une réunion. Merci pour l'édition, bien qu'un peu pédant. –

Répondre

6

Je recommande fortement le front ASP.NET MVC - peut-être que ça prend du temps pour y entrer! Mais c'est certainement ça. Si, par exemple, revenir à changer quoi que ce soit rétrospectivement, c'est beaucoup plus souple et plus facile.

Je l'utiliserais avec LINQ, par exemple si vous utilisez une base de données.

ASP.NET MVC peut sembler très difficile au début, mais une fois que vous y êtes arrivé, vous pouvez réaliser des projets beaucoup plus rapidement. C'est certainement mon opinion.

Une autre bonne chose est que nous avons construit un bon support pour Test Driven Development.


Modifier(explication ajoutée):

L'une des raisons est que MVC est construit est 3 parties Modèle, Vue et Contrôleur. Cela signifie que vous pouvez partager la logique du balisage dans le bon sens. Je ne vais pas entrer dans les détails de la façon dont MVC est construit ici, car c'est un chapitre à part! (http://en.wikipedia.org/wiki/Model%E2%80%93View%E2%80%93Controlle r)

Et comme je l'ai mentionné ci-dessus alors vous avez un très bon support pour TDD, que personnellement je fais que je pourrais utiliser uniquement pour cette raison. URL routage dans ASP.NET MVC est également assez fanatique, ce qui m'a manqué de bon support dans ASP.NET. ScottGu a écrit un blog vraiment bien ceci: http://weblogs.asp.net/scottgu/archive/2007/12/03/asp-net-mvc-framework-part-2-url-routing.aspx

+0

Et allez avec le rasoir! – Zote

+1

Donc le point que vous faites est, il est plus facile à maintenir qu'un projet de formulaires Web? Pourriez-vous expliquer pourquoi vous pensez cela? –

4

MVC est une grande courbe d'apprentissage, car il est très différent de formulaires Web. Si vous faites ce projet avec quelqu'un d'autre qui ne veut pas apprendre MVC, alors vous pouvez aussi bien coller avec des formulaires Web.Vous ne pouvez pas enseigner à quelqu'un qui ne veut pas apprendre, donc vous allez fondamentalement tourner inutilement vos roues, et vous avez déjà un arrière-plan dans les formulaires Web de sorte que vous serez au moins à l'aise et familier avec l'environnement assez pour faire le progrès. Si vous le faites par vous-même ou avec une équipe désireuse d'apprendre MVC, je vous recommande d'utiliser moins cette option pour la performance et la disponibilité des outils que pour apprendre quelque chose de nouveau et évoluer vers un framework qui est largement construit sur le concept de développement piloté par les tests. Asp.Net MVC est un cadre très différent, et il a des avantages certains, mais vous aurez également affaire à l'inconvénient de l'inexpérience, vous aurez donc besoin d'un projet avec lequel vous pouvez prendre votre temps car vous Il faudra sans doute recommencer certaines choses plusieurs fois avant d'obtenir les choses comme vous le voulez. Vous commencerez, apprendrez quelque chose de nouveau qui vous fera retourner à la case départ, apprendre quelque chose de nouveau qui vous fera retourner à la case départ, faire mousser, rincer, répéter.

+0

C'est où je suis maintenant. Ma question est la suivante: est-ce que cela en vaut la peine maintenant, au début d'un projet? –

+0

@ user315412 - Si vous pouvez consacrer du temps à l'apprentissage et avoir la patience de pouvoir arrêter/repartir de zéro après avoir appris quelque chose de révolutionnaire, alors je dirais oui. MVC me semble être meilleur pour de plus grands projets, mais même un petit projet est décent en tant qu'apprenant. –

0

Il est probablement utile d'apprendre MVC juste pour l'éducation. Cela donne des avantages aux dev de front-end, mais il y a des inconvénients pour les gars de backend. Cependant, pour un petit projet avec un travail normal côté client, c'est probablement la même chose, donc vous pouvez utiliser le projet pour apprendre une nouvelle technologie. BTW Je préfère aussi les Web Forms car c'est un niveau d'abstraction plus élevé.

Habituellement, vous devriez choisir ASP.NET MVC lorsque vous avez AJAX lourd frontend avec beaucoup d'animations et d'effets visuels où le contrôle sur le balisage est important. Vous devriez choisir Web Forms si vous avez beaucoup d'entrées de données et de contrôles indépendants du style de widget que vous réutilisez beaucoup parce que vous pouvez encapsuler le comportement beaucoup mieux.

+0

"inconvénients pour les gars backend" -> comment ça va? Je le trouve très similaire d'avant en arrière. – Fermin

+0

@Stilgar - Je ne vois pas d'inconvénients pour les gars backend. Étant donné LINQ to SQL et l'utilisation du modèle fortement typé, je le trouve presque idéal en tant que "backend guy". Si vous pensez que les formulaires Web ont un «niveau d'abstraction supérieur», je ne pense pas que vous ayez pris le temps d'apprendre MVC. Je trouve que MVC a un niveau d'abstraction beaucoup plus élevé que les formulaires web, et je viens juste de faire surface (je suis un développeur de formulaires web en transition). –

+0

Les composants @Joel peuvent masquer les détails d'implémentation comme le code HTML nécessaire pour afficher un contrôle ou transformer un HTTP POST en événement .NET. Par conséquent, les composants sont un niveau d'abstraction plus élevé. Avec Web Forms, vous pouvez développer un site Web avec presque aucune connaissance du HTML. Ce ne sera pas le meilleur balisage jamais créé, mais vous pouvez le faire. – Stilgar

0

Il existe 100 raisons de choisir MVC ou Web Forms. Mais étant donné que vous êtes un développeur front-end, la courbe d'apprentissage pour vous n'est pas aussi importante que les développeurs back-end, qui ont généralement très peu d'idée sur le codage HTML. Vos compétences existantes comme JS, CSS et Html seront portées de façon transparente à MVC.

Questions connexes