Ist ASP.NET MVC in gewisser Weise ein Schritt zurück?

8

Ich bitte darum, nichts Negatives zu beginnen. Nach dem Betrachten von ASP.NET MVC, traf es mich (duh), dass ich keine Steuerelemente wie auf Webformularen verwende, sondern HTML-Markup von Hand codiere (keuch.)

Ist das ein Rückschritt? Ich erinnere mich, von der klassischen Asp zu asp.net kommen und Drag-and-Drop-Kontrollen, Erstellen eines Blll, etc. Jetzt scheint es, dass ich das alles von Hand wieder, wie klassisch, außer ich habe gute mvc Design.

Ich denke, ich versuche herauszufinden, warum dies ein Schritt vorwärts von einer rasanten Entwicklungsumgebung zu etwas ist, das mühsamer erscheint.

BEARBEITEN:

Ich hielt Visual Studio .NET immer für einen wichtigen Grund, ASP.NET mit all seinen Steuerelementen und der Automatisierung zu verwenden. Jetzt mit MVC macht es mich denken, dass es wie jeder andere MVC mit einer anständigen IDE ist, da ich jetzt alles von Hand mache.

    
johnny 21.05.2009, 19:21
quelle

13 Antworten

19
  • "Klassisch" ASP.NET ist nirgendwo hingegangen - Sie können es immer noch verwenden, wenn Sie das wollen oder brauchen
  • Obwohl Sie möglicherweise eine Drag-and-Drop-Funktionalität erhalten, können Sie zwischen AutoComplete und den verschiedenen Render-Helfern in wenigen Minuten eine funktionierende Ansicht erhalten
  • Das Erstellen der Ansichten ist nur ein kleiner Teil des Gesamtprojekts
  • Auch in ASP.NET habe ich selten den visuellen Editor benutzt. Ich habe immer gespürt, dass es mir in die Quere gekommen ist und fälschlicherweise Entscheidungen getroffen hat.
GalacticCowboy 21.05.2009, 19:28
quelle
15

Ist ein Schritt vorwärts:

  1. Der Code ist vollständig testbar
  2. Sie erhalten volle Kontrolle darüber, was der Server erzeugt
  3. nicht mehr viewstate!
  4. erhöhte Serverantwortgeschwindigkeit
  5. weniger Server-CPU-Auslastung ohne WebForms Page lifecicle
  6. ein Programmiermodell, das näher am Web ist (Webformulare, die darauf abzielen, das Desktop-Programmiermodell ins Web zu bringen).
  7. ....
Andrea Balducci 21.05.2009 19:28
quelle
7

Lustig, das sollten Sie erwähnen - ich habe gerade ein Kapitel in Professional ASP.NET MVC 1.0 abgeschlossen. " das beantwortet diese genaue Frage.

Im Buch vergleichen sie den Unterschied zwischen Web Forms und MVC als den Unterschied zwischen der Leitung eines Orchesters und dem Komponieren eines Liedes. MVC bietet nicht das gleiche Maß an sofortiger Antwort wie Webformulare, aber es gibt Ihnen eine Granularität, die viele Webentwickler erwarten. Es ist bekannt, dass ASP.NET-Steuerelemente sogar in späteren Versionen mehr HTML-Code einfügen als gewünscht.

Also, funktional, ja, es ist ein Schritt zurück, aber nur, weil Sie die vollständige Kontrolle darüber haben, was auf die Seite kommt. Wählen Sie wie immer die richtige Sprache für den Job.

    
Mike Robinson 21.05.2009 19:40
quelle
5

Es ist ein Schritt seitwärts statt vorwärts oder rückwärts; nur eine andere Art, dasselbe zu tun, mit einer anderen Betonung. Mit ASP.NET-Formularen ist es einfach, die Seite so zu "zeichnen", dass sie ungefähr so ​​aussieht, wie sie aussehen soll, aber es ist schwer, sie so zu gestalten, dass sie sich wie eine richtige Webanwendung verhält. Mit ASP.NET MVC ist es nicht so einfach, das Erscheinungsbild zu ändern, aber es ist tatsächlich einfacher, es wie eine Website zu verhalten, mit URLs, die den Inhalt auf vorhersehbare Weise beschreiben.

    
Daniel Earwicker 21.05.2009 19:43
quelle
3

Erzähl mir davon. Ich versuche immer noch herauszufinden, warum ich mich dem unterwerfe. Letztendlich ist der Nummer 1 Verkauf Unit Testing. Für diejenigen von uns, die dies nicht abonnieren, sind die Vorteile, wenn überhaupt, nur wenige, IMHO.

Das heißt, ich bin offen, anders überzeugt zu werden. Ich denke, dass MVC eine gute Grundlage ist, aber wie du sagst, ist es manchmal sehr mühsam. Das RAD-System der Drag-and-Drop-Steuerung aus der Toolbox war schrecklich, aber seit 2008 war es ein Vergnügen. Ich erwarte, dass die großen Toolkit-Anbieter wie Telerik, Infragistics, ComponentOne und andere MVC-freundliche Toolkits (hoffentlich!) Liefern werden.

Ich lerne es nur, weil ich gerade an einem Projekt arbeite, das darauf gebaut wurde (nicht mein Design). Vergessen Sie nicht, dass Sie es nicht benutzen müssen. Klassisches ASP.NET ist nicht verschwunden. :)

-Oisin

    
x0n 21.05.2009 19:28
quelle
2

Für mich war das Entfernen von Viewstate und des Seitenlebenszyklus eine Addition durch Subtraktion. :) Ganz zu schweigen von meinem Wissen über Web-Programmierung, weil ich meine Hände "schmutzig" machen muss.

    
Casey Williams 21.05.2009 19:44
quelle
2

