Visual Studio 2008: Neues im Detail

13.02.2008
Von Peter Monadjemi
Microsoft hat im jetzt offiziell gestarteten Visual Studio 2008 viele Baustellen geschlossen. Wirklich neu ist die Einführung von Linq, Foundation-Designern sowie die Integration von Ajax in der Professional Edition.

Der Nachfolger von Visual Studio 2005 steht in den Startlöchern, als Download in deutscher Version hat Microsoft das Update seiner integrierten Entwicklungsumgebung (IDE) bereits Mitte Januar ins Netz gestellt. Auch wenn es sich bei Visual Studio 2008 insgesamt nur um einen kleineren Release-Wechsel handelt, so bietet er doch für Entwickler in allen Bereichen erfreuliche Verbesserungen. Mit Linq to SQL kommt sogar eine echte Neuerung. Das mit dem Update verbundene Ziel lässt sich auf die einfache Formel bringen: mehr Komfort und Möglichkeiten für Entwickler. Erreicht wird dies nicht zuletzt damit, dass einige der bisherigen Baustellen geschlossen wurden. So hat Microsoft mit den Designern für Windows Workflow Foundation (WF) und Windows Presentation Foundation (WPF) sowie mit dem bereits seit Januar offiziell verfügbaren Ajax ASP.NET jene fehlenden Bausteine in das Paket aufgenommen, die bislang nur als Vorabversionen oder einzeln verfügbar waren.

Vom Hobbyisten bis zumUnternehmensentwickler

Bei Visual Studio kann man inzwischen nicht mehr von einer Anwendung sprechen, es handelt sich um eine komplette Produktfamilie aus zehn Editionen. Die IDE deckt die Interessen des gesamten Anwenderspektrums ab, vom Hobbyisten bis zum Unternehmensentwickler, der in einem größeren Team arbeitet. Wer die bislang ausgelieferten Versionen von Visual Studio .NET, angefangen hat es mit Release 2002, der Reihe nach aufrufen würde, dürfte bei oberflächlicher Betrachtung keine gravierenden Unterschiede feststellen. Genau das ist die Qualität von Visual Studio, indem es die in diesem Punkt sensiblen Entwickler nicht mit modischen Spielereien verärgert. Die zahlreichen Verbesserungen liegen im Detail und führen zu beachtlichen Produktivitätsgewinnen. Dank eines deutlich beschleunigten Hintergrund-Compilers gibt es beispielsweise einen reaktionsfreudigeren Code-Editor, der Eingabehilfen schneller anzeigt und für Visual-Basic-Befehle eine Auswahlliste bietet.

Verstecktes Feature:Die Wahl der .NET-Laufzeit

Eine sehr wichtige Neuerung der IDE lässt sich allerdings auch schnell übersehen: Beim Anlegen eines neuen Projekts kann die Version der .NET-Laufzeit (zur Auswahl stehen 2.0, 3.0 und 3.5) ausgewählt werden. Entsprechend werden Verweise auf die .NET-Bibliotheken gesetzt und Vorlagen angeboten. Entwickler müssen daher ihre aktuellen Projekte beim Umstieg auf Visual Studio 2008 nicht sofort auf .NET 3.5 umstellen. Wird ein VS-2005-Projekt unter der neuen Version geladen, wird es zwar von einem Konvertierungs-Assistenten "umgestellt", Inkompatibilitäten sind jedoch nicht zu befürchten, zumal als "Ziel" das .NET-Framework 2.0 beibehalten wird.

Endlich unter einemDach vereint

Wer auf der Microsoft-Plattform entwickelt, ist daran gewöhnt, mit offiziell noch nicht freigegebenen Werkzeugen arbeiten zu müssen. In den letzten zwei Jahren hatte man in Redmond den Entwicklern in diesem Punkt einiges zugemutet. Über das im November 2006 eingeführte .NET 3.0 ka-men mit der Windows Presentation Foundation und der Windows Workflow Foundation zwar wichtige neue Techniken hinzu, die dafür angebotenen Designer blieben aber auf dem Stand eines Community Technical Preview (CTP). Mit Visual Studio 2008 und .NET 3.5 reduziert sich die Zahl der Baustellen deutlich, denn WPF- und WF-Designer, Ajax ASP.NET und das Language Integrated Query Framework (Linq) sind endlich ein offizieller Teil der IDE. Dennoch bleibt einiges offen: Sowohl die O/R-Mapping-Technologie Entity Framework als auch der Silverlight-Designer glänzen durch Abwesenheit und sollen im Sommer zusammen mit anderen Verbesserungen wie einem Multitier Linq to SQL im Rahmen eines 2008-Updates nachgeliefert werden.

