Frage

Nachdem ich nun seit etwa zwei Jahren mit Classic ASP arbeite und einige 100 einfache Webformulare erstellt habe, kann ich keinen guten Grund für den Wechsel zu .net erkennen.Allerdings kenne ich mich mit .net nicht so gut aus, daher bin ich mir sicher, dass mir ein paar Dinge fehlen könnten.

Einige Punkte, die ich im Zusammenhang mit der Arbeit oft höre, finden Sie hier: http://www.packtpub.com/article/Classic-ASP (Nicht, dass ich alle diese Gedanken teile, aber es ist ein guter Ausgangspunkt)

Ich bin sehr daran interessiert zu hören, was andere zu diesem Thema sagen.

War es hilfreich?

Lösung

Dir entgeht mehr als nur ein paar Dinge!ASP.NET ist um Größenordnungen produktiver, robuster und wartbarer, als ASP der alten Schule jemals für möglich gehalten hätte.Serverseitige Kontrollen, Kontrollen von Drittanbietern, Masterseiten, Formularauthentifizierung, Formularvalidierung, ein OO-Modell, das eine angemessene Anwendungspartitionierung fördert, einfache Bereitstellung, integriertes Debugging und Tracing, Statusverwaltung.

Sie haben sogar die Wahl zwischen WebForms oder MVC.Es ist keine Untertreibung zu sagen, dass man einfach verrückt ist, wenn man nicht gründlich untersucht, was man verpasst.

Andere Tipps

Wenn Sie ASP mögen und zu ASP.NET wechseln möchten, überspringen Sie Webforms und lernen Sie MVC.

Das größte Problem für mich ist, dass ich Anwendungen erstelle, keine Websites ... Die Benutzeroberfläche ist ein kleiner Teil des Problems, der große Teil besteht darin, die Geschäftslogikschicht und verschiedene Unternehmenskommunikationskomponenten zu schreiben (Verbindung zu SAP über SOAP herstellen?Kein Problem!).

Das .NET Toolkit ermöglicht mir das Programmieren in einer wunderbaren objektorientierten Sprache (C#) und verfügt über ein robustes Framework, das mir dabei hilft.

VbScript ist eine schreckliche Sprache, in der man versuchen kann, eine Geschäftsanwendung zu schreiben.

Wenn Sie jedoch nur ein einfaches kleines Webformular erstellen, verwenden Sie auf jeden Fall VbScript.

Was Ihren Link betrifft, läuft es im Wesentlichen auf Folgendes hinaus:

  • WaaWaa, ich mag Visual Studio nicht
  • WaaWaa, ich möchte wie ein Idiot Produktionscode auf dem Produktionsserver bearbeiten.
  • WaaWaa, ich weiß nicht, dass die Bereitstellung einer einzelnen kompilierten DLL alles ist, was eine kleine Site zum Bereitstellen einer asp.net-App benötigt.

Kurz gesagt, es ist Unwissenheit.

Um mich auf die konkrete Frage zu konzentrieren („Vorteile von Classic vs. .Net“), fallen mir nur zwei Dinge ein, die Classic kann, was .Net nicht kann:

1) Inklusive.Sie funktionieren einfach nicht wie erwartet in ASP.Net.Natürlich bietet ASP.Net viel bessere Möglichkeiten, dasselbe zu erreichen, aber es ist immer noch ein kleiner Verlust und kann die Migration einer alten Site zu .Net zu einer Qual machen.

2) ASP.Net geht nicht über den Stammordner der Anwendung hinaus.Wo ich gerade bin, haben wir ein ziemlich komplexes Intranet, das immer noch größtenteils aus klassischem ASP besteht, mit ein paar ein paar .Net-Apps hier und da, wenn Dinge aktualisiert oder neue Dinge hinzugefügt werden.Es wäre schön, eine Kopie des gemeinsamen Codes ziemlich weit oben in der Ordnerhierarchie behalten zu können, aber dennoch jede einzelne App auf ihrem eigenen VD zu isolieren.Aber genau dafür ist die Quellcodeverwaltung gedacht, also ist das keine große Sache.

