Visual Studio spart viel Handarbeit

23.05.2006 von Robert Heitzmann
Viele der bislang nur als Add-ins verfügbaren Features sind jetzt in Visual Studio 2005 integriert. Auf einige wichtige Funktionen muss man allerdings noch bis zur Nachfolgeversion warten.

Mit viel Aufwand hat Microsoft in den vergangenen Monaten seine Entwicklergemeinde im Rahmen von MSDN Techtalks über die drei Geschwister SQL Server 2005, Biztalk Server 2006 und Visual Studio 2005 informiert.

Der Klassendesigner hält Änderungen im Diagramm und Quelltext synchron.

Die Verwandtschaft dieser Produkte folgt aus der gemeinsamen Verwendung des neuen .NET-Frameworks 2.0, das die dritte produktive Version von Microsofts Architektur zur Softwareentwicklung darstellt. Die Zielsysteme reichen von mobilen Geräten (Compact Framework) über PC-Clients bis hin zu Server-Architekturen mit 64 Bit.

Unterstützte Sprachen

Wie bisher zeichnet sich das Framework durch die Unterstützung verschiedener Programmiersprachen auch innerhalb eines zu erstellenden Produkts aus. Microsoft stellt die Sprachen C#, Visual Basic .NET (VB), C++ und J# zur Verfügung. Von diesen sind jedoch vornehmlich C# als Basissprache der Entwicklung des Frameworks selbst sowie VB als effiziente, in der Windows-Welt bereits lang etablierte Alternative von Belang. Mit dem Übergang auf das .NET-Framework wurden jedoch sowohl Sprachumfang zum Beispiel in Richtung Objektorientierung als auch die IDE von Visual Basic stark modifiziert.

Das Framework erlaubt die Erstellung unterschiedlichster Produkttypen: Dies sind Windows-Forms-Anwendungen (klassische Client- beziehungsweise Client-Server-Anwendungen), ASP.NET-Anwendungen (sie laufen auf Microsofts Internet Information Server als Web-Server mit einem Browser als Client), Web-Services, MS-Office-Integration, Konsolenanwendungen, Dienste, wiederverwendbare Controls sowie Bibliotheken. Im .NET-Framework wird kompilierter Code in Form der Intermediate Language (IL) und im Rahmen einer virtuellen Umgebung ausgeführt. Der C++-Compiler erzeugt alternativ auch nativen Code, etwa für die Treiberentwicklung.

Gegenüber vielen ursprünglichen Ankündigungen hat sich der Funktionsumfang des Frameworks 2.0 geändert beziehungsweise reduziert, weshalb es empfehlenswert ist, sich mit der einschlägigen Literatur zu beschäftigen. Neben diesen Änderungen (siehe Kasten "Neuerungen im .NET-Framework 2.0") hat Microsoft mit dem Visual Studio 2005 (VS) auch die hauseigene integrierte Entwicklungsumgebung (IDE) kräftig modernisiert.

Neuerungen im .NET-Framework 2.0

Sprachunabhängige Neuerungen:

  • Generische Datentypen (bessere Typsicherheit);

  • Verwendung des speziellen Null-Werts zum Beispiel an Integern;

  • partielle Klassen (striktere Trennung von Designer- erzeugtem Code).

C#:

  • Edit and Continue (Änderungen beim Debuggen).

Visual Basic:

  • XML-Dokumentationskommentare (automatische Erzeugung von API-Dokumentationen).

Framework Class Libraries (FCL):

  • Neue Klassen für die Anwendungskonfiguration (app.config, Web.config);

  • neue Klassen für die Behandlung von Ressourcendateien (streng typisierte Ressourcen).

ADO.NET 2.0 (Datenzugriff):

  • Generische Datenzugriffsklassen (Datenzugriffsprogramierung ohne Festlegung auf spezielle Provider via Factories und Interfaces);

  • verschlüsselte Connection Strings in der Konfiguration;

  • Mars (Multiple Active Record Sets an einer Verbindung), asynchrone Datenbankaufrufe (Polling, Warte-Handler) und Query Notifications;

  • Verbindungsstatistiken.

Windows Forms 2.0:

  • Click-once-Deployment (via Web oder ftp-Server);

  • neue Controls (Data Grid View für Tabellen, masked Textbox etc.);

  • neue Layout-Manager (Flow Layout);

  • Background Worker (vereinfachtes Threading).

