Microsoft Silverlight

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von Silverlight)
Wechseln zu: Navigation, Suche
Microsoft Silverlight
Logo
Basisdaten
Entwickler Microsoft Corporation
Aktuelle Version 5.1.30514.0 [1]
(23. Juli 2014)
Betriebssystem Windows, Mac OS X
Kategorie Web Application Framework
Lizenz EULA / proprietär
Deutsche Webseite

Microsoft Silverlight ist eine Erweiterung für Webbrowser, die die Ausführung von Rich Internet Applications ermöglicht. Außerdem wird es als Framework für Apps für Windows Phone 7 verwendet. Silverlight ist als proprietäres, programmierbares Plug-in für Windows und Apple Macintosh verfügbar und wird für die Browser Internet Explorer, Mozilla Firefox, Opera, Google Chrome und Safari angeboten. Für Linux wurde von Novell mit Zustimmung und Unterstützung von Microsoft Moonlight angeboten. Es wurde für Silverlight 5 nicht mehr weiterentwickelt. Silverlight basiert auf einer reduzierten Version des .NET-Frameworks.

Neben der offenen W3C-Webplattform (u. a. Ajax) konkurriert Silverlight mit OpenLaszlo, Adobe Flash/Adobe Flex und JavaFX.

Funktionsweise[Bearbeiten]

Die Silverlight-Architektur

Silverlight-Anwendungen werden vom Webserver heruntergeladen und auf dem Client typischerweise im Browser ausgeführt. Die Kommunikation der Anwendung mit dem Webserver erfolgt mittels HTTP-GET. Für die Programmierung mittels .NET eignen sich unter anderem die ADO.NET Data Services, die Datenbanken automatisch als Webdienst für einen Silverlight-basierten RIA-Client bereitstellen können.

Silverlight ist hinsichtlich seiner UI-Präsentationsschicht abgeleitet aus der Windows Presentation Foundation. WPF wurde mit dem .NET-Framework 3.x (3.0/3.5) eingeführt. Hauptbestandteil der vektorbasierten Grafikdarstellung und der Gestaltung von Anwendungsoberflächen ist das universelle und textbasierte XML-Format XAML (eXtensible Application Markup Language). Während WPF für die grafische Darstellung und Animationen von Windows-Desktop-Anwendungen entwickelt wurde, ist unter dem Codenamen WPF/E (E für Everywhere) eine webfähige Variante entwickelt worden, die mit einem um Elemente und Funktionen reduzierten XAML ausgestattet ist.[2]

Versionen[Bearbeiten]

Silverlight 1[Bearbeiten]

Silverlight 1 ist mit einer JavaScript-API ausgestattet und lässt sich mit JavaScript, aber auch mit anderen Scriptsprachen wie z. B. Python und Ruby entwickeln. Silverlight 1 besteht aus dem Kern des Presentation Frameworks, der verantwortlich für das UI (User Interface), Interaktivität und Benutzereingaben, grundlegende Bedienelemente, Grafiken und Animation, Medienwiedergabe, Digitale Rechteverwaltung (DRM) und DOM-Integration ist.[3] Es ist gegliedert in folgende Komponenten:

Eingaben
Verarbeitung der Informationen von Geräten wie Tastatur, Maus, Zeichentablett usw.
User-Interface-Kern
Rendern von Bitmap-Bildern steuern (einschließlich komprimierter Rasterbilder wie JPEG, Vektorgrafiken, Text und Animationen)
Medien
Wiedergabe von MP3-, WMA-Standard-, WMV7-, WMV8- und WMV9-/VC-1-Streams
XAML
Möglichkeit, die Benutzeroberflächen mit Hilfe der Extensible Application Markup Language zu gestalten

Eine Silverlight-Anwendung startet mit dem Aufrufen des Silverlight-Controllers von der HTML-Seite, der dann eine XAML-Datei lädt. Die XAML-Datei enthält ein Canvas-Objekt, das als Platzhalter für andere Objekte dient. Silverlight stellt verschiedene geometrische Grundformen zur Verfügung, aber auch Elemente wie Text, Bilder und andere Medien. Die Elemente können exakt positioniert werden, um das gewünschte Layout zu erreichen. Diese Elemente können animiert werden, indem sogenannte Event Trigger verwendet werden. Einige Effekte sind vordefiniert, andere können als Komposition dieser entworfen werden. Tastatur- und Mausereignisse können ebenfalls von gewöhnlichen Skripten verarbeitet werden.[4]

Silverlight 2[Bearbeiten]

Silverlight 2 enthält eine Vielzahl von aus WPF-Anwendungen bekannten XAML-Controls. Zusätzlich zum Canvas, das in der Version 1.1 als einziges Layout-Panel zu Verfügung stand, werden nun weitere Layout-Controls unterstützt, das StackPanel und das Grid, die als Container für andere Controls dienen und die Positionierung und Größenanpassung der Elemente erleichtern. Auch komplexe Funktionalitäten, wie z. B. Data Binding, die Verwendung von Vorlagen (Templates), benutzerdefinierte Steuerelemente und Steuerelemente zur Datenmanipulation und Datenvisualisierung (ListBox, DataGrid) sind dazugekommen. Silverlight 2 unterstützt darüber hinaus Klassen zur Internetkommunikation über REST, POX, RSS und WS, und domainübergreifende Netzwerkzugriffe. Die Windows Communication Foundation (WCF), Ajax und LINQ sind integriert.

