Jenseits von JavaScript und HTML5: Ausblick auf .NET 4.5 und Visual Studio 11.0

Seite 4: Visual Studio & Fazit

Inhaltsverzeichnis

Die elfte Version von Visual Studio unterstützt die Entwicklung von .NET 2.0 bis 4.5, inklusive der in .NET 3.5 eingeführten abgespeckten "Client Profiles", sowie auch weiterhin die Entwicklung mit C++ in Managed und nativem Code. Letzteres stärkt Microsoft enorm, nicht nur durch die WinRT-Strategie, sondern das nächste Visual Studio bietet auch eine bessere Unterstützung für Spiele- und Treiberentwickler.

Als Portable Assembly (alias "Portable Subset Project") bezeichnet Microsoft eine Assembly, die den kleinsten gemeinsamen Nenner mehrerer .NET-Plattformen (.NET Framework, Silverlight, Windows Phone, XBox und jetzt auch WinRT) unterstützt und daher ohne Neukompilierung auf mehreren Plattformen läuft. In Visual Studio 11.0 gibt es dafür als Projektvorlage die "Portable Class Library". In den Projekteigenschaften kann man auswählen, welche Plattformen zu unterstützen sind (siehe Abb. 4). Dementsprechend schränkt die Entwicklungsumgebung die nutzbaren Komponenten im Dialog "Add Reference", die Vorschläge der IntelliSense und die Fähigkeiten des Compilers dann ein. Auch beim Erstellen von WCF-Service-Proxies richtet sich die Codegenerierung nach dem kleinsten gemeinsamen Nenner der gewählten Plattformen.

Einstellungen für Portable Libraries in Visual Studio 11. "WinRT" fehlt hier noch (Abb. 4).

Viele Entwickler und deren Geldgeber wird erfreuen, dass das Projektformat von Visual Studio 11 erstmals kompatibel zur Vorgängerversion ist. Nun sind nicht mehr alle Entwickler eines Projektteams gezwungen, zur gleichen Zeit auf die neue Entwicklungsumgebung umzusteigen. Die bisherigen Power-Tool-Add-ons sind in Visual Studio 11 fest enthalten. Die Add-ons wurden aber nicht eins zu eins übernommen. So sind die neuen Funktionen des Solution Navigator jetzt in den Solution Explorer eingeflossen. Die Suche über die Visual-Studio-Funktion ("Quick Launch") ist nun direkt in der Menüleiste (siehe rechts oben in Abb. 2) zu finden. Quick Launch ist eine sinnvolle Funktion, denn Visual Studio hat laut Microsoft inzwischen rund 4000 Funktionen, die in den tief verzweigten Menüs und Optionsdialogen nicht immer einfach zu finden sind.

Der Editor besitzt eine neue Einfügefunktion (Edit/Paste Special/Paste XML as Code), die für ein XML-Fragment in der Zwischenablage direkt eine der XML-Struktur entsprechende .NET-Klasse erzeugt. Die Datentypen werden dabei aus den Inhalten abgeleitet. Im C#-Editor trennt die IntelliSense-Funktion wie bisher schon in Visual Basic nun die Vorschläge in "Common" und "All". Die neue "Code Clone Analysis" findet Code-Duplikate, die durch Copy & Paste entstanden sind. Unterschieden wird zwischen exakten Duplikaten und ähnlichen Codestellen (z. B. eine Schleife mit gleichem Inhalt, aber anderer Durchlaufanzahl). Allerdings reicht schon das Umbenennen einer Variable, und die Funktion findet gar nichts mehr, selbst wenn die die Syntax ansonsten gleich geblieben ist.

Bei den Designern hat Microsoft erheblich nachgebessert, sowohl für WPF als auch für Webanwendungen. Visual Studio 11.0 erhält endlich den gleichen WPF-Designer wie Expression Blend, nachdem die bisherigen WPF-Designer in Visual Studio immer um Meilen hinter diesem zurücklagen. Der Webeditor ("Visual Web Developer") unterstützt nun Code-Snippets für HTML5 und CSS3; auch Eingabeunterstützung durch SmartTags ist nun vorhanden. Microsoft hat viele Kleinigkeiten ergänzt, die man aus anderen Editoren kennt, etwa automatisches Verändern des anderen Tags, wenn das öffnende oder schließende Tag umbenannt wird. Ebenso gibt es einen neuen Page Inspector, bei dem man in der Browserseite auf ein Element klicken kann und dann dazu sowohl das clientseitige HTML als auch den Servercode angezeigt bekommt, der das HTML erzeugt hat. Mit "Extract to User Control" kann der Benutzer schnell aus einen HTML-Fragment ein eigenes ASP.NET-Steuerelement erstellen. Für JavaScript soll sich die IntelliSense-Eingabeunterstützung wesentlich verbessern. Entwickler können diese nun selbst durch Code anpassen und auch interaktiv mit JavaScript in einer Konsole arbeiten. Auch Spieleentwickler will Microsoft nun besser in der IDE unterstützen. Beispielsweise können sie 3-D-Modelle (Autodesk FBX, Microsoft DDS) direkt in Visual Studio betrachten und bearbeiten.

Für die Zusammenarbeit mit dem Team Foundation Server (TFS) hat Microsoft den Team Explorer komplett überarbeitet. Anstelle der bisherigen Baumansicht tritt eine aufgabenorientierte Ansicht (siehe rechts in Abb. 2) in Erscheinung. Der Check-in des Quellcodes erfolgt nicht mehr in einem modalen Dialog, sondern direkt im Team Explorer. Dateien kann man per Drag & Drop ein- oder ausschließen. Auch TFS Work Items lassen sich per Drag & Drop oder Direkteingabe der Work-Item-ID einem Check-in zuordnen. Weitere ALM-Funktionen hatte Microsoft schon auf der TechEd im Mai angekündigt. Dazu gehören Unit-Testing für C++, Unterstützung für Code-Reviews, Erstellen von Storyboards in PowerPoint und das Verwenden von IntelliTrace in Produktionsumgebungen. Auch lassen sich IntelliTrace-Daten über den System Center Operations Manager an Visual Studio übergeben.

.NET 4.5 bringt das, was man von einem Update der Versionsnummer nach dem Komma erwarten kann. Einige Bereiche profitieren mehr, andere weniger. Neben dem asynchronen Programmieren liefert Microsoft bemerkenswerte Neuerungen für die Webentwicklung, den Datenzugriff und die Workflows. Aber auch die übrigen Bibliotheken gehen nicht leer aus bei dieser Renoviermaßnahme.

Die aktuelle Vorabversion hat aber noch nicht den Beta-Status erreicht. Nicht alle der erwähnten Funktionen sind schon umgesetzt, und nicht alle Features des endgültigen Produkts hat Microsoft für die Veröffentlichung freigegeben. Einen Erscheinungstermin gibt es noch nicht, aber über Mitte 2012 darf spekuliert werden.

Holger Schwichtenberg
leitet das Expertennetzwerk www.IT-Visions.de, das Beratung, Schulungen und Softwareentwicklung im .NET-Umfeld anbietet. Er hält Vorträge auf Fachkonferenzen und ist Autor zahlreicher Fachbücher.
(ane)