Microsoft kündigt nächste Generation von ASP.NET an

Das auf der TechEd North America vorgestellte ASP.NET vNext erleichtert die Entwicklung für Cloud-Umgebungen und läuft neben Windows auch unter Linux sowie Mac OS.

In Pocket speichern vorlesen Druckansicht 32 Kommentare lesen
Lesezeit: 4 Min.
Von
  • Manfred Steyer

Microsoft hat auf der hauseigenen Messe TechEd North America im texanischen Houston die nächste Version des Web-Frameworks ASP.NET angekündigt. Diese als ASP.NET vNext bezeichnete Ausgabe lässt sich mit einer für den Einsatz am Server optimierten Variante von .NET betreiben. Microsoft spricht hierbei zwar von einer Cloud-optimierten Variante, der in der Microsoft-Szene bekannte Scott Hanselman lässt jedoch durchblicken, dass es hierbei in erster Linie um Optimierungen für die serverseitige Ausführung geht: "my cloud, your cloud, their cloud – server stuff".

Diese Variante von .NET gibt dem Entwickler die Möglichkeit, die verwendete .NET-Version gemeinsam mit einer Anwendung zu veröffentlichen. Somit ist er nicht von der am Server installierten Version abhängig und kann auf demselben Server mehrere Versionen von .NET parallel laufen lassen. Um das zu ermöglichen, stellt Microsoft künftig die einzelnen Bestandteile von .NET über seine Paketverwaltung NuGet zur Verfügung. Das hat auch den Vorteil, dass der Entwickler nur jene .NET-Bibliotheken, die seine Anwendung benötigt, veröffentlichen muss. Bibliotheken von UI-Frameworks wie WinForms oder WPF (Windows Presentation Foundation) müssen somit nicht auf den Server kopiert werden.

Darüber hinaus kann der Entwickler einzelne Bibliotheken einfacher gegen eigene Versionen austauschen, indem er deren Quellcode in einem Order, der den Namen der zu ersetzenden Bibliothek aufweist, hinterlegt. Das ist vor allem für Open-Source-Projekte interessant, zu denen schon seit einiger Zeit einige Technologien des ASP.NET-Stacks zählen.

Daneben fallen schnellere Startzeiten, ein höherer Durchsatz und ein geringerer Hauptspeicherverbrauch unter die genannten Vorteilen von ASP.NET vNext. Die Kompilate sind auch nicht mehr auf der Platte abzulegen, sondern lassen sich dank der letzten Monat als Open-Source-Software bereitgestellten Compiler-Plattform Roslyn im Hauptspeicher vorhalten. Das gibt dem Entwickler die Möglichkeit, Hotfixes einzuspielen, ohne eine vollständige Neukompilierung anstoßen zu müssen. Damit möchte Microsoft jenes leichtgewichtige Vorgehen ermöglichen, das Entwickler beim Einsatz von vielen Webtechniken gewohnt sind.

[Update:] Dies erleichtert auch die Entwicklung von Projekten, zumal Entwickler durchgeführte Änderungen sofort testen können. Die in der Vergangenheit übliche Zeitliche Verzögerung, die dem erneuten Kompilieren geschuldet war, bleibt aus. [Update]

Anders als in der Vergangenheit, als nur bestimmte Teile von ASP.NET quelloffen waren, ist ASP.NET vNext von Grund auf ein Open-Source-Projekt. Das macht eine Portierung auf andere Plattformen möglich. Miguel de Icaza, der für das Mono-Projekt verantwortlich zeichnet, hat bereits angekündigt, dass ASP.NET vNext dank Mono sowohl unter Linux als auch am Mac laufen werde.

Um den Einsatz in Cloud-Umgebungen zu vereinfachen, passen einzelne Services von ASP.NET vNext, wie die für die Verwaltung von Benutzersitzungen oder das Zwischenspeichern von Daten, ihr Verhalten abhängig davon an, ob ASP.NET in der Cloud oder in einer traditionellen Umgebung ausgeführt wird.

Die Tatsache, dass Microsoft innerhalb von ASP.NET vNext Vereinheitlichungen anstrebt, dürfte viele Entwickler freuen. Beispielsweise werden die verwandten Techniken ASP.NET MVC und ASP.NET Web API ein gemeinsames Programmiermodell erhalten und auch die verschiedenen Dependency-Injection-Mechanismen, die Entwickler in ASP.NET MVC, ASP.NET Web API und SignalR vorfinden, werden durch eine zentrale Implementierung ersetzt.

[Update:] Ein weiteres Ziel von ASP.NET vNext besteht darin, Abhängigkeiten zur Komponente System.Web zu beseitigen, zumal diese an den hauseigenen Internet Information Server (IIS) gebunden ist. Die Aufgaben dieser Komponente werden auf neue austauschbare Komponenten verteilt. Dadurch wird es unter anderem möglich, ASP.NET MVC auch im Self-Hosting-Modus zu betreiben. Durch den Wegfall von System.Web ergeben sich auch einige Breaking Changes. Beispielsweise wird es künftig keine web.config mehr geben. Allerdings hat Microsoft versichert, dass das aktuell verwendete Programmiermodell weiterhin unterstützt wird – der Entwickler wird also nicht gezwungen, diese Neuerung einzusetzen. [Update] (ane)