Wie kann ich mit ASP.NET MVC eine schnelle Anwendungsentwicklung durchführen? [abgeschlossen

StackOverflow https://stackoverflow.com/questions/1946698

  •  20-09-2019
  •  | 
  •  

Frage

Ich habe eine kurze Zeit (bis zu Beginn von ~ 80 Stunden) erhalten, um eine vorhandene Zugriffsdatenbank durch ein ausgewachsenes SQL + -NEW-System zu ersetzen, und ich mache meine Optionen auf. Ich möchte ASP.NET MVC verwenden, aber ich bin mir nicht sicher, wie ich es effektiv mit meinem kurzen Zeitplan einsetzen soll.

Für das Datenbank -Backend werde ich LINQ zu SQL verwenden, da es sich um ein Produkt handelt, das ich bereits kenne, und kann etwas schnell damit zum Laufen bringen.

Hat jemand Erfahrung mit der Verwendung von ASP.NET MVC auf diese Weise und kann einige Einblicke teilen?

Bearbeiten: Der Grund, warum ich mich für ASP.NET MVC interessiert habe, ist, dass ich weiß (100% bestätigt), dass nach dieser ersten Runde mehr Arbeit zu erledigen ist, und ich möchte, dass meine Wartungsarbeiten so einfach wie möglich sein. Nach meiner Erfahrung neigen WebForms -Anwendungen dazu, trotz Disziplin wiederholte Wartung zu vergrößern.

Vielleicht gibt es einen Mittelweg? Wie schwierig würde es für mich sein, die App mit Webformen zu erstellen und sie später in MVC zu migrieren, wenn ich mehr Zeit für das Projekt budgetiert habe?

Bearbeiten 2: Weiterer Hintergrund: Die Zugriffsanwendung, die ich ersetze, wird von allen im Gebäude in gewisser Weise verwendet. Da sie von Access 98 auf 2003 verbessert wurde, stürzt sie täglich ab und verursacht stundenlange Produktivität verloren, da Menschen seitdem Daten seitdem wieder eintreten müssen das letzte Backup. Dies ist der Grund für die kurze Zeit - dies ist eine kritische Geschäftsfunktion, und sie können es sich nicht leisten, täglich wieder Daten einzutreten.

War es hilfreich?

Lösung

Es gibt wirklich keine guten Antworten.

Ich wäre sehr überrascht, wenn Sie eine nicht triviale Geschäftsanwendung in einem neuen Format (Web) in einer kurzen Zeit nachbilden könnten (es sei denn, Sie messen "kurz" von 6 Monaten).

ASP.NET MVC bietet (zweifellos) die meiste Übereinkommen mit jedem Anfangs -Webprojekt.

Mit ASP.NET können Sie die Dinge zum Laufen bringen, um die Dinge zum Laufen zu bringen, aber es bricht die Wartung für nicht triviale Anwendungen schrecklich auf.

Wenn ich es wäre, würde ich drei Dinge tun:

  1. Fragen Sie meinen Chef, ob er möchte, dass ich eine gesamte Geschäftsanwendung auf einer völlig anderen Plattform neu erstelle.

  2. Sagen Sie ihm, dass er es jetzt entweder schneller haben kann (ASP.NET) oder später schneller (ASP.NET MVC).

  3. Lass ihn den Anruf tätigen.


Persönliches Nachtrag: Ich habe sowohl ASP.NET als auch ASP.NET MVC für Webanwendungen verwendet. MVC ist einfach besser. Nicht schneller, aber besser. Es machte die Webentwicklung für mich wieder Spaß.

Andere Tipps

MVC ist kein RAD -Entwicklungsrahmen.

Sie schreiben viel mehr Infrastrukturcode als die RAD -Webformen Alternative, ein DataGrid und eine Datenquelle auf eine .aspx -Seite zu ziehen. ich Liebe MVC Aber wenn Sie unter der Waffe sind, gehen Sie mit Webformen. MVC kann schneller sein, aber nur, wenn Sie die Infrastruktur vorgefertigt haben.

MVC 2 lindert einige davon, indem modellbasierte HTML -Helfer wie einbezogen werden Model.EditorFor() Aber es ist noch nicht gut genug. Kein kurzer Rastercode. Paging? Sie rollen Ihren eigenen Pager. Ajax? Schreiben Sie Ihre eigene jQuery.

Sicher, es gibt Dritte und Open -Source -Bibliotheken für all diese Dinge, aber meiner Erfahrung nach wird es zeitaufwändig, sie alle zusammenzusetzen und sicherzustellen, dass sie gut spielen.

Einfache Webanwendung + enger Zeitplan = ASP.NET WebForms.

Komplexe Webanwendung + enger Zeitplan = ASP.NET MVC.

Ich habe festgestellt, dass die Komplexität einer Web -App linear die Komplexität einer WebForms -App erhöht. Sobald Sie mit dem Schreiben Ihrer eigenen Serversteuerungen beginnen (nicht Benutzersteuerungen, da diese noch relativ einfach sind), die für komplexere Benutzeroberflächen erforderlich sein können, müssen Sie über das gesamte Seitenlebenszyklus, die Funktionsweise des ViewState und andere Funktionen und andere, intimes Wissen benötigen Dunkel Teile von Webformen, die das Framework von Ihnen abtrkt.

MVC erfordert zwar gut, dass HTML gut am Ende der Komplexität ist. Unabhängig davon, wie komplex die Anwendung ist, haben Sie immer noch mit Pocos und Methoden in Ihrem Controller zu tun. Sobald Sie die anfänglichen Hürden überwunden haben, segeln Sie reibungslos. Die Entwicklungsschwierigkeit steigt im gleichen Tempo wie die Website der Website.

Persönliche Erfahrung: Ich habe eine relativ komplexe Website mit benutzerdefinierten Serversteuerungen in ASP.NET MVC konvertiert und die Codebasis in zwei Hälften geschnitten. Ich habe auch die Komplexität des Codes drastisch reduziert.

Die einzige Einschränkung, die ich habe, ist, dass AJAX mit ASP.NET AJAX einfacher zu tun ist. Wenn Sie also eine Web -App entwickeln möchten, die stark auf AJAX angewiesen ist, können WebForms nur MVC besiegen.


Die Migration von ASP.NET zu MVC ist nicht immer die einfachste. Sie müssen von einer codebebasierten Anwendung zu einer von Ihren Controllern nicht bewusst Ihrer Benutzeroberfläche wechseln. Außerdem ist MVC stark auf die URL angewiesen, um die Absicht des Benutzers zu bestimmen, während ASP.NET auf Ereignishandler beruht.

Persönlich würde ich keine Zeit damit verschwenden, sie in ASP.NET zu entwickeln, wenn ich der Meinung bin, dass eine Bewerbung als MVC sein sollte. Aber dann hatte ich den Vorteil, die anfängliche Lernkurve zu überwinden. Was war nicht allzu schlimm. Ich hatte mehr Probleme, alle HTML- und HTML -Formen zu lernen, die ASP.NET mich vom Lernen abgehalten hat.

Mit dieser Frist denke ich, dass es bequemer ist, das ASP.NET Webform zu verwenden. Nach dieser ersten Phase mit mehr Zeit/Budget können Sie mit dem MVC neue Teile Ihrer Anwendung entwickeln, da sie koexistieren können.

Achten Sie auch auf den Ajax- und Grid -Code. In MVC brauchen sie normalerweise länger, um sich zu entwickeln, aber zumindest für mich scheinen sie robuster zu sein, weil Sie wirklich wissen müssen, was Sie tun.

Diese Frage stammt aus dem Jahr 2009, wäre schön, wenn der Autor ein gewisses Feedback seiner Entscheidung geben würde.

Bearbeiten: Schauen Sie sich an http://mvcscaffolding.codeplex.com/ Wenn Sie noch ein Rad mit ASP.NET MVC benötigen.

Sobald Sie mit MVC gelaufen sind, ist es ziemlich schnell, aber es dauert eine Weile, um zu lernen und b) eine Reihe nützlicher Codestücken aufzubauen.

