08.01.2009, 10:15 Uhr

Ein kurzer Rundflug über Silverlight 2

Seit Oktober ist die Betaphase von Silverlight 2 vorbei, die finale Version steht allen Entwicklern zur Verfügung. Microsofts Werkzeug zur Entwicklung von Rich Internet Applications (RIA) wartet mit zahlreichen Features auf, mit denen Entwickler ihre Nutzer beeindrucken können.
Abbildung 1: Der Visual State Manager in Aktion
Von André Wussow
Nach dem Release Candidate und den vorherigen zwei Beta-Versionen bietet Silverlight 2 in der finalen Version kaum noch Überraschungen. Waren mit dem Vorgänger Silverlight 1 lediglich einfache Berechnungen per JavaScript oder das Abspielen von Videos möglich, wartet Version 2 mit einem schlanken, abgespeckten .NET Framework 3.5 auf und führt vorkompilierten Quellcode in C#, Visual Basic, Python oder Ruby aus.

Die wichtigsten Features im Überblick

Während in den Beta-Versionen nur eine Handvoll Controls mitgeliefert worden sind, um die Download-Größe möglichst gering zu halten, wurde der Lieferumfang bei der finalen Version deutlich aufgestockt: Die häufigsten Controls, die bisher separat mitgeliefert wurden, wurden integriert. Zudem erweitern unter anderem TabControl, Calendar, Text Wrapping, Scrollbars für Textboxen und ein verbessertes DataGrid (mit den Funktionen Autosize, Reorder und Sort) die Sammlung.
Das UI-Framework ermöglicht das komfortable Erstellen von Animationen, eine Unterstützung bei Fehlerverarbeitung und -reporting, Barrierefreiheit und Tastaturunterstützung. Zudem sind Silverlight und WPF zueinander kompatibel. Diverse Tools runden die Feature-Palette ab: Per Visual State Manager (VSM, in Expression Blend integriert) lassen sich visuelle Templates für einzelne Zustände (z. B. MouseOver und MouseDown) von Controls anlegen.


Mit dem DeepZoom-Composer lassen sich auch größere Bilddaten komfortabel betrachten. Dank des XML-basierten Dateiformat sowie des Silverlight-Controls MultiScaleTileSource können bestehende Ressourcen direkt in Silverlight verwendet werden.
Silverlight 2 bietet eine umfangreiche Netzwerkunterstützung und kann auf einfache Weise per REST, SOAP, ATOM, RSS und gewöhnlichem HTTP mit Web Services kommunizieren oder Daten direkt über Sockets austauschen - auch per domainübergreifendem Zugriff (Cross-Domain-Access). Ein interessantes Feature stellt die Duplexkommunikation dar, mit der sich Nachrichten direkt vom Server an den Client ,,pushen" lassen.
Im Multimedia-Bereich bietet Silverlight Unterstützung für Windows-Media kompatible Audio-/Video-Daten, auch in HD-Qualität. Dank der Adaptive-Streaming-Technologie wird das Streaming von Mediendaten intelligent an die Auslastung des Clients und des Netzwerkes angepasst. Besonders interessant für Content-Lieferanten ist der integrierte Content-Schutz: Silverlight unterstützt neben Windows DRM auch das PlayReady DRM. Ansonsten bietet die Rich Base Class Library von Silverlight Multithreading, LINQ (LINQ-to-XML, LINQ-to-JSON, LINQ-to-Entities), die ADO.NET Data Services und die Möglichkeit zur Lokalisierung.

Silverlight-Anwendungen entwickeln

Um Silverlight Applikationen zu entwickeln werden Visual Studio 2008 mit installiertem Service Pack 1 und die Silverlight Tools for Visual Studio 2008 SP1 benötigt. Letzteres installiert alle erforderlichen Updates, Projekt-Vorlagen, die Entwicklungs-Laufzeit sowie das Silverlight 2 SDK. Für die komfortable Erstellung von Oberflächen und Animationen für Silverlight-Applikationen wird Expression Blend 2 zusammen mit dem Blend 2 ServicePack 1 benötigt. Eine Testversion für Blend 2 ist auch verfügbar. Für die Arbeit mit Mediendaten bietet sich der Expression Encoder an, mit dem sich sämtliche Audio/-Video-Daten in ein Silverlight-kompatibles Format umwandeln lassen.
Alternativ steht, neben den hauseigenen Produkten der Redmonder, eine Silverlight-Erweiterung der chinesischen Firma Soyatec für die freie Entwicklungsumgebung Eclipse zur Verfügung. Dieses Projekt wird von Microsoft gefördert. Zu guter Letzt ist das Silverlight-Toolkit eine gute Wahl. Es enthält Silverlight-Controls, -Komponenten und -Tools inklusive Quellcode, Beispielen und Tests.

Kompatibilitätsprobleme

Silverlight 2 ist vollständig abwärtskompatibel zu Silverlight 1 Applikationen. Eine Kompatibilität zu vorherigen Beta-Versionen von Silverlight 2 ist allerdings ausgeschlossen, da eine Reihe grundlegender Veränderungen an der API durchgeführt wurden. Im Detail bedeutet das, dass Anwender mit der installierten finalen Version von Silverlight 2 nicht mehr in der Lage sind, Applikationen, die mit einer vorherigen Beta erstellt worden sind, zu benutzen. Entwicklern, die bisher mit einer Beta-Version gearbeitet haben, wird empfohlen, ihre Applikationen schnellstmöglich auf die finale Version zu portieren.

Es hat sich viel getan

Wer die Entwicklung von Silverlight verfolgt hat weiß, wie viel sich zwischen der Anfangsphase und dem fertigen Produkt getan hat. Auch die parallele Entwicklung von Silverlight und Expression Blend funktioniert inzwischen reibungslos. Dies bietet vor allem bei größeren Projekten, wo Entwickler und Designer getrennt arbeiten müssen, deutliche Vorteile. Da Silverlight im Vergleich zu seinen Mitbewerbern noch sehr jung ist, liegt es bezüglich seiner Verbreitung deutlich zurück. Aber auch in diesem wichtigen Punkt ist Silverlight noch für Überraschungen gut.
Autoreninfo: André Wussow ist Fachautor und Trainer mit Schwerpunkt auf Webtechnologien und mobilen Lösungen.


Das könnte Sie auch interessieren