Letztes Jahr zur Build wurde die neue Version des ASP.NET MVC Frameworks in der Version 4 angekündigt und ein Developer Preview veröffentlicht. Jetzt steht die Beta-Version von ASP.NET MVC 4 unter ASP.NET zum Download bereit. Gegenüber dem Developer Preview sind einige wichtigen Punkte hinzugenommen und insbesondere die Unterstützung der Entwicklung von mobilen Applikationen wurde ausgebaut.
Die wichtigsten Neuerungen gegenüber dem Developer Preview sind:
ASP.NET Web API
Mit der ASP.NET Web API steht ein Framework zur Verfügung, um mit den bekannten Paradigmen von ASP.NET MVC mit beliebigen Web Services auf einfache Art und Weise zu kommunizieren. Dazu bietet die ASP.NET Web API ein einfaches Programmiermodell, um HTTP Requests und Responses direkt zu manipulieren und gegen ein streng typisiertes Datenmodell (domains) zu binden. Des weiteren unterstützt die ASP.NET Web API Routing, wie man dies von ASP.NET MVC
gewohnt ist. Ein weiteres schönes Feature ist die Verwendbarkeit von IQueryable<T> als Return-Type, die es ermöglicht auf die Services mit normaler OData Syntax zuzugreifen.
Weitere Infos zur ASP.NET web API sind hier zu finden.
Verbesserungen für die Razor Engine
Die Razor Engine versteht jetzt die “~”-Syntax für Verlinkungen (Z.B. <script> src=”~/Scripts/Site.js” />) und unterstützt bedingtes Attribut Rendering. So wird z.B. die Angabe der Style Class im Ausdruck <div class=”@myClass”>Inhalt</div> bei myClass=null auch nicht mehr gerendert.
NuGet Integration in MVC-Projekte
Das ASP.NET MVC 4 Projekt-Template bietet jetzt die Verwendung des NuGet Package Restore Features. Aktiviert man diese Option in der Solution werden nicht mehr die Binaries der NuGet Packages in ein Source Control System übernommen, sondern im Build Prozess wird geprüft, ob alle Packages in der entsprechenden Version gemäß der packages.config vorhanden sind und dann ggf. heruntergeladen.
Templates für mobile Applikationen
Das neue Projekt-Template für mobile Applikationen basiert auf dem Open Source Framwork jQuery Mobile und enthält bereits die Referenzen auf die KnockOut und Modernizer JavaScript Bibliotheken, die durch NuGet Packages in der aktuellen Version zur Verfügung gestellt werden. Insgesamt merkt man, das viel in der aktuellen Beta-Version von ASP.NET MVC zur Unterstützung der Entwicklung von mobilen Applikationen getan wurde.
Mittels der neuen Display Modes können darüber hinaus gemischte Web-Seiten für konventionelle Webseiten und touch-basierte Applikationen entwickelt werden.Legt man beispielsweise in einem Shared View-Folder die Datei _MyPartial.cshtml und _MyPartial.mobile.cshtml ab, wird beim Aufruf über einen mobilen Browser automatisch die mobile Version aufgerufen. Über die DisplayModeProvider-Klasse können sogar noch eigene Display Modes in Abhängigkeit vom UserAgent z.B. für das iPad definiert werden.
Fazit
Insgesamt bietet die Beta-Version von ASP.NET MVC 4 wieder sehr viele Bereicherungen, die es uns noch leichter macht mittels des bewährten MVC Pattern unter Ausnutzung der einfachen Razor-Engine traditionelle aber auch touch-basierte Web-Applikationen für den Anwender bereitzustellen.
Weiterführende Links
- http://asp.net/vnext
- http://asp.net/mvc/mvc4
- Scott Guthries Präsentation von ASP.NET MVC 4 bei TechDays 2012 in den Niederlanden Channel 9.