Anwendungsentwicklung

Kein Codieren mit MS LightSwitch?

17.01.2012
Von Peter Monadjemi
Microsofts "Visual Studio LightSwitch" kommt mit dem Anspruch, Geschäftsanwendungen ohne Codieren erstellen zu können.

Die .NET-Entwicklungsplattform kommt in die Jahre. Auch wenn der Funktionsumfang mit der aktuellen Version 4.0 noch einmal kräftig gewachsen ist, am Prinzip der Entwicklung hat sich für klassische Desktop-Anwendungen seit der Einführung im Jahr 2002 nichts geändert. Nach wie vor erfordert auch das Anfertigen einfacher Geschäftsanwendungen, die eventuell nur auf Abteilungsebene eingesetzt werden sollen, ein solides Entwickler-Know-how. Neben Grundkenntnissen der Klassenprogrammierung gehören dazu ein Überblick über die aus mehreren 1000 Klassen bestehende API und zunehmend Kenntnisse über moderne Softwaretechniken wie Dependency Injection oder über den Umgang mit dem Model-View-Controller-Muster (MVC). Die größte Herausforderung besteht heutzutage oft in der Wahl der richtigen Architektur und den damit einhergehenden Entwurfsmustern zu deren Umsetzung. Fähigkeiten, die reine Anwender im Allgemeinen nicht mitbringen.

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

Gesucht wurde daher ein Werkzeug, das einem Anwender all diese Entscheidungen und Detailkenntnisse abnimmt. Mit LightSwitch, das im August nach einer mehrjährigen und regelrecht im Geheimen vorgenommenen Entwicklung offiziell vorgestellt wurde, versucht Microsoft, diese Lücke zu schließen. Die Idee dahinter ist, dass Anwendern im Rahmen eines "Modell-First"-Ansatzes die Gelegenheit geboten wird, zuerst das Datenmodell und anschließend daraus abgeleitet eine Benutzeroberfläche zusammenzustellen, mit der diese Daten erfasst und editiert werden. Am Ende dieser Umsetzung entsteht eine auf Silverlight basierende Anwendung, die nur noch ausgerollt werden muss, zum Beispiel in eine Azure-Cloud. Was sich in der Theorie einfach anhört, sollte es in der Praxis auch 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.

Bekanntes Konzept neu umgesetzt

Ganz neu ist die Idee des codefreien Entwickelns von Geschäftsanwendungen ohnehin nicht. Mit der objektorientierten 4GL-Sprache Clarion gab es Mitte der 80er Jahre bereits ein RAD-Werkzeug für datenbankgestützte Anwendungen, das Entwickeln ohne Codieren versprach, sich aber nicht durchsetzen konnte. Auch das nach wie vor populäre Datenbanksystem Access aus eigenem Haus bietet seit Anfang der 90er Jahre einen ähnlichen, wenngleich nicht so flexiblen Ansatz. Microsoft griff bei der Entwicklung von LightSwitch allerdings keine Konzepte der IT-Frühzeit auf, sondern orientierte sich bei der Architektur unter anderem an den Arbeiten der Patterns&Practices-Gruppe in Redmond, die mit Prism ein Framework für die Entwicklung von WPF-Geschäftsanwendungen schufen. Die technischen Komponenten von LightSwitch umfassen deshalb das Neueste, was der "Microsoft-Technology-Stack" zu bieten hat: von den WCF-RIA-Services, die für den Datenzugriff in einer Three-Tier-Anwendung zuständig sind, über Silverlight, mit dem die Oberfläche dargestellt wird, bis hin zum Entity Framework, das die Grundlage für den Daten-Layer bildet.

Codieren ist optional

LightSwitch ist kein Tool der Sorte "Klicki Bunti", das Anwendern zu einem schnellen Erfolgserlebnis verhilft, am Ende aber so viele Limitierungen besitzt, dass es für einen Praxiseinsatz nicht in Frage kommt. Auch bei LightSwitch kann programmiert werden, wobei sich diese Codierung in der Regel auf das Hinzufügen typischer Validierungslogik oder das Schreiben von Abfragen beschränkt, die über einen nachträglich hinzugefügten Button in einen Screen integriert wird.