8
votes

Ma première application Web .NET - Dois-je aller directement au cadre MVC (C.F. ASP.NET)

J'ai fait des winforms Travailler en C # mais en déplaçant maintenant pour développer une application Web de l'application Web de .NET (C #). J'ai de l'expérience en développant des applications Web dans Ruby sur des rails (et un peu avec Java avec des pages JSP & Struts MVC).

Devrais-je passer directement au cadre MVC? (Contrairement à Aller ASP.NET) qui provient du point de vue de la direction future de Microsoft et de la facilité à la hausse de moi-même.

ou si vous aimez, étant donné mon expérience à ce jour, qu'est-ce que les avantages / inconvénients pour moi de MVC versus asp.net?

merci


0 commentaires

7 Réponses :


7
votes

aperçoit ici, il vous aidera Choisir la bonne programmation Modèle


0 commentaires

0
votes

Je devrais me familiariser avec la langue avant d'utiliser des trucs "fantaisie" comme MVC, car c'est juste plus facile à apprendre quand on pourrait presque penser dans la langue (mais ce n'est pas nécessaire).


2 commentaires

Venant de Ruby sur Rails, ASP.NET WebForms est "Fancy" pas la variante ASP.NET MVC


C'est ce que je devinais Sztupy - que pensez-vous?



2
votes

MVC fait partie de ASP.NET. Vous devez vouloir dire une forme Web MVC VS à laquelle la réponse serait: provenant d'un fond de WinForm, vous trouverez une offre Web plus facile à utiliser. Pour l'avenir, allez MVC.


0 commentaires

3
votes

Si vous devez travailler vraiment près du fil, MVC est un excellent choix. Je veux dire, si vous avez besoin d'avoir des contrôles très serrés sur le balisage, alors; tout en éveyant avec des formes Web; C'est beaucoup plus facile avec MVC. Cela serait courant pour les applications ciblant un public public (E.G. Internet) qui pourrait avoir une expérience graphique plus riche. En revanche, si vous développez une application commerciale interne (E.G. Intranet) où la présentation graphique n'est pas aussi critique, WebForms a beaucoup de capacités d'activation très agréables qui vous permettront de vous déplacer plus rapidement. Ne vous méprenez pas, vous pouvez faire des applications WebForm vraiment vraiment bien, mais vous abandonnez un contrôle sur le balisage.

Très souvent Viewstate vient dans ce type de discussion. MVC n'aura aucune vie d'opinion, donc l'empreinte sur le fil sera beaucoup plus petite qui se traduit par des économies de vitesse et de bande passante à un moment donné. À l'inconvénient, faire des applications d'état avec MVC peut être plus douloureuse. En revanche, les webforms porteront la vision de la vie par défaut et seront intrinsèquement plus énormes. Ceci est généralement bien pour les applications internes. N'oubliez pas que la visualisation de la vie ne doit pas être envoyée sur le fil ... Il existe des extensions qui vous permettent de décharger cela dans un cache local. Je ne fais pas favoriser l'un sur l'autre, mais vous devriez être conscient de ce que chacun peut faire à cet égard.

Si le test de l'unité est important pour vous, alors MVC est également un choix bien meilleur, car cela est également plus facile. Ceci est totalement atteint dans des formes WebForms mais nécessite que votre code soit correctement défini correctement.

La sécurité n'est pas un facteur majeur puisque une grande partie de la mise en place de l'ivenciple et de l'isidité dans le pipeline HTTP via httpModules, de sorte que soit à cet égard.

Un autre facteur majeur de faire de votre choix concerne vos compétences par rapport au temps que vous devez livrer ... Si vous n'êtes pas utilisé pour travailler de manière apatride ou codant des technologies Web standard standard (par exemple, HTML, CSS, JQUERY, etc ...) MVC vous mènera plus longtemps pour faire des choses très fondamentales. Avec cela, une fois en place, il sera probablement plus propre, plus petit, plus testable et plus rapide. Si vous avez besoin de vous déplacer très rapidement, vous pouvez faire beaucoup plus rapidement dans des formes WebForms. Webforms fait également beaucoup de lourdes levées en ce qui concerne le marquage, il existe donc un certain nombre de détails que vous pouvez laisser à asp.net.

J'utilise réellement à la fois pour une variété de raisons et que MS a déclaré qu'ils envisagent de poursuivre le soutien et le développement des deux.


0 commentaires

1
votes

venant de Ruby sur rails ou d'autres frameworks basés sur MVC ASP.NET MVC est presque le meilleur choix. (ASP.NET MVC n'est en fait que la partie "VC", vous devez donc ajouter un orj de votre choix. EF et Linq à SQL sont la manière Microsoft, NHibernate ou d'autres ormes sont l'autre moyen. Un bon projet de démarrage rapide est S # ARP Architecture qui utilise NHibernate comme partie "M", ou vous pouvez consulter WHCM , qui est un projet construit sur l'architecture S # ARP et d'autres bons cadres (il est considéré comme une démo de meilleures pratiques ASP.NET MVC projet) ). ASP.NET MVC n'utilise presque rien à partir du package WebForms (la seule exception que j'ai trouvée est l'antiforgerytoken), vous ne perdez donc rien si vous n'êtes pas familier avec ASP.NET WebForms.

Mais comme vous avez dit que vous avez également fabriqué des applications de console, les formes Web ASP.NET ressemblent à plus.

Si votre projet est nouveau, je vous conseille d'utiliser ASP.NET MVC. Si votre projet sépare clairement la partie M-V-C (comme dans l'architecture ARP de s # ARP, où elles résident dans des assemblages différents), la création d'une application de console utilisant la même logique d'entreprise ne devrait pas être trop difficile. Si votre projet actuel consiste à porter une application WinForms sur le Web, il peut être plus facile d'utiliser des formes WebForms.


0 commentaires

0
votes

chevaux pour les cours. Si vous giflez une application rapide pour une personne, les formulaires Web sont probablement plus rapides et plus faciles.

Si vous construisez une application d'entreprise longue en cours d'exécution, MVC vous donne une meilleure vérification d'un SOC.


2 commentaires

Qu'entendez-vous par une meilleure vérification d'un SOC hors de la curiosité de Doobi?


Doh, Désolé, Type: $ Je voulais dire testabilité et SOC (séparation des préoccupations) MSDN .microsoft.com / fr-US / US / Magazine / DD942838.aspx



2
votes

Je travaillais aussi sur les applications de bureau, et je n'ai jamais vraiment eu de choses sur le Web. Je ne savais même pas (Gasp!) Connaissait HTML (ouais, c'était la honte de mes programmeurs). Dans mon nouvel emploi, nous allions commencer une nouvelle application à l'aide de ASP.NET MVC et je dois vous dire, je l'aime. Cependant, je pense que vous ne devriez aller avec MVC que si vous êtes ou que vous comptez avec une personne avec de bonnes compétences de conception HTML / CSS.

HTML est facile que je sache (j'ai appris que c'était le savoir!) Mais je pense que c'est son genre de difficulté à faire de beaux dessins avec HTML et CSS, spécialement si vous êtes suce à la conception et que vous pourriez probablement faire des choses plus jolies en utilisant des formes Web, qui est un peu plus facile / similaire à Winforms.

En outre, si vous allez le moyen MVC, assurez-vous de disposer de suffisamment de temps pour l'apprendre, car vous allez aller un peu plus bas niveau, il faut apprendre plus de détails, comme la différence réelle entre la poste / Obtenez et tout ce genre de choses qui est à peu près complètement cachée dans des formes Web. Je recommanderais vraiment d'obtenir un livre, j'ai utilisé cette autre Pro ASP .NET MVC et vraiment aimé.

Enfin, si votre page va avoir des bits interactifs, ou des choses AJAX-y, si vous allez la manière MVC, vous devrez plus probablement apprendre JavaScript / JQuery aussi. Si vous allez utiliser les formes Web, vous pouvez utiliser les commandes AJAX Glow Drop AJAX incluses.


2 commentaires

Avez-vous déjà bloqué des problèmes avec WebForms où vous ne pouvez pas vraiment tendre les choses à la façon dont vous voulez qu'ils regardent?


Je n'ai pas trop travaillé avec des formes Web, mais dans les rares choses que j'ai faites, eh bien, vous êtes assez limité aux contrôles donnés et à leurs actions, étant donné que l'ID est un désordre. Cela semble être beaucoup plus facile dans .NET 4, car vous pouvez désormais spécifier l'ID (vous permettant ainsi de faire beaucoup plus facilement les trucs jQuery / ajaxy.