Hier aufklappen um sämtliche Kategorien zu durchstöbern.

Eigentlich hatte ich in den letzten Monaten einen recht großen Bogen um Microsoft LightSwitch gemacht. Schließlich vermittelt diese Visual Studio Erweiterung mehr oder weniger den Eindruck Access in neuem Gewand zu sein. Da mich dann aber doch das Interesse gepackt hat (oder besser gesagt, eine kleine datengetriebene Anwendung möglichst schnell erstellt werden musste), gab ich LightSwitch eine Chance. In diesem Beitrag möchte ich einige meiner Erfahrungen an Hand einer einfachen ToDo-Anwendung vermitteln.

Grundlegendes

Der professionelle Softwareentwickler ist (so wie ich auch) im ersten Schritt mal eher abgeneigt, LightSwitch zu verwenden. Schließlich möchte man selber alles in der Hand haben, die Basistechnologien selbst aussuchen und natürlich die ideale Lösung schaffen. Mit LightSwitch wird ein anderer Weg eingeschlagen. Die Basis wird durch das .NET Framework gebildet, zur Anwendung kommen bewährte Technologien, die darin enthalten sind.

Wahlweise kann auch entschieden werden, ob die Anwendung auf einem Desktop, im Browser oder in Verbindung mit Windows Azure laufen soll.

Schneller Einstieg

Der Einstieg in LightSwitch ist schnell getan. So können Datenquellen und Bildschirme erstellt werden. Die Datenquellen definieren, woher Daten bezogen werden. Dies kann eine Anwendungsdatenbank, ein Sharepoint-Server oder ein WCF-RIA Service sein. Im ersten Fall können Tabellen und deren Abhängigkeiten bequem modelliert werden. Sämtliche dahinterliegende Strukturen und Codes werden automatisch generiert. Im Falle einer Sharepoint-Datenquelle können dort vorhandene Listen eingebunden werden. Wird eine WCF-RIA Service Datenquelle angelegt, können deren Entitäten importiert werden.

Das Erstellen von Tabellen funktioniert recht einfach. Wie gewohnt können Name und Typ angegeben werden. Zudem, ob dieses Attribut zwingend eingegeben werden muss (dies wird automatisch geprüft und der Benutzer enthält entsprechende Rückmeldungen). Zu beachten ist, dass der Typ ansich ein “Businesstyp” ist. Dies ist daran zu erkennen, dass beispielsweise auch “Email Address” und “Phone Number” zur Verfügung stehen. Diese übernehmen eine entsprechende Prüfung hinsichtlich des Inhaltes. Eigene Typen können entworfen werden.

Erstellen von Tabellen und Abhängigkeiten in LightSwitch

Wie im gezeigten Screenshot schon angedeutet, können Ereignisse abonniert werden, um beispielsweise eine Validierung zu ermöglichen (abhängig vom ausgewählten Attribut). Dazu ist es ausreichend, sich an das Validate-Ereignis zu hängen:

partial void Subject_Validate(EntityValidationResultsBuilder results)
{
if (Subject.Length < 4)
results.AddPropertyError("Please enter a meaningful subject");
}

Die so angegebene Validierung wird sowohl von der UI als auch vom Serverteil verwendet. Abgesehen von der Validierung bestehen zahlreiche zusätzliche Möglichkeiten, in das Verhalten einzugreifen.

Auf Basis der Datenquelle können nun Bildschirme erstellt werden. Darin wird zum Einen festgelegt, welche Daten gebunden werden und zum Anderen, wie diese repräsentiert werden:

Einen Bildschirm unter LightSwitch erstellen

Über Navigationseinstellungen kann zudem definiert werden, wie die Abfolge der Bildschirme stattfindet.

Mit ein paar wenigen Entitäten und ca. 20 Minuten Aufwand ist eine kleine ToDo-Anwendung entstanden, die vollkommen ausreichend für den privaten Gebrauch ist:

Kleine ToDo-Anwendung mit LightSwitch

Modernes Theme

Das Default-Theme ist durchaus ausreichend, wer es aber dann doch etwas moderner haben möchte, muss entweder selbst Hand anlegen, oder wirft einen Blick in die Visual Studio Gallery. Darin findet sich unter anderem ein LightSwitch Metro Theme. Da Metro in aller Munde ist (und das mit gutem Grund!), genau die richtige Wahl.

Nach dem Download und der erfolgreichen Installation, Visual Studio neu starten und ein LightSwitch-Projekt laden. Anschließend kann in den Erweiterungseinstellungen das neue Theme aktiviert werden:

LightSwitch Erweiterung freischalten

Um das neue Theme nun tatsächlich für die Anwendung zu setzen, muss es in den allgemeinen Einstellungen ausgewählt werden:

Neues Theme für LightSwitch-Anwendung verwenden

Und schon erstrahlt die Anwendung im neuen, modernen Design:

Einfache ToDo-Verwaltung im Metro-Design

Fazit

Zugegeben, das zugrunde liegende Beispiel ist ein sehr einfaches. Viele Anwendungen sind jedoch nicht komplexer und können mit LightSwitch sehr schnell abgeschlossen werden. Auch komplexere Anwendungen können damit schnell erledigt werden, stehen doch zahlreiche Einsprungspunkte zur Verfügung, Abfragen können angepasst werden und selbst das Aussehen der Anwendung kann beeinflusst werden. Ein weiterer Vorteil kann darin liegen, eine Anwendung ohne große Anstrengungen “in the Cloud” zu bekommen – eben für größere Ansprüche. Aus meiner Sicht ist es ein äußerst hilfreiches Tool, um datengetriebene Anwendungen schnell und auf Basis bewährter Technologie zu entwickeln. Dies spart Zeit, Code wird generiert und muss nicht implementiert werden und die dadurch gesparte Zeit kann in anspruchsvollere Projekte investiert werden. Eine Win-Win-Situation für den (Business-)Entwickler und dem Kunden.

blog comments powered by Disqus
Anmelden