Silverlight enthält einen Mediaplayer, der die Formate Windows Media Video (WMV), VC-1 Video Standard, HDV, Windows Media Audio (WMA) und MP3 unterstützt.

Silverlight-Anwendungen werden in der Regel mit Microsoft Expression Blend und Visual Studio entwickelt. Es ist geplant, Silverlight auch für mobile Endgeräten mit z. B. Windows Mobile zu veröffentlichen. Die Plattform unterstützt eine Deep-Zooming-Technologie für hochauflösende Bilder, und mit dem Microsoft Streaming Server ist es möglich, Videos und Silverlight-Anwendungen als Streams anzubieten.

Silverlight 3[Bearbeiten]

Seit Anfang Juli 2009 bietet Microsoft Silverlight 3 für Windows und Mac OS zum Herunterladen an.[5] Neu ist die Unterstützung von Hardware-Beschleunigung bei Videos sowie die Möglichkeit, Anwendungen für den Desktop sowie für das Internet zu entwickeln.

  • Silverlight 3 ermöglicht sogenannte „Rich-Media Websites“ mit „Full HD Smooth-Streaming (1080p)“, mit denen unter anderem auch die Qualität des Videos während des Anschauens verändert werden kann. Außerdem bietet es 3D-Funktionen und Unterstützung für Eingabegeräte mit Multi-Touch.
  • Silverlight 3 ist geeignet, um „Rich-Internet“-Anwendungen für den Browser und den lokalen Rechner zu entwickeln. Damit können Silverlight-Anwendungen direkt auf dem Rechner ausgeführt werden – mit („online“) und ohne („offline“) Internet-Verbindung. Dieses Verfahren wird „Out-of-Browser(OOB)“-Technik genannt.

Silverlight 4[Bearbeiten]

Am 13. April 2010 wurde Microsoft Silverlight 4 auf der Microsoft-Entwicklerkonferenz vorgestellt. Zu den Neuerungen gehört ein Drucksystem mit Druckvorschau. Neu sind außerdem die WCF RIA Services, die Netzwerkfunktionen beinhalten, um mehrschichtige Anwendungen zu erstellen. Eine Unterstützung für Webcams und Mikrofone und damit die lokale Aufzeichnung von Audio und Video wurde ebenfalls integriert. Silverlight 4 soll um den Faktor 3 schneller sein als der Vorgänger.

Im Juli 2010 meldete Microsoft selbst eine Verbreitungsquote des Silverlight-Plugins von 60 %, mit einem Sprung der Verbreitungsquote von 45 % auf 60 % in nur vier Monaten. Damit sehen Beobachter die „kritische Masse“ erreicht, die Silverlight wohl schneller als allgemein erwartet zum „vollwertigen“ Konkurrenten von Adobes Flash machen dürfte.

Silverlight 5[Bearbeiten]

Am 9. Dezember 2011 wurde die Version 5 veröffentlicht[6]. Dabei wurde die Ausführungsgeschwindigkeit verbessert. Als Neuerungen wurde die vollständige 64-Bit-Unterstützung sowie die Darstellung von H.264-Daten mithilfe der GPU bekanntgegeben. Außerdem werden die Netzwerkfunktionen in einen separaten Thread ausgelagert, was das Stocken von Anwendungen verhindern soll. Die Integration fremder Webinhalte per HTML5 wird mit Silverlight 5 ebenfalls einfacher. Zudem wurde Microsofts „Trusted Application“-Modell eingeführt, womit es mit einem Zertifikat versehenen Anwendungen möglich ist, bestimmte Aktionen direkt vom Browser aus durchzuführen. Voraussetzung ist neben dem Zertifikat ein passender Eintrag in der Registry. Außerdem bietet Silverlight 5 hardwarebeschleunigte 3D-Unterstützung. Die Unterstützung wurde bis 2021 zugesagt.

Kompatibilität[Bearbeiten]

