Microsoft Silverlight era una estructura para aplicaciones web que agrega nuevas funciones multimedia como la reproducción de vídeos, gráficos vectoriales, animaciones e interactividad, en forma similar a lo que hace Adobe Flash.

Silverlight competía con Adobe Flex, JavaFX, OpenLaszlo y algunas presentaciones de componentes AJAX. La primera versión de Silverlight fue lanzada en septiembre de 2007 y su última versión 5.1 fue lanzada en enero de 2017 y aún sigue distribuyéndose de forma gratuita.

Además se lanzó una versión en conjunto con Novell de Silverlight llamada Moonlight, la cual es código abierto para los sistemas operativos basados en UNIX. En mayo de 2012, Moonlight fue abandonado debido a la falta de popularidad de Silverlight.Adiós a Moonlight, la versión de Silverlight para Linux

El navegador de Microsoft, Microsoft Edge no soporta esta tecnología, por lo que se recomienda evitar su uso.Microsoft confirma que Edge dejará de soportar ActiveX y Silverlight

Descripción Conserva un modo de gráficos de sistema, similar al del WPF e integra en un solo complemento multimedia, gráficos de computador, animaciones e interactividad. La base de su programación es XAML y el acceso a los objetos está dado por C# y Visual Basic (aunque la versión 1.0 trabajaba a partir de JavaScript). El XAML puede ser usado para marcar los gráficos vectoriales y las animaciones.

Microsoft Expression Blend es la herramienta de Microsoft que se utiliza para crear las animaciones en Silverlight.

Silverlight soporta playback del formato de video VC-1 en todos los navegadores compatibles sin requerir el control ActiveX del Reproductor de Windows Media. Sin embargo, la EULA dice que la licencia del VC-1 es "sólo para uso personal y no-comercial de un consumidor". El contenido creado con Silverlight sería más "buscable" e "indexable" que aquel que fue creado con Adobe Flash por no estar compilado, pues se representa como un texto XAML.

Con Silverlight es posible cargar dinámicamente un contenido XML que puede ser manipulado a través de una interfaz DOM, una técnica que es compatible con aquellas convencionales del lenguaje AJAX. Silverlight tiene un "Downloader" (descargador) para tomar scripts u otros medios y guardarlos en el equipo, cuando es requerido por la aplicación. También soporta lenguajes dinámicos de programación como Ruby y Python. Mono developers to bring Silverlight to Linux

Controversia sobre el código abierto Un informe anónimo afirmó que Microsoft publicaría ciertas partes como código abierto, pero Sam Ramji, director de estrategia de tecnología de la plataforma de Microsoft, dijo que la compañía no planea hacer eso. Sin embargo, porciones de la Rutina del Lenguaje Dinámico (Dynamic Language Runtime), incluido con Silverlight, se han puesto a disposición a través del sitio web CodePlex de Microsoft bajo la Licencia Permisiva de Microsoft (Microsoft Permissive License).

Compatibilidad Sistema OperativoIE 6 SP2IE 7 y 8Firefox 1.5Firefox 2.0, 3.0 y 3.5SafariOperaChromeWindows Vista/7-1.0, 1.1, 2.0, 3.5, 4.01.0, 1.1, 2.01.0, 1.1, 2.0, 3.5, 4.01.0, 2.0; vía NPAPI2.02.0, 3.0, 4.0Windows Server 20031.0, 2.0, 3.0, 4.01.0, 1.1, 2.0,3.51.0, 1.1, 2.01.0, 1.1, 2.0, 3.5 (Solamente versión 3.5)1.0, 2.0; vía NPAPI2.02.0, 3.0, 4.0Windows XP1.0, 2.0, 3.0, 4.01.0, 1.1, 2.0, 3.0, 4.01.0, 1.1, 2.01.0, 1.1, 2.0, 3.5, 4.01.0, 2.0; vía NPAPI2.02.0, 3.0, 4.0 Windows Phone 7-Más adelante----- Windows 20002.0, 3.0,4.0--2.0 (No oficial)2.0 (vía NPAPI)--Mac OS 10.4.8+ PPC--1.01.01.0Más adelante ?Mac OS 10.4.8+ Intel--1.0, 1.1, 2.01.0, 1.1, 2.01.0, 1.1, 2.0, 4.02.03.0, 4.0; No oficialLinuxLinux, Unix y otros Sistemas Operativos en general, compatibles con estándares POSIX / SUS--Moonlight y 2.0Moonlight para LinuxMoonlight y 2.0Moonlight y 2.02.0?