Einige Leute könnten sagen, dass ASP.Net ein Rückschritt war, da es die Flexibilität der Anwendung einschränkt, indem es Sie daran hindert, vordefinierte Steuerelemente zu verwenden.

Classic ASP war unreif, aber es gab Ihnen eine sehr feine Kontrolle über den Markup-Code, den viele in Vanilla ASP.Net fehlen.

Wie ich sehe, gibt das ASP.Net-MVC-Paradigma dem Entwickler eine bessere Kontrolle über den Markup, während es dennoch Zugriff auf alle Vorteile des .Net-Frameworks gibt.

    
alchemical 21.05.2009 19:49
quelle
2

Ich denke, es war ein notwendiger Schritt zurück, oder besser noch ein paar Schritte zurückzuverfolgen, um voranzukommen.

Das Web hat sich in eine Richtung entwickelt, die sich deutlich von der Kern-Design-Prämisse von ASP.NET unterscheidet.

Am Ende, wenn ich ASP.NET mit anderen agilen Web-Frameworks vergleiche, glaube ich, dass es ein Fall von "Du kommst von hier nicht her" ist.

    
loudej 21.05.2009 20:44
quelle
1

Ich dachte, dass ein Teil des ASP.Net MVC Framework dem Entwickler mehr Kontrolle über das HTML gab. Etwas, was die Drag-and-Drop-Steuerelemente stören.

    
Geoff 21.05.2009 19:33
quelle
1

ASP.NET MVC ist nicht für jedermann oder für jede Anwendung (einige argumentieren das durch!). MVC ist ein Framework, das Sie in seiner Grundform verwenden oder nach Herzenslust erweitern können. Es ermöglicht Ihnen die vollständige Kontrolle darüber, was für den Benutzer gerendert wird.

MVC hat eine Reihe von Vorteilen:

Trennung von Bedenken, die zu besserer Testbarkeit, besserem Design und einfacherer UI-Änderung führen

Volle Kontrolle darüber, was gerendert wird - was zu standardkonformen, kleineren und schnelleren Seiten führen kann

Clearn SEO freundliche URLs, obwohl ASP.net 4 Routing-Funktionen

hat

In seiner reinsten Form ohne Verwendung von Session Load Balances sehr gut.

Es hat auch einige Nachteile:

Lernkurve und Veränderung des Denkens erforderlich

Mangel an Unterstützung durch Dritte, obwohl sich das ändern wird

Seiten können überladen aussehen

Es kann schwieriger sein, bestimmte Arten von Kontrollen zu entwickeln, z.B. etwas wie ein veränderbares Datenraster oder etwas mit vielen Schritten wie ein Zauberer

    
alexmac 21.05.2009 20:14
quelle
0

Ich denke, es ist ein Schritt in die richtige Richtung, aber es ist bei weitem nicht so ausgereift wie WebForms. Ich erwarte, kommerzielle "Kontroll" -Bibliotheken bald zu sehen, obwohl es kein Drag & Drop-Zeug sein wird.

Wenn Sie WebForms für Ihre View-Engine verwenden, fehlt Ihnen meiner Meinung nach der Punkt.

    
James L 21.05.2009 19:27
quelle
0

Einer der größten Unterschiede ist der Seitenlebenszyklus. Dies ist für mich der wichtigste Paradigmenwechsel. Viele weitere Vorteile könnten nach bewährten Verfahren behoben werden, obwohl ASP.NET sie nicht durchgesetzt hat.

Wenn Sie an WebForms und ASP.NET gewöhnt sind, mag MVC umständlich erscheinen, aber wenn Sie von einem klassischen ASP, PHP, Rails oder einer anderen Umgebung kommen, die die Art des HTTP-Flusses respektiert, ist MVC eine gute Option. Sie erhalten die Vorteile einer großartigen IDE wie Visual Studio, eines vollständigen und leistungsfähigen Frameworks wie .NET (ob Sie C # oder VB.NET verwenden) und alles funktioniert mehr oder weniger vertraut.

Sie könnten ASP.NET-Steuerelemente und visuellen Designer verlieren, aber für viele Menschen war das mehr ein Ärgernis als ein Vorteil, abhängig von der Art der Anwendungen, die Sie erstellt haben, und von Ihren bisherigen Erfahrungen. ASP.NET war ein schöner Übergang von Winforms, aber für Leute, die immer an einer Web-Umgebung gearbeitet haben, schien ein bisschen "gezwungen" zu sein.

    
Marc Climent 26.05.2009 07:34
quelle
0

Hat Scott Hanselman nicht einmal gesagt, dass "MVC nicht Web Forms 4.0" ist? Ich habe daraus abgeleitet, dass MVC ASP.NET überhaupt nicht ersetzen soll, und es ist einfach eine andere Option für Win Forms und Web Forms.

Ich stimme darin überein, dass ich, als ich anfing, MVC zu betrachten, viel mehr an den klassischen ASP erinnert wurde (nicht an die .Net-Version), weil hinter der Seite kein Code ist und mehr & lt;% = was auch immer% & gt; Markup in den Ansichten, die mich für eine Weile warf, als wenn ich ASP.NET zum ersten Mal verwendet, es war, als ob ASP.Net die Notwendigkeit für solche Markup entmutigt.

Persönlich mag ich MVC; Ich denke, es ist großartig, aber es gibt auch ein kleines Zimmer für ASP .Net ..!

    
Brett Rigby 30.05.2009 14:41
quelle

Tags und Links