Für mich ist der bisher größte Vorteil beim Wechsel von Classic ASP und ASP.Net die IDE.Es ist so schön, mit der rechten Maustaste auf einen Funktionsaufruf klicken und „Gehe zur Definition“ wählen zu können, anstatt nach der Datei suchen zu müssen, in der die Funktion tatsächlich implementiert ist.Riesige Zeitersparnis.Und auch die Intellisense-Unterstützung und Typsicherheit beim Aufrufen von Funktionen ist ein Segen.

Für mich würde ich sagen, dass sich Classic ASP schnell entwickeln lässt, einfach zu verwenden und zu erlernen ist, nicht übermäßig kompliziert und die meisten von ihm verlangten Aufgaben sehr gut erfüllt.

Es macht wirklich sehr viel Spaß, mit ASP mit JScript/Javascript als Hauptsprache zu programmieren.VBScript ist eine Verschwendung von Gehirnleistung und ich denke, dass es der Grund für den schlechten Ruf von Classic ASP ist.Außerdem gilt es als langsam, aber alle Artikel über Geschwindigkeit und Anzahl der Benutzer basieren auf Servern, die über 10 Jahre alt sind.Wir betreiben eine Website mit 60.000 Benutzern pro Tag auf zwei Servern und die CPU flackert kaum.Moderne Server bieten Ihnen viel mehr Leistung zum Spielen.

