Silverlight 5 – Ein Ausblick

1. Juni 2011

Am zweiten Tag der Entwicklerkonferenz MIX11 hat Scott Guthrie die neue Version 5 von Silverlight vorgestellt und in seiner Rede auch noch einmal deutlich gemacht, dass Silverlight weiterhin ein wichtiger Teil der Webstrategie von Microsoft ist. Silverlight 5 ist mit über 40 neuen Features als Beta-Version verfügbar und soll im 4. Quartal diesen Jahres erscheinen.

Silverlight 5 bietet neben vielen Erweiterungen, die mehr entwicklerspezifisch sind, auch einige neue Möglichkeiten, die sich direkt auf die Benutzerfunktionalitäten und Einsatzszenarien der Plattform Silverlight auswirken (siehe auch Blog – Pete Brown’s 10rem.net). Auf diese Features wird in diesem Beitrag das Hauptaugenmerk gelegt.

Silverlight 5

Erweiterungen von Silverlight 5

Eine Übersicht gibt The Future of Microsoft Silverlight | Microsoft Silverlight und eine Liste der technischen Details für Silverlight 5 ist hier zu finden.

Einsatzszenario: Trusted Mode

Hinsichtlich des Trusted Mode gibt es in Silverlight 5 sehr viele Änderungen, die zu geänderten Anwendungsszenarien von Silverlight führen können. Prinzipiell wird Silverlight in einer Sandbox ausgeführt und es stehen keine Zugriffsmöglichkeiten auf lokale Ressourcen zur Verfügung. Um dies zu ermöglichen, kann bereits eine Silverlight 3 Anwendung Out-Of-Browser installiert werden, seit Version 4 kann sie im Trusted Mode zusätzliche Berechtigungen in Anspruch nehmen (siehe Darstellung).image

Mit Silverlight 5 ist dann auch die Ausführung einer “Trusted Application” im Browser möglich. Zur Ausführung ist ein von VeriSign ausgestelltes Zertifikat nötig. Inwieweit dies über Group Policies limitiert werden kann, ist in der Beta-Version noch nicht enthalten. Dies soll aber als grundlegendes Konzept in die finale Version von Silverlight 5 eingebaut werden.

Trusted “In-Browser” Silverlight Anwendungen können dabei auch in eine vorhandene HTML-Seite eingebunden werden und diese beiden Komponenten dann miteinander kommunizieren.

Mit Silverlight 4 wurde bereits eine COM-Schnittstelle zur Verfügung gestellt, mit deren Hilfe man zum Beispiel Excel aufrufen und über normale COM-Syntax Objekte und Methoden von Excel aufrufen konnte. Hiermit war z.B. die einfache Ausgabe von Statistiken oder grafischen Auswertungen möglich. Die COM-Kommunikation bietet sich gerade zur Interaktion mit Office Produkten an. Möchte man aber Schnittstellen zu 3rd-Party Produkten nutzen oder spezielle Hardware aus der Silverlight Anwendung ansprechen, so war dies nur schwer möglich. Mit Silverlight 5 steht hier nun aber eine einfache Lösung zur Verfügung. In einer Silverlight 5 Anwendung kann über P/Invoke auf der Windows-Plattform die komplette Win32-API genutzt werden. Nach Bestätigung durch den Benutzer bzw. durch die Freigabe mit Group Policies können durch eine Silverlight 5 Applikation alle Betriebssystemfunktionen verwendet und somit eine Kommunikation mit Legacy Anwendung ermöglicht werden. Verwendet man einer dieser Möglichkeiten ist dann eine Silverlight-Applikation natürlich nicht mehr plattformunabhängig, sondern nur noch unter Windows-Betriebssystemen ablauffähig.

Out-Of-Browser

Mit Silverlight 3 war es bereits möglich eine Silverlight Anwendung lokal zu installieren und “scheinbar” als normale Desktop-Anwendung in einem eigenen Fenster laufen zu lassen. Das Problem war hier lediglich, das man genau auf diesem “einem” Fenster limitiert war. Mit Silverlight 5 ist es nun möglich, aus einer Anwendung mehrere Fenster zu öffnen und diese miteinander kommunizieren zu lassen.

UI Verbesserungen

Im Bereich der Textdarstellung stehen mit Silverlight 5 folgende Neuerungen zur Verfügung:

  • Mittels den neuen Controls RichTextBox und RichTextBoxOverflow ist es möglich, mehrzeiligen und umfließenden Text, ähnlich einem Zeitung-Layout, zu erzeugen
  • Klarere Text-Darstellung
  • Schnelleres Rendering
  • Verbesserung der OpenType Unterstützung

Auch die Druckaufbereitung wurde dadurch verbessert, das man nun vektorbasiert auf Basis von PostScript – man fragt sich warum nicht XPS – drucken kann. Bislang war es nur möglich, in Silverlight eine XAML-Seite zu rendern und dann als Bitmap auszudrucken.

Auf Platz 3 der Silverlight Wunschliste stand echtes 3D Rendering, was mit Silverlight 5 nun zur Verfügung steht. Bekannte Beispiele sind die HouseBuilder Anwendung, welche John Papa auf der Mix11 gezeigt hat und Solar Wind 3D von Aaron ONeal.

Verbesserte MVVM-Unterstützung

Durch vielseitige Verbesserungen zur Unterstützung des beliebten MVVM (Model-View-ViewModel) Patterns bietet Silverlight 5 eine Effizienzsteigerung in der Entwicklungsphase, weil alle wichtigsten Mechanismen aus WPF (Windows Presentation Foundation) nun in Silverlight eingeflossen sind und man sich nicht mehr so vieler Workarounds in diesem Bereich bedienen muss.

Die wichtigsten dieser Neuerungen sind:

  • Implicit Data Templates, zur Definition von XAML-Vorlagen für unterschiedliche Objekttypen z.B. in einer ListBox
  • Binding in Styles, um Styles zur Laufzeit z.B. durch Benutzereinstellungen einfach änderbar zu machen
  • Relative Source Binding in Templates
  • Custom Markup Extensions
  • ICustomTypeProvider zur Bindung von dynamischen Eigenschaften

Fazit

Mit Silverlight 5 wird es wieder ein Stück einfacher noch komfortablere webbasierte LOB-Applikationen zu entwickeln. Gleichzeitig werden mit den neuen Möglichkeiten im Trusted Mode aber auch neue Horizonte im Bereich der Desktop-Applikationen erschlossen. Dem Benutzer können so Desktop-Applikationen mit bewährtem Browsernavigationsmodell oder als normale Windows-basierte Desktopanwendung bereit gestellt werden. Die automatische Softwareverteilung ist in allen Szenarien bereits inklusive.