Active Server Pages NET
ASP.NET
Basisdaten
Entwickler: Microsoft
Aktuelle Version: 3.5
Betriebssystem: ab Windows 2000
Kategorie: Web-Entwicklung
Lizenz: Proprietäre Software
Deutschsprachig: ja
MSDN Developer Center zu ASP.NET, www.asp.net/de (Deutsch)

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

Mit ASP.NET können Webanwendungen in von .NET unterstützten Sprachen (theoretisch alle CLR-kompatiblen Sprachen) erstellt werden, gebräuchlich sind nahezu ausschließlich C# und VB.NET. Eingeschränkt wird die Sprachwahl meistens nur von der jeweiligen Entwicklungsumgebung.

ASP.NET trat 2002 mit der ersten Version 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 bis zu 70 Prozent [1]) benötigt, um eine dynamische Web-Site zu erstellen. Mit Version 3.5 wurde ASP.NET um Unterstützung für AJAX und LINQ erweitert.

Inhaltsverzeichnis

Unterschiede zu ASP

  • Zwar können Code-Elemente nach wie vor im HTML-Code der neuen .aspx und .ascx-Dateien verschachtelt werden, mit ASP.NET wird aber ein Code-Behind-Konzept verfolgt: Jeder Web-Datei kann eine Klasse zugeordnet werden, von der die Seite erbt. Der Code dieser Datei wird bereits vor Aufruf der entsprechenden Seite kompiliert. Durch dieses Konzept können Programm-Code und HTML-Layout vollständig von einander getrennt werden. Die Abarbeitung wird dadurch beschleunigt und sicherer. Außerdem steigert dies die Übersichtlichkeit und Strukturiertheit des Programmcodes.
  • Da die Code-Behind-Klassen bereits vor der Laufzeit von der Entwicklungsumgebung kompiliert werden, können Fehler nachhaltig vermieden werden, die bei anderen Interpretersprachen wie PHP oder Perl erst bei der Ausführung auf dem Webserver sichtbar werden. Allerdings sollte der Entwickler dabei auf im HTML-Code verschachtelten Programmcode verzichten, da der Compiler diesen Code erst zur Laufzeit überprüft. Der Code der Code-Behind-Dateien wird dagegen vom Compiler vollständig überprüft, was eine höhere Laufzeitsicherheit erzielt.
  • ASP.NET beinhaltet ein zentrales Konzept namens Web-Controls , das Rapid Application Development von Web-Anwendungen ermöglicht. Durch die Verwendung der Web-Controls kann der Code zur Erstellung einer Seite deutlich reduziert werden.
  • ASP.NET bietet in Verbindung mit benutzerdefinierten Web-Controls (UserControls) die gleiche komfortable Möglichkeit wie bei Web-Controls (CustomControls) die Anwendungslogik (den C#-, VB.NET-Code) in von einander getrennten Komponenten zu kapseln und zu schachteln, jedoch gibt ein UserControls die Möglichkeit, seinen Inhalt deklarativ (ASPX-Code) zu beschreiben. Webcontrols können aus einzelnen oder mehreren Controls bestehen.
  • Web Controls können selbst entwickelt und innerhalb eines Projektes oder auch mehrerer Projekte verwendet werden. Es existiert ein mittlerweile sehr umfangreicher Markt, über den eine Vielzahl von wiederverwendbaren Controls frei oder kommerziell erhältlich sind. Komplexe Anforderungen müssen daher häufig nicht selbst entwickelt werden.
  • ASP.NET unterstützt mit der ViewState-Technik eine erweiterte Möglichkeit, Speicherinhalt zwischen einzelnen Seitenaufrufen zu erhalten. Während mit der Session-State-Technik bei Active-Server-Pages bisher nur eine von den Seitenaufrufen losgelöste Speicherverwaltung existierte, hat der Entwickler bei ASP.NET die Möglichkeit, Speicherinhalte in einer ViewState-Collection abzulegen um beim nächsten Seitenaufruf darauf zuzugreifen. Im Gegensatz zum Session-State wird der ViewState nicht auf dem Server, sondern in der zurückgegebenen Seite gespeichert.
  • Mit der von ASP.NET unterstützten ViewState-Technik erhalten Controls ihren Status auch über subsequente Seitenaufrufe hinweg, was mit herkömmlichen Techniken zurzeit nur begrenzt möglich ist. Ein ähnliches Konzept verfolgt Sun mit den JavaServer Faces (JSF).

Entwicklungsumgebungen

Tool unterstützte ASP.NET Version Lizenz Plattform
Microsoft Visual Studio 2008 2.0, 3.5 kommerziell Windows
Microsoft Visual Studio 2005 2.0 kommerziell Windows
Visual Web Developer Express 2008 [1] 2.0, 3.5 kostenlos Windows
SharpDevelop 1.1, 2.0 open-source Windows
MonoDevelop 1.1, 2.0 open-source hauptsächlich Linux, BSD
Borland Delphi kommerziell Windows
Borland C#Builder kommerziell Windows

Nur noch von historischem Interesse ist das von Microsoft unterstützte Community-Projekt ASP.NET Web Matrix, eine Entwicklungsumgebung für ASP.NET 1.0 und 1.1. Für neuere ASP.NET-Versionen empfiehlt Microsoft stattdessen den Einsatz von Visual Web Developer Express als kostenlose Entwicklungsumgebung.[2]

Im Zusammenhang mit Linux ist das Mono-Projekt hervorzuheben, das ASP.NET (bzw. das .NET-Framework ganz allgemein) plattformunabhängig macht. Da Microsoft das .NET-Framework jedoch nur für sein Betriebssystem Windows entwickelt, ist damit zu rechnen, dass Weiterentwicklungen erst nach einer Verzögerung ins Mono-Projekt aufgenommen werden.

Webserver

  • Microsoft Visual Studio .NET und Visual WebDeveloper Express enthalten ab der Version 2005 einen eigenen Webserver, weshalb zum Entwickeln mit diesen Produkten kein IIS mehr benötigt wird.
  • Internet Information Services (IIS 5.0/6.0/7.0) ab Windows 2000 (für Windows NT 4 und älter, sowie für Windows 9x gibt es keine Unterstützung). Im Gegensatz zu den IIS der Version 5 ist ASP.NET unter IIS 6 ab Windows Server 2003 direkt implementiert, wodurch deutliche Performance-Verbesserungen erreicht werden konnten. Die IIS sind – in eingeschränkter Form – auch in manchen Consumer-Versionen von Windows enthalten (Windows XP Professional, Vista ab Edition Business).
  • XSP-Webserver (Teil des Mono-Projektes). Dieser Server steht für Windows und Linux zur Verfügung und kann über das Apache-Modul mod_mono an den Apache Webserver angebunden werden. XSP ist in C# geschrieben, steht unter einer Open Source-Lizenz und unterstützt ASP.NET 2.0 (ohne Webparts).
  • Cassini-Webserver. Dieser Webserver wurde von Microsoft als schlankes Beispielprogramm zur Verfügung gestellt und soll Entwicklern Einblicke in die Funktionsweise des ASP.NET Hosting geben. Cassini ist in C# implementiert und steht unter einer Shared-Source-Lizenz.

Vorteile

  • ASP.NET ist keine Programmiersprache, sondern eine Technologie. Somit kann jede ASP.NET Webseite in allen .Net-Sprachen (z.B. C#, VB.NET oder auch PHP) programmiert werden
  • ASP.NET-Sprachen werden nicht interpretiert, sondern (in CIL) übersetzt
  • ASP.NET trennt durch Codebehind die Darstellung von der Programmlogik. Wer dies nicht verwenden will, hat die Möglichkeit die Funktion Render zu überschreiben, und sich hier (vollkommen unabhängig von der Design-Ansicht) das HTML komplett selbst zu erzeugen
  • Da das .NET-Framework selbst viele Funktionen zur Verfügung stellt, sind viele Anforderungen (wie etwa Bildbearbeitung oder XML-Verarbeitung) im Gegensatz zu beispielsweise PHP ohne Installation von zusätzlichen Libraries möglich
  • Das Programmmodell (mit Events, die von Controls ausgelöst werden) ist dem von .Net-Applikationen sehr ähnlich, somit ist für Entwickler, die schon Applikationen für das .NET-Framework geschrieben haben, ASP.NET (und C#/VB.NET) leicht möglich. Meist können für Windows-Applikationen programmierte Funktionen oder Klassen sogar ohne Änderung in ASP.NET weiterverwendet werden
  • ASP.NET stellt auch Funktionalität für die Client- und Server-Programmierung von SOAP Webservices und AJAX bereit.
  • Mit Web-Controls können Teile einer Webseite gekapselt und wiederverwendet werden. Neben den mitgelieferten Controls wie beispielsweise einem Kalendercontrol oder einer Gridview (Tabellenansicht von Daten) gibt es unzählige (freie und kostenpflichtige) Controls von Drittanbietern wie etwa Charting-Engines
  • Durch die Abstraktion der auf einer Webseite verwendeten Funktionalitäten (von Textbox über Buttons bis kompletten Kalendercontrol) in Servercontrols können browserunabhängige Webseiten erstellt werden. Zusätzlich kann mit den CSS Friendly Adaptors auf den generierten HTML Code (auch Browserspezifisch) von Standardcontrols Einfluss genommen werden, so dass diese standardkonformes HTML erzeugen, das etwa keine Tabellen zur Layoutgestaltung verwendet.

Die Abstraktion geht soweit, dass z.B. eine komplette Rechteverwaltung (User/Roles) – mitsamt Login, „Passwort vergessen“, und ähnlichem – fast ohne selbstgeschrieben Code, zumindest aber mit vorgefertigten Klassen in die eigene Seite implementiert werden kann. Auch ein Schutz von Dateien kann damit implementiert werden.

Zusätzlich bietet ASP.NET das Konzept der WebParts. Mit diesen können Intranets erstellt werden, in denen jeder Benutzer selbst konfiguriert, was er an welcher Stelle der Seite sehen will.

Nachteile

  • Da ASP.NET in vielen Bereichen andere Konzepte als verbreitete Skriptsprachen verfolgt, stellt die Einarbeitung für Entwickler, die von anderen Skriptsprachen kommen, zusätzlichen Aufwand dar. Vor allem für Entwickler, die unter .NET schon entwickelt haben, ist ASP.NET hingegen einfacher zu erlernen.
  • Mit ASP.NET ist man de facto an einen unter Betriebssystemen der Firma Microsoft laufenden Server gebunden. Es gibt zwar freie .NET (und ASP.NET)-Implementierungen, diese sind aber (noch) nicht hundertprozentig kompatibel, und hinken daher neuen .NET-Versionen immer zumindest einige Monate hinterher.

Zukunft

Microsoft hat für sich erkannt, dass HTML/CSS/JavaScript für Rich-Clients nicht mehr ausreichend ist. Aus diesem Grund entwickelt Microsoft zurzeit Silverlight. Silverlight selbst hat zwar wenig mit ASP.NET zu tun, wird aber wohl in einigen Bereichen ASP.NET ersetzen oder zumindest eng damit zusammenarbeiten.

Silverlight (vormals WPF/E) ist ähnlich Flash ein Browserplugin, welches die Restriktionen von HTML zu umgehen versucht. Im Gegensatz zu Flash wird allerdings der Inhalt (Oberfläche, Animation oder Skript) des Applets in XML zum Browser geschickt (WPF, Windows Presentation Foundation). Dies hat zur Folge, dass solche Seiten auch problemlos mit serverseitigem Code generiert werden können, wenngleich hierfür Tools (Expression Blend) verwendet werden.

Silverlight soll offiziell nicht in direkter Konkurrenz zu Flash stehen, wird aber wohl in diese treten, wie ein Blick auf die Features des Plugins zeigt.

Versionsgeschichte

Version korrespondierende Visual Studio-Version Veröffentlichung
3.5 Microsoft Visual Studio 2008 November 2007
2.0 Microsoft Visual Studio 2005 November 2005
1.1 Microsoft Visual Studio .NET 2003 April 2003
1.0 Microsoft Visual Studio .NET Januar 2002

Einzelnachweise

  1. http://www.microsoft.com/germany/windowsserver2003/uebersicht/webplatform.mspx
  2. http://www.asp.net/downloads/archived/web-matrix/

Literatur

  • Jana Frank, Patrick A. Lorenz: ASP.NET 3.5 mit AJAX. Carl Hanser Verlag, München 2008, ISBN 3-44641-199-2
  • Chris Hart, John Kauffman, Dave Sussman and Chris Ullman: Beginning ASP.NET 2.0. Wiley Publishing, Inc., 2006, ISBN 0-7645-8850-8 (eng.)
  • Hannes Preishuber: ASP.NET 2.0 Crash Kurs. Microsoft Press, 2006, ISBN 3-86063-988-9
  • Holger Schwichtenberg: ASP.NET 2.0 – Das Entwicklerbuch. Microsoft Press, 2006, ISBN 3-86063-544-1 (VB) und ISBN 3-86063-546-8 (C#)
  • Christian Wenz, Andreas Kordwig, Christian Trennhaus: Jetzt lerne ich ASP.NET. Markt und Technik, Oktober 2004, ISBN 3-8272-6813-3

Weblinks


Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Active Server Pages .NET — ASP.NET Basisdaten Entwickler: Microsoft Aktuelle Version: 3.5 …   Deutsch Wikipedia

  • Active Server Pages — Developer(s) Microsoft Stable release 3.0 (no further versions planned) Type Web application framework License Proprietary …   Wikipedia

  • Active Server Pages — Тип Web application framework Разработчик Microsoft Последняя версия 3.0 (no further versions planned) Лицензия Проприетарное ПО …   Википедия

  • Active server pages — Pour les articles homonymes, voir ASP. Active Server Pages (ASP) est une technologie développée par Microsoft utilisée dans la programmation Web. C est une technologie web dynamique, équivalente et concurrente de PHP. Elle nécessite pour… …   Wikipédia en Français

  • Active Server Pages — (ASP) es una tecnología del lado servidor de Microsoft para páginas web generadas dinámicamente, que ha sido comercializada como un anexo a Internet Information Server (IIS). ASP ha pasado por cuatro iteraciones mayores, ASP 1.0 (distribuido con… …   Enciclopedia Universal

  • Active Server Pages — (ASP) ist eine von Microsoft entwickelte SSI Nachfolgetechnologie, die mit Einsatz einer Skriptsprache wie PHP, VBScript, Perl oder JScript serverseitig Webseiten erzeugt. ASP wurde ursprünglich nur vom Webserver Internet Information Services… …   Deutsch Wikipedia

  • Active Server Pages — ASP Desarrollador Microsoft Información general Última versión estable 3.0 (desarrollo abandonado) Género …   Wikipedia Español

  • Active Server Pages — Pour les articles homonymes, voir ASP. Active Server Pages (ASP) est un ensemble de logiciels développés par Microsoft et utilisés dans la programmation Web. C est une suite de logiciels destinée à créer des sites web dynamiques. Elle nécessite… …   Wikipédia en Français

  • Java Server Pages — JavaServer Pages, abgekürzt JSP, ist eine von Sun Microsystems entwickelte auf JHTML basierende Technik, die im Wesentlichen zur einfachen dynamischen Erzeugung von HTML und XML Ausgaben eines Webservers dient. Sie erlaubt, Java Code und… …   Deutsch Wikipedia

  • Active Template Library — (ATL)  набор шаблонных классов языка C++, разработанных компанией Microsoft для упрощения написания COM компонентов. Эта библиотека позволяет разработчикам создавать различные объекты COM, серверы автоматизации OLE и управляющие элементы… …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”