Notas: Opera era soportado desde la versión 2.0 En Linux, los navegadores Firefox, Konqueror y Opera eran soportados desde la 2.0 Soporte para los distribuciones más importantes de Linux a través de una implementación de Silverlight, llamada Moonlight Se planeaba dar soporte a dispositivos móviles en el futuro, de acuerdo con Scott Guthrie. Se ha considerado dar soporte a otras plataformas.

Versiones Nombre de la versión Número de la versiónFecha1.0 Community Technology Preview (CTP) 1.0.? Diciembre de 20061.0 Release to Web (RTW) 1.0.20816 5 de septiembre de 20072 Pre-Release(As 1.1 Alpha Refresh) 1.1.20926.0 5 de septiembre de 20071.0 Service release 1.0.21115.0 20 de noviembre de 20071.0 Service release 1.0.30109.0 15 de enero de 20082 Beta 1 2.0.30226.2 3 de mayo de 20081.0 Service releaseMSFN – Microsoft rolls out Silverlight maintenance release 1.0.30401.0 8 de abril de 20082 Beta 2 2.0.30523.6 6 de junio de 2008 2.0.30523.8 16 de julio de 2008 1.0 Service release 1.0.30715.0 27 de julio de 2008 2 Release Candidate Zero (RC0) 2.0.30523.9 25 de septiembre de 20082 RTW 2.0.31005.0 24 de octubre de 2008 2 General Distribution Release (GDR) 1 2.0.40115.0 19 de febrero de 2009 3 Beta 3.0.40307.0 18 de marzo de 2009 3 RTW 3.0.40624.0 9 de julio de 2009 3 GDR 1 3.0.40723.0 28 de julio de 2009 3 GDR 2 3.0.40818.0 1 de septiembre de 2009 4 Beta 1 4.0.41108.0 18 de noviembre de 2009 3 GDR 3 3.0.50106.0 20 de enero de 2010 4 RC 4.0.50303.0 15 de marzo de 2010 4 GDR 4.0.50401.0 15 de abril de 2010name="Business-Ready Silverlight 4 Ships April 15"> 4 GDR 2 4.0.50917.0 28 de septiembre de 2010 Silverlight 1.0 Silverlight 1.0 consiste en la presentación del núcleo de un framework, el cual es responsable de la interactividad y el ingreso de datos por parte del usuario, los gráficos, animación, la reproducción de medios, el soporte a la administración de derechos digitales y la integración del DOM. Sus componentes son los siguientes:

Input - Maneja la información que aportan los dispositivos de entrada como los teclados, el ratón, el stylus, etc.

Núcleo UI - Maneja el rendimiento de las imágenes bitmap (incluyendo las imágenes raster como JPEG, los gráficos vectoriales, el texto y las animaciones).

Media - Reproducción en línea de MP3, Windows Media y VC-1.

XAML - Permite que la disposición de UI sea creada usando el lenguaje de marcas XAML.

Una aplicación de Silverlight comienza por invocar el control de Silverlight mediante una la página HTML, para generar dicha página (en lo que a estructura se refiere), usa el archivo XAML. El archivo XAML puede contener múltiples objetos, pero normalmente el objeto padre suele ser del tipo Canvas, el cual actúa como contenedor de otros elementos. Silverlight ofrece la posibilidad de usar símbolos geométricos básicos como: líneas, elipses, elementos de texto, imágenes y multimedia. Los elementos están propiamente posicionados para alcanzar la disposición deseada. Cualquier figura arbitraria puede ser creada si es requerida. Estos elementos pueden ser animados usando el reproductor de eventos; algunos efectos de animaciones están predeterminadas, mientras que otros puede ser compuestos de otros efectos pre-definidos. Eventos como el movimiento del teclado o del ratón pueden ser manejados por scripts personalizados o manejadores de eventos.

La manipulación programática del UI se obtiene al usar lenguajes de scripts para modificar el DOC del objeto Canvas del Silverlight. Para facilitar esto, Silverlight muestra una API DOM, accesible desde cualquier lenguaje de scripts soportado por Silverlight, el cual en cada versión está limitada solo a ejecutarse en cualquier nevegador. Sin embargo, no hay widgets UI construidas. Las widgets nativas del navegador deben ser sobredestinadas en la cina del objeto Canvas del Silverlight para que el usuario pueda ingresar información. Soporte para formatos de datos está limitado a XML, POX y JSON.