Durch die enormen Fortschritte bei der Nutzung, dem Design und den Best Practices von Javascript in den letzten Jahren kann der ASP-JScript-Programmierer viele Extras erhalten, die das Leben noch einfacher machen.Ich habe Mootools auf die Serverseite portiert und damit erhalten wir eine Menge wunderbarer Hilfen, ein Klassenmodell, ein hervorragendes Veranstaltungsmodell und vieles mehr.ASP macht großen Spaß.AKTUALISIEREN:Mootools verfügt jetzt über einen serverseitigen Build, den Sie herunterladen können (http://mootools.net/download).

ASP.net ist SUPER leistungsstark, erfordert aber einen großen Lernaufwand, um erfolgreich zu sein. Es kann Ihre gesamte Website zum Absturz bringen, wenn sie einen ihrer Probleme aufweist, und das Schlimmste für mich ist, dass Sie wirklich alle Hebel in Bewegung setzen müssen, um das Einfachste herauszuholen Dinge erledigt.

Es macht mir im Moment großen Spaß, beide zu verwenden, je nachdem, welches am besten in die Lücke passt.Ich habe einen tollen kleinen CMS-Cacher und Thumbnailer in .net eingebaut, den meine ASP-Skripte verwenden.Beste aus beiden Welten.

Zunächst einmal Leistung, Skalierbarkeit und ein Framework, das eine viel bessere Grundlage für die zustandslose Welt der Webanwendungen bietet.

Die ASP.Net-Seite von Wikipedia hat einen Abschnitt auf die Unterschiede.

Wenn Sie auf Ihren alten Code zurückblicken und sagen: „Was habe ich mir dabei gedacht!“Das ist Quatsch, ich schreibe jetzt viel besser Code!“ Dann haben Sie sich als Programmierer weiterentwickelt.

Wenn die Websites relativ temporär sind (d. h.Sie erstellen es schnell, es wird für einen bestimmten Zweck und für einen bestimmten Zeitraum verwendet und dann wird es effektiv geschlossen. Dann ist es völlig akzeptabel, diese Websites auf die für Sie bequemste Weise zu öffnen.

Wenn Sie eine lange Liste von Fehlern, Korrekturen und Verbesserungen haben, die Sie jetzt auf Ihre alten Websites zurückportieren müssen (oder möchten), oder wenn Ihre „kleinen Websites“ größer und komplizierter werden und Ihnen dies erheblichen Kummer bereitet, dann ist es nötig Machen Sie einen Schritt zurück und überdenken Sie noch einmal, wie Sie diese Websites strukturieren und unterstützen.

Ich stimme voll und ganz zu, dass ASP.NET eine sehr viel ausgereiftere und effektivere Programmierumgebung ist.Wie bei jedem Tool müssen Sie jedoch wissen (oder lernen), wie man es richtig verwendet, da es Sie nicht über Nacht automatisch in einen „Superprogrammierer“ verwandelt.

Eine Möglichkeit, das Eis zu brechen, besteht darin, mit Ihrem Chef zu vereinbaren, dass die nächste von Ihnen erstellte „Site“ in ASP.NET entwickelt wird.Erklären Sie ihm, dass es viel länger dauern wird, als Sie derzeit Websites bereitstellen, weil Sie sich mit ASP.NET vertraut machen müssen, aber die Vorteile sind x,y und (Übung bleibt dem Leser überlassen!)

Persönlich befinde ich mich noch in der Übergangsphase (und habe mit der Verwendung von ASP.NET ab Version 1 begonnen!), da ich über ein ziemlich robustes klassisches ASP-Framework verfüge, das ich entwickelt habe und mit dem ich vertraut bin.Allerdings habe ich ASP.NET strategisch eingesetzt und fand es SEHR leistungsstark und Sie müssen am Ende viel weniger Code schreiben, da so viel in das .net-Framework integriert ist, solange Sie es in der Dokumentation finden können.

Ich empfehle außerdem, dass Sie NICHT VB.NET verwenden und lieber C# verwenden.Die Änderung der Sprache ist recht gering, aber Sie verringern die Wahrscheinlichkeit, dass Ihre Websites genauso geschrieben werden wie früher.Es hilft, schlechte Gewohnheiten abzulegen und gibt Ihnen die Möglichkeit, neue Techniken zu erlernen.

Viel Glück!

Ich habe ein Wort „Debuggen“ – Sie möchten es nie verwenden müssen, tun es aber immer.Wenn Sie in .Net Visual Studio verwenden, verfügen Sie im Vergleich zum Versuch, Code auf ASP zu debuggen, über einen fantastischen Debugger.

Für einfache Websites bevorzuge ich eigentlich ASP vs.ASP.NET, insbesondere wenn Sie HTML gut kennen.Bei ASP ist es jedoch schwierig, die Geschäftslogik von der Ansicht zu trennen.Der Code, den Sie schreiben, wird wahrscheinlich schwierig zu lesen und zu warten sein.

PHP ist jedoch besser als ASP – und im Grunde einigermaßen ähnlich.Und Sie können jederzeit zu Rails oder Django wechseln, wenn Sie an einem eigenständigen Webentwicklungs-Stack interessiert sind (aber eine viel längere Lernkurve).

Ein Vorteil von ASP.NET besteht darin, dass Sie die Möglichkeit haben, Ihre Site genauso zu programmieren, wie Sie es mit klassischem ASP getan haben, und gleichzeitig Zugriff auf die Vielfalt des .NET-Frameworks haben.Sie können die vorhandene Funktionalität beibehalten und bei Bedarf neue ASP.NET-Funktionalität hinzufügen.Sie lassen sich gut vermischen.

Leider hat der Autor des verwiesen Artikel ist mit der Technologie hinter ASP.NET nicht sehr vertraut, wie aus seinen Bemerkungen hervorgeht (und vielleicht nicht einmal mit dem klassischen ASP).Die meisten seiner Punkte sind ungültig oder einfach falsch.

Jeder hier hat berechtigte Argumente vorgebracht.

Ich war ein klassischer ASP-Entwickler, bis ich vor drei Jahren auf .NET 2.0 umstieg.

Ich konnte nicht mehr zurück (obwohl ich immer noch eine Handvoll klassischer ASP-Sites reparieren muss).

Ich vermisse zwar ein Recordset-Objekt, Datenrepeater eignen sich hervorragend für die schnelle Anzeige von Daten, aber Datensätze bieten zwar wunderbare Funktionen, sind aber ziemlich schlecht, wenn es um die Leistung auf „großen“ Websites geht.Fairerweise muss ich sagen, dass ich Datensätze auf Umwegen mit Arrays im klassischen ASP erstellt habe.Ich verwende Datensätze nur für die Körbe meiner E-Commerce-Websites.Ich vermisse rs.movenext usw.

FlySwat hat einen der größten Fehler gemacht, den meiner Meinung nach viele Entwickler machen.

Ja, Geschäftslogik, OO usw.Das, was .NET mit sich bringt, ist großartig (Skalierbarkeit, mit der ich nicht 100 % einverstanden wäre, aber definitiv erweiterbarer), aber wenn Sie ASP.NET verwenden, erstellen Sie immer noch eine WEBSITE.Vergessen Sie diesen Unsinn, die Terminologie „Anwendung“ zu verwenden.Ich habe viele großartige .NET-Entwickler getroffen, die N-Tier-OO-Sites erstellen, aber sie haben kein wirkliches Verständnis für die Einzigartigkeit der Erstellung einer Website.wie zum Beispiel „State“ oder das verdammt nervige Problem, dass sie sich zu sehr auf Javascript verlassen.Die meisten dieser Entwickler erstellen Websites vom Typ MS, die normalerweise nicht W3C entsprechen, nicht browserübergreifend kompatibel sind und sich niemals ordnungsgemäß verschlechtern.Und nein, es ist nicht einmal akzeptabel, dass Backoffice-Anwendungen nur mit dem IE kompatibel sind.

.NET neigt auch dazu, einfache Websites zu „fetten“..NET war in vielerlei Hinsicht eine Möglichkeit, WinForm-Entwickler dazu zu bringen, mit der Erstellung von Websites (oder, wie sie es bevorzugen, Web-Apps) zu beginnen.Das Problem war, dass dies eine Reihe von Entwicklern mit sich brachte, die über den Luxus verfügten und sich keine Gedanken über Zustand, Standards usw. machen mussten.

Ich behaupte immer noch, dass jede .NET-Site im klassischen ASP erstellt werden kann und für den Endbenutzer schneller ausgeführt werden kann (Seitenantwortzeiten).

...ABER obwohl ich gute Erinnerungen an klassisches ASP habe, was ich mit .NET in Bezug auf Imaging, Verschlüsselung, Komprimierung, einfache Webdienstintegration, richtiges OO, anständiges N-Tier, Erweiterbarkeit usw. tun kann, ist was verschafft .NET den Vorteil.Sogar alberne Dinge wie das einfache Hinzufügen einer Codezeile zur web.config, um sie anzuweisen, die Sitzungs-ID in den Abfragestring zu schreiben, wenn der Benutzer keine Cookies akzeptiert (das war im klassischen ASP ein Problem), sind großartig.

Wechseln Sie zu .NET, Sie werden es nicht bereuen, aber geben Sie sich etwas Zeit (insbesondere, wenn Sie nichts über OO (Vererbung, Abstraktion, Polymorphismus und Kapselung) wissen).Beginnen Sie nicht mit der Erstellung von .NET-Sites im klassischen Kompatibilitätsmodus. Dies ist nur eine kostengünstige Möglichkeit, .NET zu erstellen, und Sie werden am Ende immer noch klassische ASP-Praktiken verwenden.Wenn VBScript Ihre Hauptentwicklungssprache wäre, wäre der Sprung nicht annähernd so einfach, wie MS oder andere Sie glauben machen wollen.

Das Wichtigste für mich ist, dass ich das grundlegende Design von Website-Anwendungen (;-)) aus meiner klassischen ASP-Zeit übernommen habe und dass sich dies zwischen den Sprachen nie ändern sollte.

Selten beantwortet eine Antwort in diesem Thread die Frage.Anstatt den einfachen Ausweg zu wählen, versuche ich es mal:

Einige Vorteile, die nicht erwähnt wurden (JScript-zentriert):

  • Sie können die gesamte Sprache lernen und behalten Sie es im Gedächtnis, wenn Sie es häufig verwenden. Ich kenne niemanden, der behauptet, das gesamte .NET-Framework zu kennen.Dies macht das Codieren sehr schnell.
  • Schwaches Tippen – Dies kann dazu führen, dass Sie schneller programmieren können, wenn Sie etwas schnell raushauen, z. B.: Ist Ihnen der Unterschied zwischen den beiden wirklich wichtig? char Und string meistens? (hier religiösen Flammenkrieg einfügen)
  • Bewertung:Dieses vielgescholtene Schlüsselwort ist tatsächlich unglaublich mächtig und ermöglicht es Ihnen, Ihren Code zur Laufzeit auf wirklich interessante Weise zu manipulieren
  • Kompatibilität der Client-/Server-Sprache:Die Ähnlichkeit von JScript mit Javascript bedeutet, dass Sie für die serverseitige Validierung dieselbe Include-Datei verwenden können wie für die clientseitige Validierung.

Wenn Sie nur einfache kleine Webseiten erstellen, dann tun Sie, was auch immer.Oder noch besser: PHP lernen.Die meisten Antworten, die Sie erhalten werden, kommen von Leuten, die Webanwendungen erstellen, und da ist asp.net dem klassischen ASP in puncto Leistung und Wartbarkeit in nichts nach.

Ich stimme allen hier zu, außer dem, der gesagt hat, überspringen Sie Webformulare und gehen Sie direkt zu MVC.Das ist nicht hilfreich.Webforms ist sehr nützlich für datenbankgesteuerte Anwendungen, die viele Tabellenanzeigen usw. durchführen.Ich habe an einigen sehr großen Webform-Anwendungen gearbeitet und es funktioniert einwandfrei.MVC eignet sich für interaktivere Anwendungen vom Typ „Web 2.0“.

Nachdem ich einen „ASP in ASPX umbenennen und ändern, bis es kompiliert wird“-Port einer Anwendung zu ASP.NET durchgeführt habe, würde ich sagen, dass es sich sogar um ASP Classic handelt Stil Die Programmierung in .NET ist besser als die klassische Asp-Programmierung.VS wird Sie natürlich dazu ermutigen, in den Abgrund des Erfolgs zu fallen und Sie zu Web-Formularen und Code-Behind-Methoden zu führen, aber die Sprache ist ausdrucksstark genug, um die Muster von ASP Classic zu reproduzieren (nämlich viele goldene Nuggets/Inline). Code, Cross-Posting-Seiten usw.)

