# Microsoft Silverlight

Microsoft Silverlight was sinds 2007 een ontwikkelingsplatform voor het ontwerpen van complexe grafische interfaces, hoofdzakelijk in webbrowsers.
Silverlight was gebaseerd op Windows Media-technologie, maar bood net als Flash de mogelijkheid om aan de client-zijde interactieve interfaces te maken. Silverlight gebruikte hiervoor de XAML-taal, die toegankelijk is voor veel .NET-ontwikkelaars, in tegenstelling tot Adobe's gesloten Flash-authoringomgeving.
Oorspronkelijk werd Silverlight als browser-plug-in gelanceerd. Om Silverlight te promoten lanceerde Microsoft de Tafiti zoekmachine in de nazomer van 2007. Daarnaast konden applicaties voor Windows Phone 7 ook in Silverlight worden ontwikkeld. Met Silverlight was het mogelijk om complexe animaties te maken, video weer te geven en te streamen. Silverlight was als web-plug-in beschikbaar voor verschillende browsers en besturingssystemen. Silverlight werd beschikbaar gesteld als download voor Windows en Mac OS. Voor Linux was een opensource-uitvoering beschikbaar onder de naam Moonlight, maar dit project is in 2011 gestaakt. Als alternatief kan er op Linux gebruik worden gemaakt van Pipelight.

## Ontwikkeling

Silverlight is ontwikkeld onder de codenaam Windows Presentation Foundation/Everywhere, en bevat een subset van het .NET-framework. Microsoft Silverlight is geschreven in C++ en C# en kan gezien worden als een concurrent voor Adobe Flash. In november 2011 werd de uitfasering van Silverlight aangekondigd ten gunste van HTML5, dat volgens Microsoft meer succes zou hebben in de toekomst, hoewel HTML5 nog niet alle mogelijkheden bood die Silverlight had, zoals live streaming. Concurrent Flash bleef nog lang een belangrijke standaard voor online video, advertenties en computerspellen omdat HTML5 als standaard nog niet klaar was. Daardoor ondersteunden destijds alleen de nieuwste browsers HTML5.

## Kenmerken

Microsoft Silverlight stelt de gebruiker in staat om vectoriële animaties te visualiseren, maar vooral om multimedia-inhoud, die audio en video integreert, te tonen in de webbrowser. Door middel van JavaScript kan men een Silverlight-applicatie in een website integreren.
Silverlight ondersteunt de volgende audioformaten: WMA en MP3.
Voor video ondersteunt het de formaten WMV en VC-1 (enkel het ASF-bestandsformaat).
Vanaf Silverlight 3 wordt ook het videoformaat H.264 en het audioformaat AAC ondersteund.
Silverlight maakt het mogelijk dynamische XML-inhoud te laden, deze kan gemanipuleerd worden door een DOM-interface. Deze techniek is vergelijkbaar met de gebruikelijke AJAX-techniek. Silverlight heeft ook een downloader-object dat gebruikt kan worden om inhoud te downloaden zoals scripts, actieve media of andere data die nodig zijn voor de applicatie. Met versie 2.0 van Microsoft Silverlight kunnen Silverlight-applicaties geschreven worden in elke .NET-programmeertaal, maar ook in enkele dynamische programmeertalen zoals Ruby en Python.

## Gebruik

Silverlight was een ontwikkelplatform om interactieve webapplicaties te ontwikkelen. Vaak werd het alleen gebruikt als streaming-formaat voor videostreams. In Nederland maakte bijvoorbeeld NPO Gemist gebruik van Silverlight, als alternatief voor Flash video.
Functionaliteiten die zijn toegevoegd aan Silverlight 4 en 5 werden alleen ondersteund op Windows-platformen maar het betreft functies die met name gebruikt worden voor complexe, interactieve, applicaties - en dus niet als het platform uitsluitend gebruikt wordt als alternatief voor Flash-video.

### Mogelijkheden

Zoals gezegd is Silverlight een ontwikkelplatform. Plug-ins zijn beschikbaar voor verschillende browsers en verschillende besturingssystemen. Versie 5 werd in december 2011 opgeleverd. Silverlight is onderdeel van het .NET-platform van Microsoft. Applicaties ontwikkeld onder Silverlight kunnen in een webbrowser draaien, maar het is ook mogelijk om applicaties buiten een browser te draaien. Zeker voor applicaties die buiten de browser draaien zijn er veel opties om deze applicaties op Windows en Windows Phone als trusted application te draaien. Via group policy kan de applicatie toegang tot bestanden op de cliënt worden gegeven zonder dat de eindgebruiker zelf rechten heeft om die bestanden te openen. Hoewel beschikbaar op andere besturingssystemen dan Windows, is het geoptimaliseerd voor gebruik onder Windows: zowel laptop/desktop OS zoals Windows 7, alsook voor mobiele systemen zoals Windows Phone voor gebruik op smartphones of tablets. Ontwikkelaars kunnen met dit platform client/server-applicaties maken voor gebruik in een intranet-omgeving. Microsoft gebruikt zelf het platform voor Microsoft 365.

## Voor- en nadelen
### Voordelen

* Door de integratie van Visual Studio zijn buiten grafische applicaties ook complexere toepassingen mogelijk.
* Silverlight draait achterliggend ook op het .NET framework, waarvoor de stap naar het ontwikkelen van Silverlight-applicaties zeer klein is.

### Nadelen

* Microsoft Silverlight neemt meer ruimte in beslag dan Adobe Flash Player.
* Geen ondersteuning voor Windows RT, Android en iOS.
* Ontwikkeling is in 2011 stopgezet ten voordele van HTML5.
* Moonlight heeft slechts ondersteuning tot Silverlight 3, waardoor applicaties voor Silverlight 4 en hoger vaak niet onder Linux werken.
* Silverlight werkt momenteel enkel nog in Internet Explorer & Waterfox browser.

## Tafiti

Ter promotie van Silverlight ontwikkelde Microsoft Tafiti, een zoekmachine die maximaal de functionaliteiten van Silverlight kon tonen. Tafiti betekent in het Swahili "zoeken". Na de lancering in 2007 werd de zoekmachine in 2009 stopgezet.
Met de zoekmachine konden verschillende bronnen doorzocht worden. Bronnen kunnen dan zijn web, boeken, nieuws, plaatjes en feeds. De interface maakte het mogelijk de zoekresultaten op te slaan. Ook bevatte een interface een mogelijkheid om gemakkelijk terug te gaan naar eerdere zoekopdrachten.

## Vergelijkbare technieken

* Adobe AIR
* Adobe Flex
* MXML