¿QuĂ© es Silverlight?
Silverlight es una tecnologĂa que nos permite crear Aplicaciones Enriquecidas para Internet o RIA por sus siglas en inglĂ©s (Rich Internet Applications). Con Silverlight podemos construir aplicaciones que van desde pequeños componentes dentro de una página Web hasta sofisticadas Aplicaciones de Negocio que estĂ©n consumiendo y presentando datos de alguna base de datos, pasando por juegos casuales, reproductores de multimedios, Gadgets para Windows Vista o 7, y un largo etcĂ©tera.
Incluso despuĂ©s de más de 3 años de haber sido liberada al pĂşblico en general su primera versiĂłn, aĂşn existen muchas confusiones y malinterpretaciones acerca de esta tecnologĂa. Primeramente, tenemos que decir que Silverlight es una tecnologĂa multi-navegador, esto es, es capaz de ejecutar adentro de los navegadores más comunes disponibles hoy en dĂa: Internet Explorer, FireFox, Chrome y Safari.
Por otro lado, Silverlight es una tecnologĂa Multi-Plataforma, esto es, es capaz de ejecutar en los principales Sistemas Operativos disponibles hoy en dĂa: Windows, Mac OSX y Linux (a travĂ©s de Moonlight, proyecto que es llevado a cabo por la empresa Novell y que es la implementaciĂłn de Silverlight para ese Sistema Operativo).
Silverlight, a diferencia de otras tecnologĂas Web del lado del Servidor (por ejemplo: ASP.NET, PHP, etc.), es una tecnologĂa del lado del Cliente, es decir, todo el cĂłmputo y ejecuciĂłn de las aplicaciones sucede en el equipo del usuario, tal y como si se tratase de cualquier tipo de aplicaciĂłn instalada. Esto es una gran ventaja ya que Silverlight puede sacar provecho de las caracterĂsticas de procesamiento del hardware en donde está instalado.
Silverlight, a diferencia de otras tecnologĂas Web del lado del Servidor (por ejemplo: ASP.NET, PHP, etc.), es una tecnologĂa del lado del Cliente, es decir, todo el cĂłmputo y ejecuciĂłn de las aplicaciones sucede en el equipo del usuario, tal y como si se tratase de cualquier tipo de aplicaciĂłn instalada. Esto es una gran ventaja ya que Silverlight puede sacar provecho de las caracterĂsticas de procesamiento del hardware en donde está instalado.
Silverlight es un plugin que ofrece una experiencia de instalación muy similar a cualquier otro plugin para los navegadores. En el caso de la versión 5 (que es la versión más nueva disponible al momento de estar escribiendo esto) tiene un tamaño aproximado de 7 MB para el caso del Sistema Operativo Windows.
Durante el lanzamiento de Silverlight 4 en Abril 2010, se anunció que próximamente las aplicaciones de Silverlight podrán ejecutar en electrónicos de uso común en nuestros hogares, como televisores, reproductores de DVD, reproductores de Blu-Ray y cajas decodificadoras de cable para la TV. Asimismo, Silverlight es una de las plataformas de desarrollo para la nueva versión del Sistema Operativo móvil de Microsoft: Windows Phone 7. En conjunto con XNA como plataforma para la construcción de juegos 2D / 3D, Silverlight ofrece a los desarrolladores de Aplicaciones móviles una plataforma robusta, fácil de aprender y con una oferta de herramientas con alta funcionalidad.
Con lo anterior podemos deducir que Silverlight es una gran apuesta para ser una tecnologĂa que sea capaz de ejecutar de la misma manera, en diferentes lugares: en los tres tipos de pantalla más comunes en la vida de las personas hoy en dĂa (equipos de cĂłmputo tradicionales como PC’s o Laptops, Televisores y telĂ©fonos mĂłviles). Un mismo cĂłdigo ejecutando en diferentes dispositivos, con diferentes resoluciones, con caracterĂsticas de hardware diferente. Es de gran importancia esto ya que los desarrolladores podrán reutilizar sus conocimientos existentes en tecnologĂa .NET para poder construir soluciones que lleguen a más personas y en lugares donde antes esto no era posible.
Se presume que el nuevo dashboard de Xbox liberado en noviembre 2011 incluye Silverlight como la plataforma de desarrollo para sus aplicaciones. Sin embargo, aĂşn no hay documentaciĂłn tĂ©cnica oficial al dĂa de hoy que hable acerca de ello.
- http://www.istartedsomething.com/20111206/the-future-of-xbox-is-apps-on-your-tv/
- http://www.engadget.com/2011/10/10/microsoft-reportedly-preparing-silverlight-like-app-framework-ah/
Silverlight y HTML
El propĂłsito de Silverlight nunca ha sido reemplazar HTML como tecnologĂa de presentaciĂłn de Interfaces de Usuario, sino complementarla con caracterĂsticas y funcionalidades que no están disponibles en dicha tecnologĂa. Si bien HTML es un estándar que pretende ser implementado de manera Ăşnica y consistente en todos los navegadores disponibles hoy en dĂa, esto en la práctica ha sido, es y será un proceso lento ya que podemos destacar una falta de quĂłrum entre las principales empresas que respaldan sus navegadores, quienes (paradĂłjicamente) implementan las especificaciones de estándares de manera diferente. Además si hablamos en tĂ©rminos de funcionalidad, Silverlight ofrece más y mejores caracterĂsticas.
Otras consideraciones importantes son:
Rendimiento
El rendimiento de las Aplicaciones de Silverlight es superior gracias a que el código ejecuta bajo el Common Language Runtime (CLR), además de que cuenta con múltiples hilos de ejecución.
Consistencia
Silverlight se asegura de renderizar las Aplicaciones de manera consistente en cualquier lugar donde esté ejecutando
Tiempo
El tiempo de innovaciĂłn es un punto muy importante ya que la evoluciĂłn de la funcionalidad y caracterĂsticas en las versiones futuras de Silverlight sucederán en un lapso de tiempo muy corto, a comparaciĂłn de las especificaciones de estándares como HTML.
Para mayor informaciĂłn puedes consultar el siguiente artĂculo de Brad Becker, Director de AdministraciĂłn de Productos, Plataformas de Desarrollo:http://team.silverlight.net/announcement/the-future-of-silverlight/
Silverlight y el .NET Framework
Una caracterĂstica muy importante acerca de Silverlight es que no requiere del .NET Framework tanto del lado del Cliente como del lado del Servidor. Del lado del Cliente es obvio ya que es precisamente a esto que podemos ejecutar aplicativos de Silverlight en Sistemas Operativos que no sean Microsoft Windows. Y más aĂşn, tambiĂ©n es independiente del .NET Framework del lado del Servidor: no es necesario tener instalado Internet Information Services (IIS) en nuestro Servidor Web, tambiĂ©n puede ser Apache, Tomcat, etc.
Silverlight y Windows 8
Durante el primer keynote del evento //Build/ que se llevĂł a cabo del 13 al 16 de Septiembre en Anaheim, CA., se mostrĂł al mundo entero la plataforma de desarrollo de aplicaciones en el prĂłximo Sistema Operativo de Microsoft: Windows 8. En Windows 8 habrá dos categorĂas de aplicaciones: Aplicaciones Metro, las cuales están enfocadas a dispositivos táctiles como tablets y Aplicaciones de Escritorio, las cuales son las aplicaciones de ventanas que todos conocemos con mecanismos de entrada tradicional de teclado y mouse, por ejemplo, Aplicaciones de Negocio (LOB por sus siglas en inglĂ©s), Aplicaciones de tipo OLTP, Herramientas, etc.
La plataforma de desarrollo para las Aplicaciones de Escritorio está basada en .NET ySilverlight, tal y como sucede hoy en dĂa, por lo que no hay ningĂşn tipo de cambio con respecto a las aplicaciones actuales.
Por otro lado, la plataforma de desarrollo para las Aplicaciones Metro está basada en Windows Runtime (WinRT, un API orientada a objetos alterna a Win32) y XAML o HTML. El motor de interpretaciĂłn de XAML ha sido incorporado al core del Sistema Operativo ¡por lo que ahora más que nunca es muy importante conocer y dominar este importante lenguaje!
Como podrás observar en la ilustraciĂłn anterior, en Windows 8 el .NET Framework y Silverlight siguen siendo las plataformas principales para la creaciĂłn de Aplicaciones de Escritorio, ya que si bien es importante un soporte nativo a los dispositivos con pantallas táctiles, hay muchos escenarios en donde no hace sentido tener una aplicaciĂłn de este estilo, por lo que las Aplicaciones de Escritorio seguirán siendo la principal categorĂa durante muchos años por venir.