ASP.NET: Programme für das Internet

Diese proprietäre Technologie fand – erwartungsgemäß – wenige Anhänger. Die Webdesigner in den 90iger Jahren waren fasziniert von der Kostenlos-Kultur des Internets, nur wenige Server liefen mit dem Microsoft-Betriebssystem und die Kosten für einen IIS waren enorm. Die anderen Sprachen wie PHP, Perl und JavaScript entwickelten sich dank einer großen Community und der Tatsache, dass sie open source waren, rasant weiter. Schon bald war SSI im direkten Vergleich sehr eingeschränkt. Microsoft entwickelte das leichter einzubindende ASP, das ursprünglich auch nur vom IIS unterstützt wurde. Da Microsoft aber die Spezifikation offen legte, gab es bald auch für weit verbreitete Webserver wie den Apache Module, um ASP zu unterstützen.

Im Jahr 2002 stellte Microsoft seine .NET Plattform vor. Alle bisherigen großen Technologien, mit Ausnahme von C++, das weiter nativ kompiliert wird, hat Microsoft in diesem Framework zusammengefasst. So entscheidet heute mehr der Typ des Projekts über das spätere Ergebnis als die gewählte Programmiersprache.

Im Jahr 2009 entwickelte ein Microsoft-Programmierer, Scott Guthrie, das ASP.NET MVC Framework, mit dessen Hilfe sich besonders leicht dynamische Webseiten nach dem MVC-Pattern erstellen lassen. Je weiter die Versionen von ASP.NET MVC fortschreiten, umso mehr entfernt sich diese Variante von ASP von der ursprünglichen Syntax. ASP.NET-Code sieht man im klassischen Bereich vor allem in den Controls. Zwar kann der Programmierer viel Code durch den grafischen Oberflächeneditor generieren lassen, dennoch muss man immer auch einige der durchaus sperrigen Tags von Hand schreiben. In MVC wurde diese Tag-Sprache durch mehrere optionale View-Sprachen abgelöst, von der Razor die vermutlich am weitesten verbreitetste ist. Zwar schreibt Guthrie immer wieder, dass sein Framework das klassische ASP.NET nicht ablösen soll, dennoch gewinnt ASP.NET MVC gegenüber dem klassischen ASP.NET immer mehr Anhänger.

Wie sieht ASP.NET (MVC) aus?

Damit Du auf Deiner Webseite ASP.NET (MVC) einsetzen kannst, musst Du zunächst die nötigen Laufzeitbibliotheken in Deinen Webserver integrieren. Mit dem IIS ist es am Einfachsten, aber grundsätzlich stehen diese Module für viele unterschiedliche Webserver und Betriebssysteme zur Verfügung.

Webseiten, die mit ASP.NET gebaut wurden, sehen vom Aufbau her ähnlich aus wie PHP-Seiten. In einen Rahmen aus statischem HTML werden die sogenannten Webforms eingebunden. Ein Webform ist der Basis-Container für alle anderen ASP.NET Elemente. Innerhalb dieser Webforms befinden sich Usercontrols und Webcontrols, die im Visual Studio ähnliche wie Controls für Desktop-Anwendungen per Drag and Drop auf die Webseite gezogen werden können. Dies ist als einer der großen Vorteile des klassichen ASP.NET hervorzuheben, denn dadurch wird das Design einer Webseite enorm vereinfacht und beschleunigt.

ASP.NET speichert Quellcode in zwei getrennten Dateien. Zunächst wird das Aussehen der Seite, mit allen Controls und deren Plazierung und Konfiguration in einer aspx Datei gespeichert. Die Logik für die Controls und die Datenverarbeitung kann entweder “inline” in dieser Datei mitgespeichert werden oder aber in einer sogenannten Code-Behind Datei. Der Code-Behind Ansatz ist der von Microsoft empfohlene, das Visual Studio legt alle asp.net Dateien zunächst so an.

Innerhalb dieser Code-Behind Dateien wird Code entweder in der C# oder VB.NET Syntax geschrieben. ASP.NET ist somit eine Technologie, die auf verschiedenen Syntaxen aufbaut. Durch diesen Ansatz, der sich auch in anderen .NET-Sprachen wiederfindet, kann Quellcode zwischen Desktop- und Webanwendungen geteilt werden.

In ASP.NET MVC wird ein ähnlicher Ansatz verfolgt. Häufig sind jedoch Controls, die in ASP.NET verwendet wurden, inkompatibel zu ASP.NET MVC. Innerhalb des MVC Patterns gibt es zwar auch eine Datei, die die Ansicht enthält (der View) und eine, die den Code enthält (der Controller), dennoch arbeiten die User- und Web-Controls des klassischen ASP.NET häufig nicht wie erwartet mit dem Code des Controllers, da der Datenfluss in diesem Framework anders funktioniert. Für ASP.NET MVC gibt es bis zur Version 4 noch keinen grafischen Editor mit dem man Views bauen kann, dieser ist jedoch bereits mit der Version 3 angekündigt worden und soll im nächsten Visual Studio zur Verfügung stehen. Positiv hervorzuheben ist, dass mit in ASP.NET MVC auch nativ javascript einbinden kann, die Arbeit mit CSS-Sheets wurde wesentlich vereinfacht.

Ist ASP.NET MVC immer besser als das “alte” ASP.NET?

Nein! Es kommt auf den Einsatzbereich an. Anwendungen, die in einer Version mit einem weitgehend gleichbleibenden Aussehen auf einer Webseite eingebunden werden und dabei wenig Gebrauch von der Datenbank machen, sind klassische Kandidaten für ASP.NET. Erst wenn größere, vielleicht auch verteilte Anwendungen erstellt werden sollen, die große Datenmengen verarbeiten, beispielsweise bei Software as a Service (SaaS), lohnt sich der Einsatz von ASP.NET MVC.

Sollte ich ASP.NET lernen?

Das kommt darauf an. Wenn Du bereits fit in anderen Webtechnologien bist, dann macht ASP.NET für Dich nur in Ausnahmefällen Sinn. Wenn Du ein Programmierer bist, der bereits einige Erfahrung mit Microsoft-Technologien gemacht hat und das .NET-Framework kennt dann ist ASP.NET (MVC) eine gute Möglichkeit für Dich, Deine bereits erworbenen Kompetenzen ohne große Mühe auf einen neuen Einsatzbereich zu übertragen. Du wirst vermutlich nur wenig Zeit brauchen, um Dich zurechtzufinden und produktive Ergebnisse zu erzielen!

Rückmeldungen