Ich glaube, ich habe schon einmal gehört, dass man COBOL in jeder Sprache schreiben kann.Das gilt für klassisches Asp.

Ich verwende immer Classic ASP, es funktioniert wunderbar.

Ich habe ASP.net ein paar Jahre lang ausprobiert, aber es war für die meisten Website-Entwicklungen zu komplex.Meinen Kunden gefiel es auch nicht, weil sie es nicht verstanden haben.Außerdem gefällt es ihnen zu wissen, dass sie nicht an einen Entwickler gebunden sind.

ASP.NET ändert sich ständig und erfordert eine enorme/konstante Lernkurve, um auf dem neuesten Stand zu bleiben.MS hat die Primärsprache auf C# umgestellt, was den Übergang noch schwieriger machte.

Meine Produktivität verlangsamte sich mit .net auf ein Minimum, weil ich ständig auf der Suche nach Tutorials oder Beispielen dafür war, wie man alles macht.

Visual Studio ist scheiße.

PHP hat eine hässliche Syntax und zu viele verschiedene Frameworks, was es unmöglich macht, es für Entwicklerzwecke zu erlernen.Meiner Meinung nach nur für die Intranet-Nutzung mit engagiertem Personal geeignet.

Das klassische ASP ist gesperrt und funktioniert heute genauso perfekt wie vor Jahren.Mit ein paar Bibliotheksdateien ist das Schreiben von Code kinderleicht und Beispiele gibt es im Internet unbegrenzt.

