Die neuen Features im Medien- und Anwendungsbereich von Silverlight 5 (Teil 2)
Kommentare

Im Bereich Medien wurde das Hardware Decoding von Videos eingeführt. Gestreamte Videos lassen sich mit dieser Variante auf dem Client mit der GPU statt wie bisher mit der CPU dekodieren. Dadurch wird

Im Bereich Medien wurde das Hardware Decoding von Videos eingeführt. Gestreamte Videos lassen sich mit dieser Variante auf dem Client mit der GPU statt wie bisher mit der CPU dekodieren. Dadurch wird einerseits die Performanz besser, andererseits wird Strom gespart, was insbesondere bei Notebooks aufgrund der Akkulaufzeit interessant ist.

Ein weiteres neues Feature ist Trickplay. Trickplay erlaubt es, die Abspielgeschwindigkeit von Video und Audio zu ändern. Durch ein Feature namens Pitch Detection findet im Audiobereich eine Korrektur statt, damit der Ton nicht höher klingt. Bei Stimmen tritt somit kein „Helium“-Effekt auf, der die Stimme unnatürlich hoch wirken lässt. Trickplay ist insbesondere zum Betrachten von Trainingsvideos gedacht, um durch eine schnellere Abspielgeschwindigkeit Zeit zu sparen.

Unter dem Begriff Power Management verspricht Microsoft, dass beim Abspielen von Videos der Bildschirmschoner nicht mehr aktiviert wird. Ist das Video pausiert, kann der Bildschirmschoner aktiv werden und der Computer auch in den „Schlaf“-Modus wechseln, um so Strom zu sparen.

Ein weiteres spannendes neues Feature ist die Remote-Control-Unterstützung. Silverlight bietet Unterstützung für Fernbedienungen, um Videos zu pausieren oder z. B. vor und zurück zu spulen. Viele Multimedia-PCs werden heute bereits mit einer Fernbedienung ausgeliefert, von der der Benutzer jetzt nicht nur beim Betrachten von DVDs und Bluerays, sondern eben auch beim Abspielen von Silverlight-Videos Gebrauch machen kann.

Im Kern geht es um Daten

Im Bereich Anwendungen gibt es einige neue Features, insbesondere rund um Daten. Eines der interessanten ist das Data Binding Debugging. In XAML lässt sich in Silverlight 5 auf einem Data Binding ein Breakpoint setzen. Zur Laufzeit können dann verschiedenste Eigenschaften des Data Bindings betrachtet werden. Die bisher nur über das Ausgabefenster von Visual Studio sichtbaren Informationen werden somit in der nächsten Version aufgrund des Debuggings einfacher zugänglich sein. Dieses Feature wird höchstwahrscheinlich auch in der WPF kommen.

Im Bereich Daten gibt es viele weitere Neuerungen. So lassen sich in Silverlight 5 die in der WPF bereits verfügbaren impliziten DataTemplates erstellen. Diese beschreiben das Aussehen für einen bestimmten Typen und können anwendungsübergreifend verwendet werden. Beispielsweise definiert der Entwickler ein DataTemplate für die Klasse Person. Konkrete Personinstanzen werden dann in der Anwendung immer mit dem vom DataTemplate vorgegebenen Aussehen dargestellt.

In Silverlight 5 soll auch in den Setter-Objekten eines Styles ein Data Binding möglich sein. Dadurch lässt sich in einer Silverlight-Anwendung auf einfache Weise ein Skinning implementieren, was zuvor nicht ohne Weiteres möglich war. Die Anwendung lässt sich dann einfach z. B. vom Blue-Skin auf Red-Skin umstellen.

Wer bereits das MVVM-Pattern in WPF-Anwendungen umgesetzt hat, der wusste eventuell die FindAncestor-Funktionalität der RelativeSource Markup Extension zu schätzen. Damit lässt sich als Quelle für ein Data Binding ein Elementtyp angeben, z. B. ein UserControl. Die Suche nach dem Element geht, wie der Name FindAncestor schon fast verrät, aufwärts im Elementbaum. Wird das Element vom angegebenen Typ gefunden, wird es als Datenquelle genutzt. Diese Funktionalität ist insbesondere dann nützlich, wenn in einem DataTemplate beispielsweise die Datenquelle benötigt wird, die im Datenkontext des UserControls steckt. Speziell beim MVVM-Pattern ist dies vermehrt der Fall.

Ein weiteres für das MVVM-Pattern nützliches Feature ist die neue Data Source der WCF RIA Services. Diese wurde speziell im Hinblick auf das Pattern entwickelt und soll dafür einiges bieten. Neben dieser Datenquelle werden die WCF RIA Services in der kommenden Version weitere Neuerungen enthalten. So werden dann auch in einem Entity Data Model erstellte Complex Types unterstützt und dafür auch clientseitig die entsprechenden Klassen generiert.

Aus Sicht eines WPF-Entwicklers ist eines der spannendsten Features das Erstellen von eigenen Markup Extensions. Bisher gibt es in Silverlight nur vorgegebene Markup Extensions wie Binding oder StaticResource. In der fünften Version lassen sich auch eigene Markup Extensions erstellen. Damit wird XAML sehr viel mächtiger. Mit eigenen Markup Extensions lässt sich jede beliebige Logik in XAML unterbringen und der geschriebene Code ist immer noch MVVM-konform.

Text und Drucken

Wie auch in den Anfängen der WPF kann Text in einer Silverlight-Anwendung etwas unscharf wirken. In der fünften Version von Silverlight wird das Pixel Snapping eingeführt. Dadurch fällt der Text genau auf einen Pixel, sodass er auf dem Bildschirm schärfer erscheint. Neben dem Pixel Snapping gibt es im Textbereich viele weitere Verbesserungen. Beispielsweise ist mehrspaltiger Text möglich, die Unterstützung von OpenType-Schriften wird erweitert und die Berechnung des Textlayouts wurde massiv verbessert.

Am Anfang dieses Artikels wurde das Bitmap basierte Drucken angesprochen, das sehr viel Arbeitsspeicher in Anspruch nimmt. In Silverlight 5 wird das vektorbasierte Drucken via PostScript eingeführt. Damit sollen sich Reports und Dokumente auf einfache Weise erstellen lassen. Zudem ist eine virtuelle Druckvorschau möglich, die auch etwas anderes anzeigt als das auf dem Bildschirm sichtbare. Dieses neue Druckfeature ist für Geschäftsanwendungen gewiss eines der Highlights in der kommenden Version.

Grafische Erweiterungen

Im Bereich Grafik hat Microsoft in Silverlight 5 auch einige Erweiterungen. Mit der Immediate Mode API soll es möglich sein, direkt auf die GPU zuzugreifen. Es wird also eine Funktionalität geben, die ähnlich zum Graphics-Objekt aus Windows Forms arbeitet und eine direkte Manipulation der Bildschirmausgabe ermöglicht.

Weit oben auf der Featureliste der Community steht 3-D-Grafik. Auch dafür wird es in Silverlight 5 ein API geben. Der 3-D-Inhalt wird dabei von der Grafikkarte (GPU) berechnet.

Ein weiteres Feature sind die Layout-Transitions. Dies sind vordefinierte Animationen, die beim Hinzufügen oder Entfernen eines Elements ausgeführt werden. Nutzen lässt sich das Ganze beispielsweise bei einer ListBox. Es ergibt sich durch die Animationen eine ganz andere User Experience beim Hinzufügen und Entfernen von Elementen.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -