Wie wir alle wissen, wurde ASP von Microsoft eliminiert und anschließend von vielen Entwicklern aufgegeben. Dennoch bin ich immer noch der Meinung, dass ASP sowohl als Einstiegstechnologie als auch als Entwicklungsplattform unserer weiteren Nutzung würdig ist. Wenn Sie bei Google suchen, können Sie viele schlechte Kommentare zu ASP finden, z. B. langsame Ausführungsgeschwindigkeit, schlechter Mechanismus zur Ausnahmebehandlung, fehlender objektorientierter Mechanismus, geringe Entwicklungseffizienz, viele Lücken usw. Um allen ein korrektes Verständnis von ASP zu vermitteln, werde ich zunächst seinen Namen klären.
Vor einigen Jahren habe ich das Programm Dongwang Forum verwendet, um ein BBS zu erstellen. Dieses Programm war damals die klassische ASP+Access-Architektur. Ich bin auch auf das Problem gestoßen, dass einige Leute sagten, das Forum sei langsam und stecke manchmal fest. Das Problem wurde jedoch gelöst, seit ich auf die SQL Server-Datenbank umgestiegen bin. Der Schuldige ist also Access. Die für die Programmausführung erforderliche Zeit liegt im Millisekundenbereich, unabhängig davon, ob sie 10 Millisekunden oder 100 Millisekunden beträgt. Access weist jedoch eine schlechte Parallelität auf , wodurch ein Teil der Programmausführung blockiert wird, was zum Einfrieren der Seite führt .
In der Vergangenheit haben viele Leute, mich eingeschlossen, VBScript zum Schreiben von ASP-Programmen verwendet. Der Ausnahmebehandlungsmechanismus von VBScript war tatsächlich schrecklich. JScript ist jedoch sehr gut, da es die in C# und Java enthaltene try...catch -Anweisung unterstützt, die ausreicht, um alle Ausnahmen zu behandeln.
Seit dem Aufstieg von Javascript aufgrund von Ajax wurde sein objektorientierter Mechanismus simuliert . Obwohl es nicht wirklich objektorientiert ist, reicht dies als kleines und mittleres Webprogramm aus. JScript, das ebenfalls ECMAScript als Kern verwendet, verfügt über denselben Mechanismus. Darüber hinaus ist die Sprachflexibilität von ECMAScript zweifellos die stärkste, und Front-End-Entwickler wissen dies am besten.
Ich höre oft, dass die SQL-Injection-Schwachstelle von ASP sehr schwerwiegend ist. Tatsächlich gibt es solche Lücken in jeder Sprache. Die Frage ist, ob Programmierer sie blockieren können. Dieses Problem kann in ASP durch parametrisierte Abfragen einfach und effizient gelöst werden. Es ist kein String-Ersetzen oder gar eine Datenvalidierung erforderlich.
Lassen Sie mich über die Vorteile des Erlernens von ASP (JScript) sprechen:
Sowohl das Front-End-Javascript als auch das Back-End-Javascript basieren auf dem ECMAScript-Kern. Wenn das Back-End-Javascript gut geschrieben ist, kann daher auch das Niveau des Front-End-Javascript verbessert werden .
Technologien wie ASP.NET und PHP blockieren viele der zugrunde liegenden Schichten des Webs, was sich sehr negativ auf die Fähigkeit von Anfängern auswirkt, die Prinzipien von Webprogrammen zu verstehen. ASP hingegen ist definitiv von Grund auf geschrieben. Beispielsweise muss ein Programm, das Dateien hochlädt, das Datenpaket analysieren, um Dateidaten zu erhalten.
Viele Leute sagen, dass ASP.NET eine hohe Entwicklungseffizienz hat, aber ich bin dagegen. Wenn die funktionalen Anforderungen der Anwendung nicht komplex sind, ist die Entwicklung mit ASP definitiv schneller. Da ASP analysiert und ausgeführt wird, ist keine Kompilierung erforderlich. Es ist viel einfacher zu ändern und zu debuggen. Windows bietet auch eine gute Laufumgebung (IIS) für ASP ohne zusätzliche Konfiguration. Wenn Front- und Backend alle dieselbe Sprache verwenden, kann außerdem viel Code wiederverwendet werden , was bei anderen Technologieplattformen unerreicht ist.
In den letzten Jahren sind weitere serverseitige Javascripte (SSJS) aufgetaucht, beispielsweise Jaxer und JScript.NET . Mozilla verfügt ebenfalls über ein SSJS-Projekt. Wir freuen uns auf die weitere Entwicklung von ECMAScript in der Backend-Entwicklung.
Ergänzung von Ali Xixi (technischer Experte)
Leute, die sagen, ASP sei energiearm, sind entweder Neulinge oder Leute, die ASP noch nicht einmal erlernen können. Technologie dient nicht der Angeberei, sondern der Schaffung echten Mehrwerts. Tatsächlich können viele Anwendungen bereits in ASP implementiert werden, und es gibt eine Eine große Anzahl gängiger Quellcodes als Referenz lässt sich leicht in Produktivität umwandeln. Man kann sagen, dass ASP eine der umfangreichsten und ausgereiftesten Technologien ist. Natürlich weist ASP viele Mängel auf und es sind andere Technologien erforderlich, um diese zu beheben.
Viele Leute glauben fälschlicherweise, dass ASP ein Synonym für Einfachheit und Ineffizienz ist. Sie denken, dass ASP energiesparend, veraltet und unwichtig ist. Es ist auch sehr einfach und kann sofort erlernt werden.
Einige Leute sagen, dass ASP unsicher ist. Wenn Sie beim Schreiben von ASP-Programmen die Spezifikationen zum Schreiben von sicherem Code strikt befolgen, gibt es keinen Grund, warum die von Ihnen geschriebenen Programme unsicher sind. Diese Leute sagen, dass ASP nicht sicher sei, als ob SQL-Injection in PHP- und JSP-Programmen nicht vorkäme.
Einige Leute sagen, dass ASP nicht effizient ist, wenn Sie es mit COM kombinieren. Unter der Win32-Plattform kann die Effizienz von COM niemals erreicht werden. Was bringt es, einfach nur über Geschwindigkeit zu reden? Die Geschwindigkeit von Java ist definitiv nicht hoch. Viele technische Lösungen sind schneller als Java. Wer Java lernt, weiß das am besten. Aufgrund seiner Geschwindigkeit gewinnt Java definitiv nicht. Es ist irrational, unabhängig von der konkreten Anwendungsumgebung einfach nur über Geschwindigkeit zu sprechen.
Einige Leute sagen, dass ASP dies oder das nicht kann und seine Funktionen sehr eingeschränkt sind. Solange Sie die Prinzipien des Webs verstehen, werden Sie tatsächlich verstehen, dass das Schreiben eines ASP-Programms wie das Spielen einer Skriptsprache an der Oberfläche ist, aber was Sie befehlen, ist der Webserver. Es gibt viele komplexe Funktionen, die ASP ausführen kann Einige Funktionen funktionieren immer noch sehr gut. Wenn ASP dies aufgrund der inhärenten Einschränkungen von Webanwendungen nicht kann, denken Sie nicht, dass JSP und PHP dies können.