Visual Studio Lightswitch Beta

Microsoft LightSwitch - Entwickeln ohne Codieren

Mit Microsofts Visual Studio Lightswitch sollen Anwender ohne tiefes Entwicklerwissen einfach Anwendungen erstellen können. Grund genug, einen detaillierten Blick auf das Konzept und die vorliegende Beta-Version zu werfen.

Geht es nach Microsoft, so sollen Anwender mit Hilfe von Visual Studio Lightswitch die Möglichkeit haben, relativ einfach eine auf einer Datenbank basierende Anwendung zu erstellen. Dieselbe soll dann als Silverlight-Anwendung in einem Fenster oder im Browser laufen.

Wer bislang - etwa auf Basis der .NET-Entwicklungsplattform - einfache Geschäftsanwendungen erstellen will, muss immer noch ein gehöriges Maß an Entwickler-Know-how mitbringen. Grundkenntnisse der Klassenprogrammierung sind da eine Selbstverständlichkeit, vielleicht auch ein Überblick über die aus mehreren 1000 Klassen bestehende API. Daneben können Kenntnisse der modernen Softwaretechniken wie Dependency Injection oder über den Umgang mit dem Model-View-Controller-Muster (MVC) keineswegs schaden.

Gar keine geringen Anforderungen für eine Anwendung, die im geringsten Fall vielleicht sogar nur abteilungsintern laufen soll. Daneben ist natürlich grundsätzlich die Wahl der richtigen Architektur und den entsprechenden Entwurfsmuster eine der großen Herausforderungen.

Die Kernkomponenten einer LightSwitch-Anwendung.
Die Kernkomponenten einer LightSwitch-Anwendung.

Hier soll Lightswitch Abhilfe schaffen, und den Anwendern Entscheidungen und Detailkenntnisse abnehmen. Anwender können damit zunächst das Datenmodell zusammenstellen ("Modell First") und daraus eine Benutzeroberfläche ableiten. Über diese werden die Daten erfasst und editiert. Als Ergebnis entsteht eine Silverlight-Anwendung, die dann ausgerollt werden kann, etwa in eine Azure Cloud.

Klingt einfach, und das soll es auch tatsächlich sein. Doch ganz ohne Programmierung wird es auch bei LightSwitch nicht gehen. Soll eine Validierungslogik für einzelne Eingabefelder hinzugefügt werden, geschieht dies traditionell prozedural in C# oder Visual Basic.