Das Wichtigste auf einen Blick

  • Intellisense: mehr Performance durch den optimierten Background-Compiler;

  • Visual Basic: Auswahllisten für Befehle;

  • HTML/CSS: komfortabler CSS-Editor und zweigeteilte Ansicht für HTML-Seiten;

  • Javascript: verbessertes Client-Script-Debugging und Intellisense;

  • Ajax: fester Bestandteil der IDE;

  • Unit-Testing: fester Bestandteil der Professional Edition (auch für mobile Anwendungen);

  • My Namespace: kann erweitert werden;

  • WPF: komfortabler Designer für den Grundbedarf;

  • WF: komfortabler Designer für den Grundbedarf;

  • Symbole: Es gibt einen Satz neuer Bitmaps als VS2008ImageLibrary.zip.

Überaus erfreulich ist der Umstand, dass in der Professional Edition von Visual Studio eine Unterstützung für Unit-Testing fest eingebaut ist, auch für mobile Geräte. Damit gehören Werkzeuge, mit denen sich Unit-Tests erstellen, ausführen und auswerten lassen, endlich zum festen Bestandteil des regulären Visual Studio. Microsoft möchte damit nach eigener Aussage eine "Kultur des Testens" im Bewusstsein auch jener Entwickler verankern, die mit dem automatisierten Testen ihres Codes bislang nicht viel am Hut hatten. Einen Testrahmen für ein Projekt anzulegen könnte einfacher nicht sein. Über einen Klick mit der rechten Maustaste in das Codefenster wird der Befehl zum Anlegen eines Komponententests ausgewählt. Die IDE fügt daraufhin ein neues Testprojekt hinzu, in das für jede der zuvor in einem Dialogfeld ausgewählten Methoden entsprechende Testverfahren angelegt werden. Sind alle Tests einsatzbereit, werden sie durch Starten des Testprojekts zur Ausführung gebracht und das Ergebnis in einem eigenen Fenster zusammengefasst.

Die Zukunft derBenutzeroberflächen

Die wenig euphorische Reaktion auf Windows Vista hat sicher nichts damit zu tun, dass sich die WPF als inoffizieller Nachfolger der Winforms noch nicht hat durchsetzen können. Der neue WPF-Designer ist ein erster Schritt in Richtung mehr Akzeptanz, denn bislang war Microsoft den Entwicklern ein offizielles Tool schuldig geblieben. Der WPF-Designer ist relativ komfortabel und reaktionsfreudig, bietet eine zweigeteilte Entwurf/XAML-Ansicht, aber nur einen Bruchteil der Möglichkeiten, welche die WPF-Klassen zur Verfügung stellen. Die Arbeitsteilung der Zukunft sieht daher so aus, dass ein Designer mit Microsofts "Expression Blend" eine Oberfläche erstellt und der Entwickler in Visual Studio den Code ergänzt. Auch wenn Blend das Visual-Studio-Projektformat verwendet und sich daher als natürliche Erweiterung von Visual Studio versteht, wird es noch eine Weile dauern, bis WPF die Bedeutung von Winforms, die offiziell nicht mehr weiterentwickelt werden, erlangt.

Das weiß auch Microsoft und setzt deshalb mehr auf Interoperabilität als auf Verdrängung. Mit der ElementHost-Komponente lassen sich WPF-UserControls komfortabel auf einem Winforms-Formular platzieren. Umgekehrt können über den WinformsHost Winforms-Elemente in eine WPF-Anwendung eingebaut werden. Wer WPF-Anwendungen erstellen möchte, benötigt dazu nicht unbedingt Visual Studio 2008, denn auch die Open-Source-IDE "SharpDevelop" bietet in Version 3 einen komfortablen WPF-Designer.

Unmanaged Code wächst und gedeiht