ASP.NET 2.0/Web Forms 2.0:

  • Neue Controls (Data Grid View, Tree View etc.);

  • Vorlagenseiten (Master Pages);

  • Web-Parts (Portale);

  • neues Web-Projektmodell (auf Verzeichnisbasis. Das bisherige, "verwaltete" Modell wird von Microsoft optional wieder angeboten).

Auf den ersten Blick fällt bereits das veränderte Angebot der diversen Produktvarianten auf. Neu sind zum Beispiel die Express-Editionen zum Einstieg in die .NET-Entwicklung, bei denen es sich nicht nur um beschnittene Varianten der größeren Ausgaben handelt, sondern die auch von der Entwicklungsumgebung her speziell auf bestimmte Themenkomplexe ausgelegt sind. Die Standard- und die Professional-Edition entsprechen am ehesten den früheren VS-Ausgaben, einmal ohne und einmal mit den Erweiterungen um Enterprise- und Datenbankentwicklungs-Features.

Office-Integration

Die Refactoring-Optionen von Visual Studio, hier am Beispiel des Kontextmenüs zu einer .NET-Eigenschaft.

Als weitere Ausgabe richtet sich das Visual Studio Tools for Office an Entwickler mit Aufgaben in den Bereichen Office-Programmierung und -Integration. Auch hier wird als Entwicklungsplattform zur Office-Anbindung das .NET-Framework 2.0 verwendet. Für die verschiedenen Office-Produkte können dynamische Formulare und Sichten erstellt werden. Smart Documents erlauben zum Beispiel nach der Mustererkennung im Text von Outlook-Dokumenten die Präsentation von Kundendaten aus einem Firmen-CRM oder Data Warehouse direkt im Kontext der Mail.

Schließlich bietet Microsoft mit den Team-Editionen Ausgaben an, die ein neues Modell für den Software-Lebenszyklus (Lifecycle) und das Projekt-Management in Visual Studio einführen. Hierbei läuft die projektorientierte Softwareentwicklung im Rahmen von vorgegebenen oder selbst definierten Prozessmodellen ab. Microsoft liefert in der Grundausstattung als "Solutions Frameworks" das Capability Maturity Model Integration (CMMI) sowie das Agile Software Development mit: Ersteres stellt einen streng formalen Prozess dar, Letzteres bezweckt Effizienz und kurze Release-Zyklen der Produkte.

Das Rollenkonzept

Die verschiedenen Nutzer von Visual Studio können dabei ihre jeweilige Rolle im Lebenszyklus des Softwareprodukts einnehmen: Manager, Architekt, Entwickler, Tester sowie Administrator (Architekt im Hinblick auf Integration, Auslieferung und Betrieb). Für jede Rolle präsentiert sich die jeweilige VS-Team-System-Edition mit einer darauf zugeschnittenen Oberfläche. Während der Entwickler eine IDE entsprechend den vorigen Versionen von Visual Studio nutzt, plant der Administrator die Softwareverteilung innerhalb bestehender IT-Infrastrukturen im Rahmen eines grafischen Netz- und Komponentenmodells, der Manager bewertet Aufgaben und Projektfortschritt zum Beispiel auf Basis von Office-Erweiterungen direkt aus Sichten in Excel sowie MS Project heraus.

Team Foundation als Bindeglied

Hierbei bleiben stets rollenübergreifend die Projektinformationen, Diagramme und der Code (Assets) miteinander synchron (Round-Trip-Engineering). Als Bindeglied fungiert der offiziell seit Anfang März verfügbare Team Foundation Server, der zentral und rollenübergreifend alle Projektinformationen speichert. Hierzu gehören die Verwaltung des Quellcode-Repositorys, das Management von Aufgaben und Testfällen sowie die Erstellung von Berichten (Reports) und des eigentlichen Softwareprodukts (Builds).

Darüber hinaus sind in den Team-System-Editionen fortgeschrittene Merkmale zur Softwareentwicklung und Qualitätssicherung enthalten. So zum Beispiel