Korrekt geschrieben, was die meisten Leute nicht tun, ist vbscript sauber lesbarer, effizienter Code.Ich überlasse die clientseitigen Dinge Bibliotheken wie jQuery und stelle fest, dass ich um ein Vielfaches produktiver bin.

Wenn Sie zu diesem Zeitpunkt klassisches ASP verwenden (ohne Auftrag Ihres CTO), müssen Sie einen Shrink sehen.oder du bist ein Masochist.Oder als Satanist, in diesem Fall würde es dir gefallen, denn du wärst in der Hölle!:P

Im Ernst...Verwenden Sie für Webanwendungen WebForms.

Für leichte, schnelle und schmutzige Websites verwenden Sie ASP.NET MVC.

Das Gute an ASP ist, dass Sie VB.NET, C#, Eiffel, Boo oder PHP für Ihre Sprache verwenden können!Für PHP schauen Sie sich Phalanger an ...

Da ich dafür bezahlt werde, Lösungen zu erstellen und nicht für das Schreiben von Code, bevorzuge ich einfach ASP.NET gegenüber dem klassischen ASP.Während klassisches ASP für sehr kleine, einfache Websites immer noch praktisch ist, bietet ASP.NET beim Schreiben etwas komplexerer Websites immer noch viel Leistung.Außerdem könnten Sie selbst mit ASP.NET immer noch Notepad verwenden, um die ASPX-Dateien selbst zu schreiben, einschließlich eingebettetem VB- oder C#-Code.Visual Studio bietet einfach viele zusätzliche Funktionen, die es überflüssig machen, selbst mehr Code zu schreiben.Und wie gesagt, ich werde nicht dafür bezahlt, Code zu schreiben ...

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