Features von Silverlight 4

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.

Drucken

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.

Wie geht es weiter?

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.