Silverlight 2.0 Esta versión incluye notables mejoras en compatibilidad como la adición de actualizaciones automáticas, compatibilidad con Firefox 3.5, Opera, Chrome y Safari 4 y compatibilidad con el sistema operativo Linux. Para Linux, existe el plugin Moonlight 2.0.

250px|thumb|Arquitectura de la versión 1.1.

Silverlight 3.0 OutBrowser: Extracción de la aplicación silverlight del entorno de web al escritorio. Para entornos linux, esta el plugin de Moonlight 3.0, aunque la versión 2.0 es casi funcional. También para entornos microsoft.

Silverlight 4.0 El 18 de noviembre de 2009 en la Conferencia de Desarrolladores Profesionales celebrada en Los Ángeles, Microsoft mostró al público Silverlight 4, una versión que finalmente se lanzó el 15 de abril de 2010. Entre las nuevas características para el lanzamiento se destacan: Mejoras en la RIA: paradigmas de Business y WFC RIA Soporte para WebCam y Micrófono Soporte para impresión Mejorado el soporte del click derecho y el desplazamiento con la rueda del ratón Soporte Google Chrome Nuevas notificaciones Mejoras en las cajas de texto enriquecido Mejoradas las animaciones Soporte para arrastar y soltar Mejoras en el rendimiento del zum Soporte para usar temas en los controles Soporte para renderizar HTML dentro de Silverlight Protección del contenido en H.264 y soporte para reproducción offline de contenido con DRM.

Silverlight 5.0 El 2 de diciembre de 2010, en el Silverlight Firestarter, se presentó Silverlight 5 que salió a la luz en la primera mitad del 2011. Mientras que la versión final de Microsoft Silverlight fue lanzado a finales de 2011 Las nuevas características de Silverlight 5 incluyen:

Soporte de aceleración de vídeo por GPU. Soporte de gráficos en 3D. Reproducción de contenido multimedia con velocidad variable y corrección automática del audio. Mejora de consumo de energía. Soporte para control remoto. Inicio más rápido de las aplicaciones. Soporte para navegadores de 64 bits. Soporte para pruebas automatizadas de interfaz de usuario para las aplicaciones en Visual Studio 2010. Mejora en la claridad del texto. Ahora los desarrolladores pueden depurar las expresiones de enlaces a datos (data-binding) usando puntos de interrupción (breakpoints).

Disponibilidad Silverlight está disponible para los navegadores Internet Explorer y Safari en los sistemas operativos Microsoft Windows, Mac OS X y Linux.Microsoft extiende soporte de Silverlight 1.0 a Linux (en inglés)Microsoft lleva Silverlight a LinuxMicrosoft libera Silverlight 1.0 con todo y soporte para Linux

El lanzamiento mundial de la versión 1.0 de Silverlight fue realizado el 6 de septiembre de 2007.

Alternativas Para aquellas personas que tengan Linux y que deseen utilizar una variante oficial y libre, desarrollada por el Proyecto Mono,Desarrollada en el marco de un convenio de Microsoft con Novell (ver convenio) el proyecto Moonlight es una buena opción.Página oficial Proyecto Moonlight http://www.mono-project.com/Moonlight Página oficial Descargas Proyecto Moonlight http://www.go-mono.com/moonlight/

Enero 2010: Versión 2.0 de moonlight para firefox en linux. estable web Abril 2010: Versión 3.0 de moonlight para firefox en linux. preview web

Relación con los estándares actuales de Internet De acuerdo con el organismo internacional sin fines de lucro, el Comité Internacional Europeo para la Interoperación entre Sistemas ("European Committee for Interoperable Systems") existe cierta preocupación de que con Silverlight Microsoft trata de introducir contenido en la red al que sólo se podría acceder desde la plataforma Windows. Argumentan que el uso de XAML en Silverlight se coloca para reemplazar al estándar HTML que es multiplataforma. Efectivamente, si Silverlight llega a ser usado de forma amplia por mucha gente, existe el riesgo de que los usuarios tengan que llegar a comprar productos de Microsoft para poder acceder al contenido de internet.