Solche Features gab es bislang nur als IDE-Erweiterungen (Add-ins für Visual Studio) beziehungsweise als Zusatzwerkzeuge oder nur im Rahmen anderer IDEs. Allerdings hätten diese Funktionen auch der nicht teamorientierten Professional-Version gut zu Gesicht gestanden, da sie im Werkzeugkasten eines einzelnen Entwicklers ebenfalls von großem Nutzen sein können. Nicht unerwähnt sollte bleiben, dass Microsoft die Team-System-Produkte auch preislich deutlich oberhalb der bisher verfügbaren Ausgaben positioniert.

Die Appetitanreger

Neben dem kostenfreien Framework und den Express-Editionen stehen für Evaluierungszwecke zeitlich beschränkte Versionen der Professional- und Team-System-Editionen zur Verfügung. MSDN-Abonnenten haben darüber hinaus Zugriff auf eine vorkonfigurierte Team-System-Umgebung mit Foundation Server in einem Virtual Server Image.

Abgesehen von dem neuen Rollenverständnis, das Microsoft in die verschiedenen Editionen von Visual Studio eingearbeitet hat, bietet die Entwicklungsumgebung auch eine effizientere Codeerstellung. Microsoft hat im Vorfeld der Marktreife seines Produkts angekündigt, dass sich in speziellen Anwendungsfällen der Aufwand für den manuell zu erstellenden Code um bis zu 90 Prozent reduzieren wird.

Varianten von Visual Studio 2005

  • Redistributable Runtime (kostenfrei, .NET-Framework 2.0 und kommandozeilenbasierende Werkzeuge).

  • Express Editions (kostenfrei, Augenmerk auf je einen Aspekt der Softwareentwicklung):

Visual Web Developer 2005 Express Edition (ASP.NET-Entwicklung);

Visual C# 2005 Express Edition (C#-Entwicklung);

Visual Basic 2005 Express Edition (VB-Entwicklung);

SQL Server 2005 Express Edition (SQL-Datenbank-Management-System).

  • Standard Edition (alle Produkttypen, Mehrsprachigkeit).

  • Professional Edition (inklusive SQL Server Developer Edition, SQL-GUI-Integration sowie Enterprise-Features wie Crystal Reports).

  • Visual Studio Tools for Office (Office-Integration und -Programmierung).

  • Team System Edition für die Software-Lifecycle-Verwaltung - für verschiedene Rollen (VS for Software Architects, Software Developers, Software Testers) - und den Team Foundation Server.

Assistenten erzeugen Code

Tatsächlich sind einige Assistenten zur Erzeugung von Softwarebausteinen hinzugefügt worden. Ein solcher erstellt zum Beispiel das Grundgerüst einer Web-Anwendung inklusive Benutzerauthentifizierung und Seiten-Layout mittels der neuen ASP.NET Master Pages. Auch für datengebundene Controls in Formularen gibt es aktualisierte Assistenten. Im Rahmen einer Enterprise-Softwareentwicklung sollten derartige Automatismen und der daraus erzeugte Code im Hinblick auf geschäftsinterne Standards, Wartung und Weiterentwicklung allerdings eher kritisch überprüft werden.

Der einzelne Entwickler profitiert jedoch uneingeschränkt von den neuen Produktivitäts- und Komforteigenschaften. Besonders hervorzuheben sind hier die umfassenden Refactoring-Möglichkeiten, also die Umgestaltung der Codestrukturen mit dem Ziel der Wiederverwendbarkeit und besseren Wartbarkeit. Sie gab es bislang ebenfalls nur in Form von Add-ins von Fremdherstellern. Komfortabel sind auch die Codeausschnitte (Code Snippets), die häufig verwendete Codeblöcke schnell in einer aktuellen Projektumgebung zur Verfügung stellen. Ebenso ist das Umgeben bestehender Blöcke mit vorgefertigten Konstrukten (zum Beispiel Try-Catch) möglich. Wichtig in diesem Zusammenhang sind auch die in die Oberfläche integrierten grafischen Klassendiagramme. Sie können im Sinne von Round-Trip-Engineering mit unmittelbarer Auswirkung auf den Code bearbeitet werden. Das heißt, Quellcode und Diagrammdarstellung bleiben stets synchron.

