ASP.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:

  • ASP.NET — Basisdaten Entwickler Microsoft Aktuelle Version …   Deutsch Wikipedia

  • ASP.NET — es un framework para aplicaciones web desarrollado y comercializado por Microsoft. Es usado por programadores para construir sitios web dinámicos, aplicaciones web y servicios web XML. Apareció en enero de 2002 con la versión 1.0 del .NET… …   Wikipedia Español

  • ASP.NET — Développeur Microsoft Première version Janvier 2 …   Wikipédia en Français

  • ASP.Net — est un ensemble de technologies de programmation web créé par Microsoft. Les programmeurs peuvent utiliser ASP.NET pour créer des sites webs dynamiques, des applications web ou des web services XML. La technologie est accessible grâce à l… …   Wikipédia en Français

  • Asp.net — est un ensemble de technologies de programmation web créé par Microsoft. Les programmeurs peuvent utiliser ASP.NET pour créer des sites webs dynamiques, des applications web ou des web services XML. La technologie est accessible grâce à l… …   Wikipédia en Français

  • ASP.NET — Not to be confused with UNESCO ASPNet. ASP.NET Developer(s) Microsoft Initial release January 2002 Stable release 4.0.30319.1 (4.0) / 12 April 2010; 18 months ago (2010 04 12) …   Wikipedia

  • ASP.NET — Проверить нейтральность. На странице обсуждения должны быть подробности. ASP.NET  технология создания веб приложений и веб сервисов от компании Майкр …   Википедия

  • ASP.NET — Den nye version af ASP, der følger med .NET platformen. Er radikalt anderledes end ASP, men en intgral del af .NET, hvilket betyder, at mange af programmeringsteknikkerne fra almindelig Windows udvikling kan genbruge. se www.asp.net …   Danske encyklopædi

  • ASP.Net — …   Википедия

  • ASP.NET MVC Framework — Тип Веб фреймворк Разработчик Microsoft Написана на C# Операционная система Кроссплатформенное ПО Аппаратная платформа .NET Framework, Mono …   Википедия

Share the article and excerpts

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