Wenn Ihre Benutzeroberfläche nicht kompliziert ist, kann es sehr einfach sein, eine schnelle Dateneingabebereich einzurichten.

Wenn Ihre Benutzeroberfläche sein soll wirklich wirklich Einfach, vielleicht möchten Sie sich ansehen ASP.NET Dynamische Daten.

Sie können auch nach dem Entity -Framework suchen, um an Ihre Datenbank zu binden. Dadurch werden Ihre Modelle erstellt, die mit MVC verwendet werden sollen. Aber wie JFAR sagte, gehen Sie unter kurzem Death Line -Druck für das, was Sie am besten wissen!

ASP.NET MVC ist gut, aber ....

Wenn Sie ein System mit ASP.NET MVC noch nicht entwickelt haben, ist es ein Risiko, es in einem Projekt mit kurzer Frist zu verwenden.

Wenn Ihre Anwendung eine "einfache" CRUD -Anwendung ist, würde ich dynamische Daten entsprechen: http://www.asp.net/dynamicdata/(Paddy hat mich einfach zu diesem geschlagen)

Wenn Ihr System wirklich groß ist, können Sie SharePoint Access -Dienste in Betracht ziehen http://blogs.msdn.com/access/archive/2009/10/21/net-developer-blog-about-access-2010.aspx