Die automatische Erstellung komplexer Softwareprodukte mit nahezu beliebigen, zuvor definierten Einzelschritten und Abhängigkeiten wird durch das neue Tool MS Build auch auf der Kommandozeile unterstützt. Die Build-Dateien (XML) geben hierbei Struktur und Aktionen vor. Ein ähnliches, derzeit noch umfassenderes Werkzeug existiert in der Community mit "Nant" bereits seit Jahren.

Als Hilfesystem fungiert eine aktualisierte Version der auch bisher eingesetzten MSDN-Library. Hier wurde der Online-Zugriff auf aktuelle Entwicklerinformationen von Microsoft direkt aus der Hilfe heraus verstärkt. Neue Nachrichten aus dem MSDN erscheinen standardmäßig direkt nach dem Öffnen von Visual Studio auf der Startseite.

Was noch fehlt

Was eine übersichtliche, einheitliche Kommunikationsstruktur für die Unternehmens-Server angeht, so bleibt Microsoft in diesem Release von Visual Studio die Antwort noch schuldig. Wie bisher hat der Entwickler unter anderem die Wahl zwischen den alten, auf COM basierenden Enterprise-Services, den oftmals komplexen Web-Services und dem auch von Microsoft nur halbherzig verfolgten Remoting. Eine einheitliche Lösung soll mit der Windows Communication Foundation kommen, die die Transportmechanismen zugunsten einer serviceorientierten Entwicklung abstrahieren soll. Auch den ursprünglich angekündigten objektrelationalen Mapper (ORM) für Datenbankzugriffe liefert Microsoft erst in einer weiteren Version. Zwischenzeitlich werden sich Entwickler für dieses wichtige Produktivitäts-Feature bei Drittherstellern von Mappern oder Generatoren bedienen müssen.

Mit an Bord der IDE ist Visual Sourcesafe 2005, eine neue Version von Microsofts Quellcode-Verwaltungssystem, dessen Überarbeitung bereits lange überfällig war. Der Umgang mit einem Sourcesafe-Server funktioniert wie bisher nach dem Sperren-Ändern-Einchecken-Prinzip. Alternativ ist jetzt auch ein nicht restriktives Vorgehen über die Kombination Kopieren-Ändern-Zusammenfügen möglich. Neu ist ebenso die Unterstützung von Operationen über http und https.

Über den Lieferumfang der hier vorgestellten VS-Produkte hinaus gibt es noch die Option von MSDN-Abonnements in verschiedenen Stufen. Sie gestatten den Zugriff auf praktisch alle von Microsoft angebotenen Server-, Client- und Entwicklungsprodukte. Für die Enterprise-Entwicklung sind die in der Regel kostenfreien Dokumente, Demos, Vorlagen, Entwurfsmuster und Bibliotheken von großer Bedeutung. Hier liegt der Schwerpunkt auf Komponenten mit einem hohen Abstraktionsgrad für Lösungen im Unternehmensumfeld. Allen voran ist die Enterprise Library zu nennen.

Windows Framework Library

Die mit Erscheinen von Windows Vista zu erwartenden Neuerungen der Windows Framework Library umfassen das Windows Presentation Framework (neues Windows-GUI), die Windows Workflow Foundation (Abbildung automatischer und interaktiver Workflows) sowie Windows Communication Foundation (für Service-orientierte Architekturen, SOA). Mit einer derart erweiterbaren Entwicklungsplattform scheint Microsoft gut für die Zukunft gerüstet zu sein.

Fazit

  • Mit den Team-System-Varianten sollte es Microsoft gelingen, die IDE hinsichtlich Nutzungsqualität und Funktionsumfang in verteilten Entwickler-Teams zu positionieren.

  • Innovativ ist der rollenbasierende Ansatz im Team System für den Software- Lebenszyklus.

  • Auch ohne die Enterprise-Features von Team System bieten die Standard- und Professional-Versionen viele effektivitätssteigernde Detailverbesserungen.

  • Die Tools for Office er- möglichen eine schlüssige Office-Anbindung an das .NET-Framework.

  • Mit den Express-Editionen hat Microsoft erstmals eine Sammlung kostenfreier Entwicklungsumgebungen im Portfolio, die sich in ihrer Gestaltung und Präsentation auf einzelne Themenkomplexe sowie auf den Einstieg in die Softwareentwicklung konzen- trieren.