Vista selber wird durch Visual Studio 2008 nur ansatzweise unterstützt. Der einzige direkte Vista-Bezug findet sich in dem Umstand, dass sich für die Ausführung bei aktiver Benutzerkontensteuerung die empfohlene Manifestdatei per Knopfdruck anlegen lässt. Wer die Vista-Oberflächenelemente in seine Anwendung einbauen möchte, muss dazu nach wie vor auf Visual C++ und eine aktualisierte MFC und damit wie eh und je auf Unmanaged Code zurückgreifen. Überhaupt hat man in Redmond seit einiger Zeit C++ wieder richtig lieb gewonnen, was sich nicht nur durch zahlreiche Verbesserungen an Visual C++ 2008 (intern besitzt der Compiler bereits die Versionsnummer 15), sondern auch durch ehrgeizige Ziele für die kommende Version 10 bemerkbar macht.

VSTO 3.0 - Managed Codefür Office

Mit Visual Studio 2008 erhalten Office-Entwickler die komplette Funktionalität der Visual Studio Tools for Office 3.0 auch in der Professional Edition. Damit lassen sich Erweiterungen auf Anwendungsebene (Add-ins) für alle großen Office-2003/2007-Anwendungen erstellen und Erweiterungen auf Dokumentenebene für Excel und Word 2003/2007. Zu den Neuerungen gehört auch ein komfortabler Ribbon-Designer, mit dessen Hilfe sich Multifunktionsleisten für Office-2007-Erweiterungen ähnlich komfortabel erstellen lassen wie Winforms-Formulare. Ferner gibt es einen Designer für Outlook-Formularbereiche und weitere Kleinigkeiten wie eine Datenbindung an Word-Inhaltsbereiche sowie eine noch direktere Integration zwischen VSTO und VBA. Die wichtigste Neuerung hier betrifft die Auslieferung von VSTO-Anwendungen. Mussten dazu in der Vergangenheit auf jedem System Sicherheitsrichtlinien angelegt werden, genügt nun als Vertrauensbeweis für sämtliche zur Anwendung gehörenden Dateien ein Zertifikat. Ein kleiner Wermutstropfen bleibt aber, denn diese Komfortvariante funktioniert leider nur mit .NET 3.5 und Office 2007.

Umsteigen oder nicht?

Der Umstieg auf Visual Studio 2008 dürfte für die meisten Entwickler kein Problem sein, da die neue Version zahlreiche Verbesserungen in Sachen Kom-fort mit sich bringt und keine Nachteile durch Inkompatibilitäten zu befürchten sind. Wie immer gibt es Probierversionen zum Download, auch als Images für den Virtual PC, die 90 Tage lang benutzt werden können.

Das Language Integrated Query Framework (Linq) ist ein Teil von .NET 3.5, C# 3.0 und VB 9.0. In Visual Studio 2008 tritt es (sogar in den Express-Editionen) nur durch eine unscheinbare Vorlage mit dem Namen Linq-to-SQL-Klassen in Erscheinung. Dahinter verbirgt sich nicht weniger als der offizielle Eintritt von Microsoft in den Markt der O/R-Mapper. Entwickler ziehen Tabellen aus dem Server-Explorer auf den Designer und legen damit eine Zwischenschicht an, gegen die Linq-Abfragen zum Abruf der Daten erstellt werden können. Das Aktualisieren der Daten geschieht direkt über diesen Layer. Das intern generierte SQL kann nicht nur sichtbar gemacht, sondern auf Wunsch auch modifiziert werden, bevor es an den SQL Server geschickt wird. Linq to SQL bietet allerdings nur ein Minimum an Funktionen und läuft zudem nur mit dem Microsoft SQL Server. Erst das kommende Linq to Entity wird als allgemeine O/R-Mapping-Technologie für alle DBMS-Typen offen sein. Erwähnenswert ist in diesem Zusammenhang, dass mit Visual Studio 2008 auch eine SQL Server 2005 Compact Edition installiert wird. Diese schlanke SQL-Engine arbeitet dateiorientiert, läuft sowohl auf Desktops als auch auf mobilen Geräten und übernimmt im Zusammenhang mit den neuen Sync Services for ADO.NET die Rolle des lokalen Cache. (ue)