Ich habe diese Frage gestellt:
Ist ASP.NET MVC dafür bestimmt, Webforms zu ersetzen ?
und ein paar Antworten waren, dass wenn die Webseite öffentlich / Internet wäre, um MVC zu verwenden, aber wenn es intern wäre, WebForms zu verwenden. Ich habe einige der Gründe dafür gesehen, aber einige von ihnen haben mir nicht wirklich geholfen, zu verstehen, warum das so ist.
Ich habe auf Kommentare gehofft. Warum sollte ich ASP.NET MVC nicht für alles außer einer kleinen einzelnen Website verwenden? Warum sollte Internet oder Intranet wichtig sein?
Außerdem weiß ich, dass ein Werkzeug nicht alles tut. Ich möchte keine Webformulare verwenden, nicht dass ich denke, dass ich das nicht kann oder dass es irgendwie "schlecht" ist. In dieser Frage frage ich speziell über MVC und warum es für den Standort der Website (öffentlich oder privat) wichtig wäre.
Danke.
Ich denke, ich habe eine Idee, warum diese interne vs externe Unterscheidung in Ihrer vorherigen Frage aufkam.
MVC für externe Websites verwenden bietet Ihnen die erforderliche Flexibilität, um mehr Browser zu unterstützen, und erleichtert die Entwicklung von Webstandards-kompatiblen Websites. MVC erfordert ein wenig mehr Arbeit, um einige der gleichen Dinge wie Web Forms zu tun, aber Sie haben mehr Kontrolle über die Ausgabe an den Client.
Die Verwendung von WebForms für interne Apps wird empfohlen, da Sie die vollständige Kontrolle darüber haben, welche Browser in Ihrem Netzwerk verwendet werden. Außerdem erhalten interne Apps normalerweise nicht dieselben Budgets wie externe Websites. Mit Web Forms können Sie innerhalb weniger Minuten ein Datenbankraster erstellen, paginieren, sortieren usw., indem Sie Code per Drag & Drop auf eine ASPX-Seite ziehen. Die Motivation, die ich glaube, ist rein Geld und Zeit basiert.
Ich glaube jedoch nicht, dass diese Linie im Sand gut ist. Ich weiß, dass es einige Webseiten gibt, an denen ich mit WebForms gearbeitet habe, die viel Haarziehen erforderten, was einfach nicht passiert wäre, wenn ich MVC benutzt hätte. Aber ich habe auch einige Websites, die nicht das Maß an Flexibilität benötigen, also habe ich WebForms verwendet.
Der größte Vorteil, den ich mit ASP.NET MVC sehe, ist AJAX. Es ist einfacher für mich, jQuery AJAX-Anfragen zu bearbeiten, wenn MVC anstelle von WebForms verwendet wird. Ich bin auch ein Kontrollfreak, also erfüllt die Verwendung von MVC auch diesen Aspekt ...
Der Ort ist nicht sehr wichtig, was erklärt wurde war, dass eine typische Intranet-Website die folgenden Eigenschaften hat:
Die Entwicklung mit MVC kann also zu viel Aufwand sein, anstatt etwas mit WebForms zusammenzufügen.
Ich denke, dass die interne / externe Website-Unterscheidung besser als datengetriebene Websites vs. contentgesteuerte Websites klassifiziert werden würde.
IM (sehr) HO die Verwendung der aktuellen Version von MVC, um zum Beispiel Dateneingabesysteme mit vielen tabellarischen Daten, Inline-Bearbeitung, Sortierung, Paging, Filterung usw. zu erstellen, ist im Vergleich zur Verwendung von WebForms ziemlich viel Arbeit.
Wenn die Website jedoch mehr darauf abzielt, dem Endnutzer Inhalte zu präsentieren (typische Websites: Blogs, E-Commerce-Apps, Portale), bietet MVC viele Vorteile gegenüber WebForms. Websites wie diese befassen sich in der Regel eher mit Darstellungsproblemen (was ein Problem darstellen kann, wenn Sie beim Rendern auf WebForms-Serversteuerelemente verzichten).
Für mich liegt der Vorteil von ASP.NET-Webforms darin, dass Sie sie schneller als mit ASP.NET MVC entwickeln können. Die Kosten: Es ist schwieriger, ihnen moderne CSS-kompatible Anwendungen und das Gewicht von Viewstate und dem Seitenlebenszyklus zu geben.
Wenn ASP.NET MVC nicht verfügbar ist, gibt es keinen Grund, das für Intranet-Anwendungen nicht zu verwenden.
Wenn Sie ein paar Jahre investiert haben, um ASP.NET-Webformulare zu verkleinern, können Sie sie wahrscheinlich für Internetanwendungen verwenden.
MVC bietet eine bessere Trennung von Problemen als Webformulare, allerdings mit einigen Overhead-Kosten, die bei kleineren Projekten schwerer zu rechtfertigen sind. Die Entscheidung, das eine Modell gegenüber dem anderen zu verwenden, sollte nicht darauf basieren, ob es sich um eine Intranet- oder Internetlösung handelt, sondern um Faktoren wie Langlebigkeit, Wartbarkeit und Skalierbarkeit. Meiner Erfahrung nach ist MVC eine bessere Wahl, wenn das Projekt groß ist, ein großes und vielseitiges Entwicklungsteam hat und wahrscheinlich Wartung benötigt. Webforms eignet sich besser für die schnelle Entwicklung kleinerer kurzfristiger Projekte.
Selbstverständlich können und werden WebForms in großen Projekten verwendet, da MVC in kleineren Projekten verwendet werden kann. Sie müssen die Vorteile von jedem auf der Grundlage der Bedürfnisse Ihres Projekts erweitern.
Als Nebenbemerkung zu den anderen Antworten sind in einer Intranetumgebung URL-Namenskonventionen (d. h. / Controller / Methode ... usw.) viel weniger wichtig, da kein SEO benötigt wird.
Tags und Links asp.net-mvc asp.net