2009-05-22 4 views
8

Ich habe diese Frage:Warum würde ich ASP.NET MVC auf einer öffentlichen Site und WebForms in einem Intranet verwenden?

Is ASP.NET MVC destined to replace Webforms?

und ein paar Antworten waren, dass, wenn die Website öffentlich waren/Internet MVC zu verwenden, aber wenn es interne waren 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 hatte auf Kommentare gehofft. Warum sollte ich ASP.NET MVC nicht für alles außer einer kleinen einzelnen Website verwenden? Warum würde Internet oder Intranet eine Rolle spielen?

Auch ich weiß, dass ein Werkzeug nicht alles macht. 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.

Vielen Dank.

Antwort

10

Ich denke, ich habe eine Idee, warum diese interne vs externe Unterscheidung in Ihrer vorherigen Frage aufkam.

Verwenden von MVC für externe Websites bietet Ihnen die Flexibilität, die benötigt wird, 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 darüber, was für den Client ausgegeben wird.

Verwenden von WebForms für interne Anwendungen wird empfohlen, da Sie die volle 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 zusammenfassen, 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 in den Sand gut ist zu machen. 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 MVC diesen Aspekt auch ...

2

Der Vorteil von ASP.NET Webforms ist, dass Sie sie schneller als ASP.NET MVC entwickeln können. Die Kosten: Es ist schwieriger, sie zu modernen CSS-kompatiblen Anwendungen und dem Gewicht von Viewstate und dem Seitenlebenszyklus zu machen.

Wenn Sie ASP.NET MVC heruntergefahren haben, 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.

+0

+1 für Para # 2 - sobald Sie es in Aktion gesehen haben, werden Sie nicht zurückgehen wollen (ich hoffe!) – annakata

4

Die Lage ist nicht sehr wichtig, was erklärt wurde, dass ein typische Intranet-Website die folgenden Eigenschaften hat:

  • Sehr geringe Benutzerlast, serviert in der Regel auf interne LAN
  • Sehr kurze Entwicklung Zeitpläne
  • Sehr Frequenz "Feature Ergänzungen", die aus CRUD Add-ons bestehen

Die Entwicklung mit MVC kann also zu viel Overkill sein, anstatt etwas mit WebForms zusammen zu schlagen.

+1

Aber wenn ich MVC gut kannte, könnte ich es genauso gut uns? Oder wird MVC immer länger dauern? – johnny

+1

Ich denke nicht, dass es immer viel länger dauern wird, eine MVC-Anwendung im Intranet zu erstellen. Die Möglichkeit, ein GridView-Steuerelement auf einer Seite zu löschen, einige Datenbindungs- und Formatierungsereignisse zu verkabeln und auszugeben, macht es jedoch praktisch, wenn die Funktion "gestern" ausgeführt werden soll. –

1

MVC bietet eine bessere Trennung von Bedenken als Webforms, jedoch kommt es mit einigen Overhead, der schwerer auf kleinere Projekte zu rechtfertigen ist. 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.

Nee zu sagen, WebForms kann und wurde in großen Projekten verwendet, da MVC in kleineren Projekten verwendet werden kann. Sie müssen die Vorteile von jedem auf der Grundlage der Anforderungen Ihres Projekts erweitern.

0

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.

4

Ich denke, die interne/externe Website Unterscheidung würde besser als datengetriebene Websites vs. Content-driven Websites klassifiziert werden.

IM (sehr) HO mit der aktuellen Version von MVC, um zum Beispiel Dateneingabesysteme mit vielen tabellarischen Daten, Inline-Bearbeitung, Sortierung, Paging, Filterung usw. zu erstellen, ist ziemlich viel Arbeit im Vergleich zur Verwendung von WebForms .

Wenn sich die Website jedoch mehr mit der Präsentation von Inhalten für den Endbenutzer befasst (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 die WebForms-Serversteuerelemente für das Rendering überlasten).

1

ich nicht den Unterschied in diesen zwei in Zusammenhang mit den öffentlichen/Intranet-Anwendungen sehen, ich sehe Unterschied nur in Ansatz und den Stil die Anwendung zu schreiben, so wählen Sie, was Sie :)

prost mögen

Verwandte Themen