ASP.NET

Programmiersprache
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 10. Juli 2006 um 22:42 Uhr durch E7 (Diskussion | Beiträge) (Nachteile). Sie kann sich erheblich von der aktuellen Version unterscheiden.

ASP.NET (Active Server Pages .NET, aktuelle Version 2.0 (2006)) ist eine serverseitige Technologie von Microsoft zum Erstellen von Webanwendungen auf Basis des Microsoft.NET-Frameworks.

Mit ASP.NET können Webanwendungen in beliebigen von .NET unterstützten Sprachen (theoretisch alle CLR-kompatiblen Sprachen) erstellt werden, zum Beispiel C#, VB.NET, J#, Delphi.NET, Eiffel.NET, F# oder Managed C++. Eingeschränkt wird die Sprachwahl meistens nur von der jeweiligen IDE.

ASP.NET trat 2002 mit dem ersten Release die Nachfolge des in die Jahre gekommenen ASP (Active Server Pages) an, hat aber heute außer dem Namen nicht mehr viel mit der alten Technologie zu tun. ASP.NET ist seit 2002 in der Version 1.0 „final“. Seit 28. Oktober 2005 gibt es die finale Version von ASP.NET 2.0. Mit ASP.NET 2.0 wird wesentlich weniger Code (laut Microsoft 70 Prozent) benötigt, um eine dynamische Web-Site zu erstellen.

Unterschiede zu ASP

  • Keine zeilenweise Abarbeitung: Die ASP-Skripte werden durch einen Interpreter während ASP.NET-Anwendungen am Server kompiliert und nicht mehr wie bei klassischen Websprachen interpretiert. Dies geschieht just in time beim ersten Aufruf eines ASP.NET-Webforms (.aspx). Daraus resultiert ein Performance-Vorsprung gegenüber Interpretersprachen wie etwa Perl oder PHP.
  • ASP.NET bietet insbesondere in Verbindung mit Webcontrols und der IDE Visual Studio .NET von Microsoft eine komfortable Möglichkeit, die Anwendungslogik (den C#-, VB.Net-Code) vom Layout der HTML-Seite zu trennen. Dies bezeichnet Microsoft als Codebehind-Technik.
  • ASP.NET beinhaltet ein zentrales Konzept namens Web Controls, das RAD von Web-Anwendungen ermöglicht, indem Komponenten ihren Status durch die ViewState-Technik auch über subsequente Seitenaufrufe erhalten können, was mit herkömmlichen Techniken zur Zeit nur begrenzt möglich ist. Ein ähnliches Konzept verfolgt Sun mit den JavaServer Faces (JSF).

Software

Zur Entwicklung von Web-Anwendungen mit ASP.NET steht mit Microsoft Visual Studio .NET eine leistungsfähige RAD-Umgebung mit visuellen Designern zur Verfügung. Teile dieser sind auch in der Webmatrix (für ASP.NET 1.1), einer von der Community entwickelten Entwicklungsumgebung verfügbar. Für ASP.NET 2.0 gibt es Visual WebDeveloper Express 2005 (Microsoft, aktuell Version 5, kostenloser Download), eine kostenlose, abgespeckte Variante des Visual Studios. Es beinhaltet einen Webserver, der die Ausführung von ASP.NET-Webseiten auf dem eigenen Rechner erlaubt. Dies erleichtert die Entwicklung und den Test.

ASP.NET kann derzeit mit dem Microsoft IIS (5.0/6.0) ab Windows 2000 (keine Unterstützung für Windows NT 4 und abwärts; ebenfalls nicht für Windows 9x) sowie dem XSP-Webserver (Teil des mono-Projektes, welches ASP.NET unterstützt) genutzt werden. Mit dem Modul mod_mono kann ASP.NET auch, mit Einschränkungen, unter dem Webserver Apache betrieben werden. Im Gegensatz zum IIS der Version 5 ist ASP.NET unter IIS 6 ab Windows Server 2003 direkt im Internet-Information-Server implementiert. Durch diese Vorgehensweise konnten deutliche Performance-Verbesserungen erreicht werden.

Nachteile

Das Weniger an Code wird aber mit einem deutlichen Nachteil an Kontrolle über die Programmausführung durch den Entwickler erkauft. Während in der Vorgängerversion der gesamte Programmcode offenlag und zumindest prinzipiell durch den Programmierer bearbeitet werden konnte, wird durch die Entwicklungsumgebung der mit den Seitenelementen verbundene Programmcode nur noch vorübergehend in einem verborgenen Cache bereitgehalten und bei jeder Änderung automatisch neu erstellt. Dieser als partielle Klasse deklariere automatisch erzeugte Codeteil ist vor allem dann störend, wenn mit abgeleiteten "Seiten"-Klassen gearbeitet werden soll, wie es einem konsequenten Objekt-orientierten Ansatz entspricht.

Ebenfalls nachteilhaft ist der Verzicht von ASP.NET 2.0 auf Projektmappen, in denen in den Vorläuferversionen der strukturelle Aufbau der Web-Site und die Referenzen auf externe Ressourcen gespeichert worden ist. Diese Projektmappen wurden von Microsoft für Web-Projekte komplett gestrichen. Statt dessen orientiert sich der Compiler an den Dateiendungen und einer unveränderbaren Konvention der Verzeichnisstruktur. Dateien, die nicht kompiliert werden sollen, müssen umbenannt oder in andere Ordner verlegt werden. Dieses Konzept erschwert die Migration von Projekten der Vorgängerversion von ASP.NET 2.0.

ASP.NET vor allem auf Grund des Funktionsumfangs schwieriger als andere Scriptsprachen wie beispielsweise PHP oder Perl zu erlernen.


Zukunft

Derzeit kombiniert Microsoft ASP.NET mit der Technologie Ajax und erstellt das AJAX-Framework Microsoft ATLAS. Des Weiteren wird 2007 WPF erscheinen, das ASP.NET im Rich Client Bereich ablösen soll.

Literatur