sábado, 17 de marzo de 2012

Fundamentos de Sirverlight

¿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). Al momento de estar escribiendo este documento, Moonlight no tiene paridad 1 a 1 con las características de Silverlight 4. Para mayor información puedes consultar el roadmap de Moonlight en http://www.mono-project.com/MoonlightRoadmapSilverlight, 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.(Actualización del 20 de diciembre 2011)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 HTMLEl 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:RendimientoEl 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.ConsistenciaSilverlight se asegura de renderizar las Aplicaciones de manera consistente en cualquier lugar donde esté ejecutandoTiempoEl 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 FrameworkUna 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.(Actualización del 16 de septiembre 2011)Silverlight y Windows 8Durante 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 y Silverlight, 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.

No hay comentarios:

Publicar un comentario en la entrada