Entwicklung von Evolutionssoftware

Aus Erfahrung, die ich dafür bürze - es ist so, wie ich programmiere, es funktioniert unabhängig von der Technologie.

Kurz gesagt: Machen Sie, was Ihr Darmgefühl Ihnen sagt (etwas codieren), ändern Sie, wie Sie Fehler/Auslassungen finden, und wenn es funktioniert, sind Sie fertig (aber für die Dokumentation).

Eine weitere Option ist die Verwendung von Alpha Five V10 - kürzlich erhielt sie einen Daumen hoch von InfoWorld Check out http://blog.alphasoftware.com/search/label/press%20Coverage

Beide Frameworks tragen genug bei, um eine Lösung zu liefern Ich muss ... machen? ... Entwerfen, navigieren, modellieren, präsentieren und dann herausfinden, wie Sie Layout zeigen, wie Sie eine Verbindung zu Daten herstellen, Daten mitbringen, wie Sie sie mit der Benutzeroberfläche binden, wie Sie paginieren, sortieren und schließlich bearbeiten können, Sie wirklich in den Sinn kommen. Ab und vergleichen Sie Techinques in jedem Framework, das all das erreicht, Sie werden wissen, dass MVC natürlicher und teamorientierter ist. Sie benötigen Tools wie EF Code zuerst, ein CSS -Framework wie Bootstrap und JQuery, wenden Sie Techniken wie IOC, SOC, Layering usw. an und verwenden Sie beispielsweise Automapper, um den langweiligen Stuf zu machen, aber egal wie viele Dinge Sie berücksichtigen müssen, es wird bedenken, es wird dies beachten, wird es Passen Sie immer einfacher, natürlicher und direkter, als all die verschiedenen Konfiguration der zahlreichen Steuerelemente und Manager kennen zu müssen, die Webformen benötigen. Außer wenn Ihr Projekt ein ERP mit CMS-Funktionen ist, in dem ... Sie wissen :-) Wie auch immer, moderne Skils müssen sich in den heutigen Trends anpassen, und MVC ist nur ein guter Gastgeber, der Ihnen hilft, sie ohne Überraschungen zu verwenden. Ich habe Tonnen von Webforms -Code geschrieben, aber ich berühre ihn nicht wieder. Der letzte Punkt ist also, dass MVC im Jahr 2014 mit all diesen Tools und Frameworks nicht langsamer, sondern das Gegenteil ist, sondern für mich ein erstes, kleines Efford, um einige Ressourcen zu sammeln und einige Methoden zu sperren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top