Visual Studio LightSwitch unter der Lupe

Werkzeuge  –  Kommentare

Microsofts Visual Studio ist dafür bekannt, eine breite Palette von Entwicklungsaufgaben zu unterstützen. Den bisherigen Schwachpunkt Rapid Application Development (RAD) soll nun "LightSwitch" beheben. heise Developer unterzog die Beta-1-Version des neuen Visual-Studio-Sprösslings einem ersten Test.

Hersteller von Entwicklungsumgebungen heben heutzutage gerne Funktionen in ihren Produkten hervor, die sich an "Enterprise" und "Cloud" richten. Aber die immer noch überwiegende Zahl der entwickelten Anwendungen ist viel kleiner und lokaler. Sie haben den Sinn, Daten aus der Datenbank anzuzeigen, Suchen zu erlauben oder Datensätze zu ändern, zu ergänzen und zu löschen. Man spricht hier von "datengetriebenen Anwendungen", "Datenbankanwendungen" oder "Forms-over-Data". Solche Anwendungen entstehen nicht immer aus der Hand von professionellen Entwicklern; auch versierte Kräfte in den Fachabteilungen bauen sie sich für den Abteilungsbedarf.

Ein Blick zurück

Microsoft hatte eine gute Tradition bei Produkten, die dieses Anwendungsgebiet und diese Zielgruppe ansprechen. Visual Basic 6.0 ist dafür gut geeignet, und noch schneller geht es mit Microsofts Access. In der .NET-Arä fehlt es aber bisher an vergleichbaren Produktivwerkzeugen. Mit Visual Studio 2005 führte Microsoft ein, dass sich einfache Dateneingabeformulare per Drag & Drop aus dem Datenbankfenster heraus generieren ließen. Entwickler, die Windows Presentation Foundation (WPF) statt Windows Forms einsetzen, mussten auf Ähnliches bis Visual Studio 2010 warten und bekommen auch damit noch nicht den gleichen Funktionsumfang wie für Windows Forms.

Weder RAD für WPF noch das für Windows Forms sind aber vergleichbar mit dem, was Access bietet. Neben der Drag & Drop-Option bietet es Assistenten für den Grundaufbau eines Fensters und für einzelne Steuerelemente. Formulare lassen sich verschachteln und auf einfache Weise verbinden. Der Datenzugriff lässt sich direkt aus dem Formular heraus konfigurieren, und für die Gestaltung der Oberfläche gibt es viele (aber nicht zu viele) Optionen.

Access soll hier freilich nicht glorifiziert werden: Eine Schichtentrennung im Sinne eines mehrschichtigen Komponentenansatzes gibt es bei der Form des RAD nicht. Auch echte Objektorientierung, Webservices und andere etablierte Techniken sind mit Access und VBA nicht oder nur mit erhöhtem Aufwand zu realisieren. Access-Anwendungen haben (auch bei Zugriff auf Microsofts SQL Server) eine begrenzte Skalierbarkeit. Dennoch ist für viele Anwendungen Access hinreichend, und man findet sie daher heute noch tausendfach in Unternehmen aller Größe. Wer das nicht glaubt, sollte die Access-Entwickler-Konferenz besuchen.

Der Lichtschalter

Mit dem neuen Visual-Studio-Sprössling "LightSwitch" will Microsoft nun die bei VB6 und Access Gebliebenen abholen und in die "neue" .NET-Welt führen. Das Projekt läuft bei Microsoft seit einigen Jahren unter dem Codenamen "KittyHawk". Anders als heute oft in Redmond gelebt, war das Projekt nur wenigen eingeweihten MVPs bekannt, und selbst der Codename stand unter strengen Non-Disclosure Agreements (NDA). Erstmals im November 2008 war Microsoft zu entlocken, dass mit Visual Studio 2010 ein RAD-Werkzeug erscheinen soll. Aus dem Termin wurde nichts. LightSwitch liegt nun im August 2010 als eine Beta-1-Version vor und soll irgendwann im Jahr 2011 erscheinen.

Schon die Größe des Installationspakets (518 MByte) ist ein Indiz dafür, dass LightSwitch kein Add-on, sondern eine Visual Studio 2010 Shell inklusive .NET Framework 4.0 installiert. Während des Set-ups blitzen noch Namen wie "Silverlight", "MSDeploy" und "RIA Services" und "SQL Server Express" auf, die aufzeigen, wohin die Reise geht. Von der Versionsnummer her (4.0.30319 beziehungsweise 10.0.30319.1) handelt es sich um die gleichen Versionen von .NET und Visual Studio, die Microsoft im April 2010 ausgeliefert hat. Daher kann man LightSwitch auch als Erweiterung zu einem bestehenden Visual Studio 2010 installieren. Die Erfahrungen der letzten Jahre zeigen, dass man dennoch die Beta 1 besser auf einem getrennten (gegebenenfalls virtuellen) System einrichten sollte.

Vor den ersten Gehversuchen sollte man verstehen, dass LightSwitch kein Assistent mit Codegenerator für Silverlight-Anwendungen ist, sondern ein komplettes Framework, das über das Browser-Plug-in hinausgeht. Daher kann man den generierten Programmcode nicht als normales Silverlight-Projekt weiterverwenden. Das hat bereits zu Diskussionen im LightSwitch-Webforum und dem Änderungsvorschlag auf Microsoft Connect geführt, die LightSwitch-Codegenerierung mit T4-Vorlagen anzupassen.