Betriebssysteme und Webbrowser[Bearbeiten]

  • Obwohl Opera offiziell nicht unterstützt wird,[7] funktioniert Silverlight inzwischen auch dort mit Einschränkungen, Animationen werden beispielsweise nicht angezeigt.
  • Für Linux und FreeBSD wird die Silverlight-Funktionalität durch das freie Moonlight-Projekt zur Verfügung gestellt. Das Moonlight-Projekt wurde 2012 offiziell eingestellt.[8]
  • Für Linux und FreeBSD gibt es seit 2013 das „Pipelight“-Plugin, um Silverlight in Linux-basierten („nativen“) Browsern zu unterstützen. Dazu erstellt Pipelight eine Verbindung zwischen Silverlight in Wine und dem Browser.[9]
  • Um die Portierung von Silverlight auf Intels Moblin voranzutreiben, arbeitet Microsoft mit Intel zusammen.[10]
  • „Silverlight for Mobile“ wird eingesetzt, um Silverlight-Inhalte auch auf mobilen Empfangsgeräten wie Mobiltelefonen oder PDAs zu betrachten. Obwohl die Software bereits im 2. Quartal 2008 erwartet wurde, gibt es bis heute noch keine offizielle Version. Silverlight for Mobile wird anfänglich Silverlight Version 2 und .NET-Sprachen unterstützen.[11]
  • Silverlight benötigt mindestens einen x86-Prozessor mit SSE-Unterstützung. Unterstützte Prozessoren sind unter anderem Intel Pentium III und höhere und AMD Athlon XP und höhere. Die neuere AMD-Duron-Serie wird ebenfalls unterstützt.

„Silverlight will continue to be a cross-platform solution, working on a variety of operating system/browser platforms, going forward, he said. “But HTML is the only true cross platform solution for everything, including (Apple’s) iOS platform,” Muglia said.“

Mary Jo Foley: Sie zitiert Bob Muglia, Microsofts-Manager im Server-Geschäft[12]

Kritik[Bearbeiten]

Microsofts Entwicklung von Silverlight wurde für die Konzentration auf dessen Betriebssystem Windows kritisiert. Obwohl Microsoft mit Apple und Novell im Rahmen des Mono-Projektes zusammenarbeitet, das auch die alternative Silverlight-Implementation Moonlight beinhaltet, wurden vom Flash-Entwickler Adobe die Anstrengungen Microsofts, Silverlight plattformunabhängig anzubieten, infrage gestellt.[13]

Überdies gibt es Vorbehalte gegen Microsoft, was die Einhaltung und Nutzung von Web-Standards angeht, da Silverlight beispielsweise nicht den vom World Wide Web Consortium empfohlenen Standard SVG für Vektorgrafiken nutzt. Microsoft hat es vorgezogen, eine eigene, strukturell mit SVG kompatible Implementierung in XAML einzubauen. Laut Aussagen eines Microsoft MVPs sei es jedoch nicht möglich gewesen, SVG zu nutzen, sonst hätte Microsoft SVG als erstes um GUI-Elemente erweitert, und damit wäre es nicht mehr SVG gewesen.[14][15]

In Silverlight 4.0 gibt es neben der kontrollierten Ausführung in einer Sandbox optional noch die Möglichkeit einer expliziten lokalen Installation (das steht nur für Out-of-Browser-Ausführung bereit). Wenn der Benutzer diese Installation akzeptiert, werden die Einschränkungen der Sandbox verringert, und es wird möglich sein, COM-Objekte zu verwenden – etwa für die Integration mit Desktop-Anwendungen. Die betroffenen Teile solcher lokal installierten Silverlight-Anwendungen wären dann nicht mehr plattformunabhängig.[16][17]

Weblinks[Bearbeiten]

Videos und Tutorials[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. Versionsgeschichte bei microsoft.com, abgerufen am 24. Juli 2014 (englisch).
  2. M. Werner und B. Rieger: Interaktive Webanwendungen mit Silverlight 2 entwickeln. 2008, ISBN 978-3-8158-3009-3
  3. Silverlight Architecture. Abgerufen am 5. Juni 2007.
  4. Silverlight 1.0 Beta QuickStart. Abgerufen am 5. Juni 2007.
  5. Heise Online vom 9. Juli 2009
  6. http://blogs.msdn.com/b/silverlight/archive/2011/12/09/silverlight-5-available-for-download-today.aspx
  7. Microsoft.com: Compatible Operating Systems and Browsers. Abgerufen am 11. Juli 2010.
  8. Miguel de Icaza on ASP.NET MVC, Moonlight, and the Android Lawsuit. ASP.NET. Abgerufen am 19. Juni 2012.
  9. Pipelight: using Silverlight in Linux browsers. FDS-Team. 16. August 2013. Abgerufen am 29. August 2013.
  10. Microsoft, Intel Team to Put Silverlight on Moblin Linux". eweek. Abgerufen am 21. Februar 2011.
  11. Silverlight for Mobile. Silverlight.net. Abgerufen am 9. März 2008.
  12. http://www.zdnet.com/blog/microsoft/microsoft-our-strategy-with-silverlight-has-shifted/7834
  13. Adobe CEO questions Microsoft Silverlight cross-platform commitment. Java Entrepreneur. Abgerufen am 13. Januar 2011.
  14. Ryan Paul: Microsoft's Flash-killer Silverlight steals the show at MIX07. Abgerufen am 6. Mai 2007.
  15. David Betz: Silverlight's Adoption as Public De-Facto Standard. Abgerufen am 20. Juni 2007.
  16. Abel Avram: Silverlight 4’s COM+ Automation Raises Security and Portability Concerns. Abgerufen am 23. Februar 2010.
  17. Wolfgang Möhle: Der Preis ist (zu) hoch. Abgerufen am 10. Februar 2010.