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.[1]
El navegador de Microsoft, Microsoft Edge no soporta esta tecnología, por lo que se recomienda evitar su uso.[2]
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".[3] 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.[4]
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.[5] También soporta lenguajes dinámicos de programación como Ruby y Python.[6]
Controversia sobre el código abierto
Un informe anónimo afirmó que Microsoft publicaría ciertas partes como código abierto,[7] pero Sam Ramji, director de estrategia de tecnología de la plataforma de Microsoft, dijo que la compañía no planea hacer eso.[8] 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).
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.[22] 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).
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 APIDOM, 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.
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[23]
Las nuevas características de Silverlight 5 incluyen:[24]
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.
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,[28] el proyecto Moonlight es una buena opción.[29]
[30]
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 multi-plataforma. 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.[31]
En los EE. UU., California y algunos otros estados han pedido a un juez de distrito que extienda la mayoría de los acuerdos con Microsoft (de los casos antimonopolios) por otros cinco años,[32] citando " ciertas preocupaciones, incluyendo el temor de que Microsoft pudiera usar la siguiente versión de Windows para 'inclinar el campo de juego' hacia Silverlight, su nuevo competidor contra el Adobe Flash", dice un artículo del periódico 'Seattle Post-Intelligencer'. La resolución final de esa solicitud judicial fue el extender el acuerdo dos años, hasta noviembre del 2009, pero por razones no relacionadas con Silverlight.[33]
Se ha criticado a Microsoft por no usar el estándar SVG (Scalable Vector Graphics) para Silverlight, lo cual, de acuerdo con Ryan Paul del sitio web 'Ars Technica', es consistente con la práctica de Microsoft de ignorar los estándares abiertos, como lo ha hecho en otros de sus productos.[34]
↑«ECIS Media Release January 26, 2007». ECIS. 2007-01-26. Consultado el 19 de octubre de 2007. «[traducido del inglés]Con XAML y OOXML Microsoft busca imponer sus propios estándares dependientes de Windows, y desplazar a los estándares existentes multi-plataforma que tienen una gran aceptación en la industria, permiten la competencia abierta y promueven la innovación impulsada por la competencia. El resultado final será que continúe la ausencia de cualquier opción verdadera para el consumidor, de años de esperar para que Microsoft haga mejoras - o incluso arreglos - a sus productos monopolizados, y, claro está, precios elevados».