Von einer Silverlight Version zur nächsten vergehen nur neun Monate. Selbst für Microsoft ist dieser Zeitraum sehr kurz. Das zeigt, dass es sich um eine neue, sehr dynamische Technologie handelt, in der viel Entwicklungspotenzial steckt.
Erst Silverlight 4 ist für FoxPro Entwickler interessant, weil es eine Datenbindung ermöglicht, wie wir sie als Datenbankentwickler kennen. Wir wollen hier die in Silverlight 4 neuen Features vorstellen, die für Datenbankentwickler interessant sind.
Visueller XAML Designer in Visual Studio 2010
Silverlight 4 Anwendungen werden mit Visual Studio 2010 entwickelt und diese
Version von Visual Studio kommt erstmals mit einem visuellen Designer, mit dem
Silverlight und WPF (Windows Presentation Foundation) Seiten entwickelt werden
können.
In bisherigen Versionen von Visual Studio gab es visuelle Designer nur für
Windows und Web Formulare. Bisher konnten Silverlight (XAML) Seiten nur im Code
Editor bearbeitet werden. Der visuelle Designer für Silverlight Seiten ist in
Visual Studio 2010 tatsächlich ein wichtiges neues Feature.
Visual Studio XAML Designer
In VFP haben wir seit 15 Jahren einen visuellen Designer für Formulare. In Laufe dieser Artikelserie werden wir einige neue Features aus Visual Studio 2010 erwähnen, die für Visual Studio Entwickler geradezu eine Sensation sind, während wir als VFP Entwickler vergleichbare Features schon lange verwenden. Wir wollen Visual Studio nicht als rückständig darstellen. Visual Studio hat durchaus seine guten Seiten und ist in vielen Dingen VFP überlegen, wie wir noch sehen werden. Visual Studio folgt einer anderen Denkweise. Es ist die Denkweise einer universellen Programmierumgebung, die nicht auf die Entwicklung von Datenbankanwendungen ausgelegt ist, diese aber durchaus unterstützt, wenn auch nicht so gut wie VFP. Visuelle Designer sind in Visual Studio daher nicht so vielfältig anzutreffen, wie in VFP.
In Silverlight 4 ist erstmals eine Print Engine enthalten. Diese Print Engine
steht in der Silverlight Client Anwendung zur Verfügung. Ein Ausdruck kann also
komplett auf der Client Seite durchgeführt werden, ohne dass der Server daran
beteiligt ist.
Eine Druckseite wird in XAML beschrieben, genau wie eine auf dem Bildschirm
sichtbare Seite. Es ist also ganz einfach einen Screenshot von einer Silverlight
Anwendung zu drucken. Aber auch andere Druckausgaben können seitenorientiert
beschrieben werden.
Rechtsklick und Mausrad
In Silverlight 4 Anwendungen kann erstmals ein Rechtsklickmenü definiert
werden. In bisherigen Versionen von Silverlight und in den meisten anderen
Internet Anwendungen ist die Verwendung eines Rechtsklickmenüs nicht möglich. In
der Regel wird das Rechtsklickmenü des Internet Browsers gezeigt oder das
Rechtsklickmenü des aktiven Plug-Ins. Bisher war man der Meinung, dass aus
Sicherheitsgründen die Implementierung eines Rechtsklickmenüs nicht möglich sein
sollte. In Silverlight 4 hat man zugunsten der Benutzerfreundlichkeit diese
Restriktion gelockert.
Neu ist auch die Verwendungsmöglichkeit des Mausrads, zum Beispiel zum Rollen in
Listboxen oder DataGrids. Im Gegensatz zu VFP steht diese Unterstützung nicht
nativ zur Verfügung, sondern muss durch einige Zeilen Code ermöglicht werden.
Mikrofon und Webcam
Mit wenigen Zeilen Code kann auf ein Mikrofon oder auf die Webcam des Client PCs zugegriffen werden. In jedem Fall erscheint hier eine Sicherheitsabfrage für den Benutzer und er muss sich mit der Verwendung dieser Geräte durch die Silverlight Anwendung einverstanden erklären. Es sind Anwendungen denkbar, die über die Webcam Bilder, Muster oder Strichcodes erkennen.
RTF
Das RichTextBox Steuerelement ermöglicht die Bearbeitung von RTF Texten. Es
sind die gleichen Formatierungen möglich, die wir aus dem RichTx32.ocx kennen,
das in VFP Anwendungen eingesetzt werden kann. Die Integration von Bildern in
RTF Texte ist möglich.
An dieser Stelle soll darauf hingewiesen werden, dass HTML Texte in Silverlight
Anwendungen, wenn diese im Internet Browser laufen, nicht angezeigt werden
können. Dies ist aus Sicherheitsgründen nicht möglich. In HTML kann zu viel
gemacht werden, was in einer Silverlight Anwendung unerwünscht ist. Mit dem
RichTextBox Steuerelement wird die Möglichkeit geschaffen, formatierten Text
anzuzeigen.
Wenn eine Silverlight Anwendung als Desktop Anwendung installiert wird, ist die
Anzeige von HMTL Text mit einem Webbrowser Steuerelement, ähnlich wie in VFP,
möglich.
Zwischenablage
Ähnlich wie in VFP Anwendungen kann in Silverlight 4 Anwendungen interaktiv und programmatisch auf die Zwischenablage zugegriffen werden.
OOB und Elevated Trust
Silverlight 4 Anwendungen können so konfiguriert werden, dass sie außerhalb
eines Internet Browsers, also „out-of-browser“ (OOB) lauffähig sind. So können
Silverlight 4 Anwendungen als Desktop Anwendungen installiert werden. Es ist
auch möglich, eine Silverlight 4 Anwendung programmatisch, also mit einem
Installationsprogramm, zu installieren. Möglich ist auch der automatische Start
einer HTML Seite von einer CD-ROM oder einem Memory Stick, die bei Bedarf das
Silverlight Plug-In installiert und dann eine Silverlight Anwendung startet.
Wenn eine Silverlight 4 Anwendung so konfiguriert ist, dass sie außerhalb eines
Internet Browsers laufen kann, kann eingestellt werden, dass die Anwendung über
erweiterte Rechte verfügen soll. Normalerweise laufen Silverlight Anwendungen in
einer „Sandbox“. Das heißt, es gibt keine Möglichkeit auf den Rechner
zuzugreifen, auf dem die Anwendung ausgeführt wird. Durch die Einstellung „Elevated
Trust“ kann eine Silverlight 4 Anwendung auf das Dateisystem des Rechners
zugreifen. Mit „Elevated Trust“ haben wir die Rechte, die wir auch aus einer VFP
Anwendung gewohnt sind.
Verwendung von COM Servern
Silverlight Anwendungen, die „out-of-browser“ laufen und mit „Elevated Trust“ Rechten ausgestattet sind, können COM Server verwenden. Die Syntax bei der Ansteuerung von COM Servern ist sehr ähnlich der Syntax, die wir aus VFP kennen.
Drag&Drop
Silverlight 4 Anwendungen können als Drop Ziel verwendet werden. Es ist also möglich, zum Beispiel aus dem Windows Explorer Dateien auf ein Steuerelement in einer Silverlight Anwendung fallenzulassen und dabei ein Ereignis auszulösen, das Informationen über das fallengelassene Objekt erhält.
Multi-Touch
Seit Apple das iPhone auf den Markt gebracht hat, sind Multi-Touch Displays
in aller Munde. Wie schön einfach ist die Navigation, zum Beispiel zwischen
Fotos, mit einem Fingerwisch. Wie leicht lassen sich Bilder vergrößern, indem
man zwei Finger voneinander entfernt.
Objekte lassen sich mit den Fingern drehen, verkleinern und zerstören. Wenn man
es nur einmal gesehen hat, wird man es nie vergessen. Anleitungen sind
überflüssig. Das ist intuitive Bedienung auf dem neuesten Stand der Technik.
Bisher sind Multi-Touch Displays hauptsächlich in Mobiltelefonen und PDAs zu
finden. Aber auch immer mehr Notebooks mit sind Multi-Touch Displays oder
Multi-Touchpads erhältlich. Und schließlich gibt es auch normale standalone
Displays mit Multi-Touch Funktionalität. Silverlight 4 unterstützt die Erkennung
von mehreren Berührungspunkten und Gesten.
Im nächsten Artikel werden wir die Silverlight Business Application kennenlernen. Wir werden sehen, wie mit Visual Studio 2010 eine Silverlight Anwendung mit Datenzugriff auf eine SQL Server Datenbank ganz ohne Programmierung erstellt werden kann. Dabei wird der Code für einen WCF Web Service vollständig generiert. Die Grundfunktionalitäten für Datenbankanwendungen SELECT, UPDATE, INSERT und DELETE werden durch den Web Service zur Verfügung gestellt. Auf Seite des Clients wird ein Formular mit DataGrid und TextBoxen erstellt. Es wird beschrieben, wie eine komplette Internet Anwendung einfach nachvollziehbar erstellt werden kann.