Microsoft Silverlight: Konkurrenz für Flash und Shockwave?

(http://www.zdnet.de/magazin/39159522/microsoft-silverlight-konkurrenz-fuer-flash-und-shockwave.htm)

von Tony Patton, 6. Dezember 2007

Microsoft unternimmt enorme Anstrengungen, um mit Silverlight im Gebiet der Flash-ProgrammierungFuß zu fassen. ZDNet zeigt, was das Plugin kann und welche Technik dahintersteckt.

Webentwickler stehen der Verwendung von Technologien wie Macromedia Flash oder Adobe Shockwave zum Aufpeppen von Websites häufig skeptisch gegenüber. Da diese Technologien keine Webstandards sind, funktionieren sie womöglich nicht in allen Browsern. Trotzdem finden sie wegen der großen Gestaltungsmöglichkeiten immer wieder den Weg ins Internet.

Was ist Silverlight?

Microsoft beschreibt Silverlight[1] als ein browser- und plattformübergreifendes Plugin für die nächste Generation von Multimedia-Anwendungen und interaktiven Benutzeroberflächen im Internet. Das Plugin dient zur Darstellung der Anwendungen im Browser. Es funktioniert mit Mac OS (Version 10.4.8), Windows 2000/XP/Vista und Server 2003. Die folgenden Browser werden unterstützt: Internet Explorer 6 und 7, Firefox 1.5 und 2.0 sowie Safari.

Silverlight-basierte Anwendungen werden mit XAML (eXtensible Application Markup Language) und Javascript entwickelt. Sie lassen sich problemlos in vorhandene Webtechnologien integrieren. Die Benutzeroberfläche wird mit Hilfe von XAML definiert, wobei Javascript sich um die Verarbeitung von Ereignissen kümmert. Dies unterstützt die Trennung von Darstellung und Entwicklung.

Die Technologie

Während Javascript als etablierte Technologie gilt, ist XAML (ausgesprochen "Xammel") noch relativ neu. XAML arbeitet als XML-basierte Markup-Sprache mit dem neuen grafischen Subsystem von Windows Vista und dem .NET-Framework 3.0 zusammen. Mit Hilfe von XAML kann man grafische Elemente, Benutzeroberflächen, Verhaltensweisen, Animationen und vieles mehr definieren.

Silverlight ist zwar eng mit dem .NET Framework verknüpft, aber auch selbständig funktionsfähig - das heißt, es benötigt weder Windows noch das .NET-Framework. Sämtliche Funktionen von Silverlight-Seiten sind über das Plugin verfügbar. Das von Silverlight verwendete XAML ist eine Untermenge des XAML in Windows Vista und dem .NET-Framework.

Silverlights XAML legt den Schwerpunkt auf die für die Webentwicklung wichtigen Aspekte der Sprache und verzichtet auf die Desktop-Elemente. Silverlight enthält eine Miniaturausgabe der Common Language Runtime (CLR) von .NET. Das bedeutet, dass auf eine Untermenge der vollständigen .NET-Plattform, die auf Desktops läuft, vom Browser aus zugegriffen werden kann. Da XAML eine XML-basierte Programmiersprache ist, kann man für XAML (einschließlich Javascript) einfach seinen Lieblingstexteditor verwenden. Visual Studio 2005 unterstützt ebenfalls die XAML-Entwicklung. Außerdem gibt es eine Silverlight-Vorlage zum Entwickeln von Silverlight-Seiten oder -Anwendungen in Visual Studio 2005. Die Vorlage ist Bestandteil des Silverlight Software Development Kit[2].

Sobald man das SDK installiert hat, steht die Vorlage in Visual Studio 2005 zur Verfügung. Hierzu wählt man "Silverlight Javascript Application" als Vorlage, wenn ein neues Projekt in Visual Studio 2005 erstellt werden soll. Dann kann der XAML-Code und danach ein Web-Formular geschrieben werden, das den XAML-Code verwendet und allen erforderlichen Code enthält. Als nächstes kann die Webseite erstellt werden, die das Silverlight-Steuerelement enthält, das den XAML-Code verwendet.

Neben der XAML-Unterstützung in Silverlight ermöglicht Microsofts Suite von Expression-Tools, speziell Microsoft Expression Design und Microsoft Expression Blend, Designern das Zusammenstellen grafischer Elemente und Benutzeroberflächen, die schließlich als XAML-Code gespeichert werden. Es gibt sogar ein Tool[3], mit dem man vorhandene Flash-Animationen in das XAML-Format konvertieren kann. Weitere Informationen über die Entwicklung mit Silverlight findet man im Silverlight Developer Center[4].

Erste Eindrücke

Viele Entwickler konnten sich nie richtig mit Flash oder Shockwave zum Erstellen von Webschnittstellen anfreunden. Ein Problem mit einer Technologie wie Flash ist, dass man sich mit einer vollständig neuen Entwicklungsumgebung vertraut machen muss und einer neuen Programmiersprache - Actionscript. Einer der positiven Aspekte von Silverlight ist der Rückgriff auf vorhandene Microsoft-Technologien und ein Werkzeug wie Visual Studio 2005, also Technologien und Tools, die zum Alltag vieler Webentwickler gehören.

Die Möglichkeit, Code mit XAML und Javascript zu entwickeln, hebt Silverlight von anderen Produkten ab. Eine Flash-Anwendung muss zum Abrufen von Daten womöglich mit einem Backend-Web-Service kommunizieren, aber Silverlight kann den Code für die Serverkommunikation und den Datenabruf direkt enthalten.

Silverlight erfordert wie konkurrierende Technologien auch ein Browser-Plugin - hier ändert sich also nicht allzu viel. Dass ein Plugin erforderlich ist, lässt natürlich die Frage nach Webstandards aufkommen - und wie man sicherstellt, dass eine Webanwendung auch von allen Browsern problemlos geladen werden kann.

Insgesamt ist das Entwicklungsmodell von Silverlight schon beeindruckend: Es erlaubt die Verwendung einer XML-Sprache und von Javascript zum Erstellen von Benutzerschnittstellen, und auf alles kann über .NET-Code zugegriffen werden.

Es wird spannend, zu beobachten, ob Microsoft es schafft, den etablierten Kundenstamm von Adobe und Macromedia anzulocken. Und man wird abwarten müssen, ob Entwickler von Benutzerschnittstellen diese neue Technologie übernehmen werden.

URLs in diesem Artikel:
[1] = http://www.microsoft.com/silverlight/
[2] = http://www.microsoft.com/downloads/details.aspx?FamilyId=FB7900DB-4380-4B0F-BB95-0BAEC714EE17&displaylang=en
[3] = http://www.theconverted.ca/
[4] = http://msdn2.microsoft.com/en-us/silverlight/default.aspx