- Microsoft Silverlight
-
Microsoft Silverlight Basisdaten Entwickler Microsoft Corporation Aktuelle Version 4.0.60831.0
(11. Oktober 2011)Betriebssystem Microsoft 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. Eine Rich Internet Application ermöglicht dem Besucher einer Webseite z. B. Drag and Drop, 3D-Effekte, Animationen und Unterstützung diverser Videoformate und anderer Medien.
Außerdem wird Silverlight 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 und Safari angeboten. Für Linux wird von Novell mit Zustimmung und Unterstützung von Microsoft Moonlight angeboten. 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.
Inhaltsverzeichnis
Funktionsweise
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.[1]
Versionen
Silverlight 1.0
Silverlight 1.0 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.0 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.[2] 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.[3]
Silverlight 2
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
Seit Anfang Juli 2009 bietet Microsoft Silverlight 3 für Windows und Mac OS zum Herunterladen an.[4] 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 welchen 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
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
Microsoft hat auf der hauseigenen MIX-Konferenz die Freigabe von Silverlight 5 für Herbst 2011 angekündigt. Die neue Version soll in vielen Bereichen eine höhere Geschwindigkeit bieten als bisher[5]: So kommt Version 5 erstmals mit vollständiger 64-Bit-Unterstützung und kann die Darstellung von Grafiken mit Hilfe der GPU beschleunigen. Außerdem wurden die Netzwerkfunktionen in einen separaten Thread ausgelagert, was stockende Anwendungen verhindern soll. Die Integration fremder Webinhalte per HTML5 wird mit Silverlight 5 ebenfalls leichter.
Kompatibilität
Betriebssysteme und Webbrowser
- Obwohl Opera offiziell nicht unterstützt wird,[6] funktioniert Silverlight inzwischen auch dort, wenn auch mit Einschränkungen, so funktionieren Animationen beispielsweise nicht, bzw. werden nicht abgespielt.
- Für Linux und FreeBSD wird die Silverlight-Funktionalität über das freie Moonlight-Projekt zur Verfügung gestellt.
- Um die Portierung von Silverlight auf Intels Moblin voranzutreiben, arbeitet Microsoft mit Intel zusammen.[7]
- Silverlight for Mobile wird eingesetzt, um Silverlight-Inhalte auch auf mobilen Empfangsgeräten wie Handys oder PDAs betrachten zu können. 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.[8]
- 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: Er zitiert Bob Muglia, Microsofts-Manager im Server-Geschäft[9]
Kritik
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, welches auch die alternative Silverlight-Implementation Moonlight beinhaltet, wurden vom Flash-Entwickler Adobe die Anstrengungen Microsofts, Silverlight plattformunabhängig anzubieten, infrage gestellt.[10]
Ü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, sondern ein eigenes Format auf der Basis von XML entwickelt hat.[11] Laut Aussagen eines Microsoft MVPs sei es jedoch nicht möglich gewesen, SVG zu nutzen, ohne langfristig den Standard im Rahmen der Silverlight-Entwicklung anzupassen.[12]
In Silverlight 4.0 gibt es neben der kontrollierten Ausführung in einer Sandbox optional noch die Möglichkeit einer expliziten lokalen Installation (dies 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.[13][14]
Silverlight selbst beherrscht keine direkte 3D-Unterstützung, stattdessen ist man auf Software von Drittanbietern angewiesen oder muss dies selbst implementieren.
Die von der Software gesetzten Cookies lassen sich mit dem Silverlight-Cookie-Killer (SCK) entfernen.
Weblinks
- silverlight.net – Silverlight-Installation, Quick starts und Show cases (englisch)
- Microsoft Silverlight (Deutsch) – Deutsche Produktseite zu Silverlight
- (Deutsch) - Offizielles MSDN Developer Center zu Silverlight im MSDN
- Microsoft Silverlight (Englisch) – Silverlight Produktseite
Videos und Tutorials
- Silverlight 2 – Einführung – Webcasts von Oliver Scheer
- Getting Started with Silverlight – For Designers – Webcasts von Jeremy Osborn (englisch)
- Silverlight.net/learn – Video-Tutorials mit Quellcode (englisch)
- ShineDraw.com – Silverlight-Beispiele mit Quellcode (englisch)
Einzelnachweise
- ↑ M. Werner und B. Rieger: Interaktive Webanwendungen mit Silverlight 2 entwickeln. 2008, ISBN 978-3-8158-3009-3
- ↑ Silverlight Architecture. Abgerufen am 5. Juni 2007.
- ↑ Silverlight 1.0 Beta QuickStart. Abgerufen am 5. Juni 2007.
- ↑ Heise Online vom 9. Juli 2009
- ↑ Microsoft Silverlight 5: Schnellere Grafik und 64bit-Unterstützung
- ↑ Microsoft.com: Compatible Operating Systems and Browsers. Abgerufen am 11. Juli 2010.
- ↑ Taft, Darryl: Microsoft, Intel Team to Put Silverlight on Moblin Linux". eweek. Abgerufen am 21. Februar 2011.
- ↑ Silverlight for Mobile. Silverlight.net. Abgerufen am 9. März 2008.
- ↑ http://www.zdnet.com/blog/microsoft/microsoft-our-strategy-with-silverlight-has-shifted/7834
- ↑ Adobe CEO questions Microsoft Silverlight cross-platform commitment. Java Entrepreneur. Abgerufen am 13. Januar 2011.
- ↑ Ryan Paul: Microsoft's Flash-killer Silverlight steals the show at MIX07. Abgerufen am 6. Mai 2007.
- ↑ David Betz: Silverlight's Adoption as Public De-Facto Standard. Abgerufen am 20. Juni 2007.
- ↑ Abel Avram: Silverlight 4’s COM+ Automation Raises Security and Portability Concerns. Abgerufen am 23. Februar 2010.
- ↑ Wolfgang Möhle: Der Preis ist (zu) hoch. Abgerufen am 10. Februar 2010.
Kategorien:- Microsoft
- Web-Entwicklung
- Deep-Zoom Viewer
- Windows-Software
Wikimedia Foundation.