¿Qué es Silverlight?
Silverlight es la apuesta de Microsoft en el entorno de presentación Web. Se presenta como una tecnología multiplataforma, que se puede ejecutar tanto en diferentes sistemas operativos (Windows, MacOS, y próximamente Linux), como en diversos navegadores (IE, Firefox, Safari…).
Silverlight está diseñado para trasladar al entorno Web la experiencia de usuario que nos ofrece la tecnología Windows Presentation Foundation (WPF).
La Web 2.0 se caracteriza por encontrar cada vez mas aplicaciones ricas en contenido, llamadas RIA’s (Rich Internet Application). Microsoft ha concebido Silverlight con la idea de poder desarrollar estas aplicaciones de una manera sencilla, eliminando las barreras entre los diferentes perfiles que intervienen en dicho desarrollo.
La tecnología de Silverlight
Silverlight se basa en un lenguaje denominado XAML (eXtensible Application Markup Language). XAML es un lenguaje declarativo basado en XML, que permite presentar interfaces de usuario con una alta riqueza visual.
El motor de Silverlight es completamente independiente, y no precisa de terceros (como Media Player) para reproducir contenido multimedia. Silverlight se instala como un complemento del explorador que lee y representa en pantalla los archivos XAML.
Microsoft cuenta con la Suite “Expression Studio”. En el paquete de aplicaciones podemos encontrar herramientas dirigidas fundamentalmente a diseñadores e ingenieros de experiencia de usuario. Podemos encontrar programas como Expression Design, herramienta de creación de gráficos vectoriales. Blend permite añadir animaciones y comportamientos a los gráficos, y Expression Media Encoder permite trabajar con vídeos para generar un archivo de salida compatible con Silverlight. Todas estas aplicaciones generan archivos XAML, que posteriormente serán interpretados por el motor de Silverlight instalado en el navegador.
En el lado del desarrollador, Microsoft ofrece soporte a Silverlight en Visual Studio 2008, y en Visual Studio 2005 mediante la instalación de un pequeño complemento.
Las ventajas frente a la competencia.
Tradicionalmente, el flujo de trabajo en una empresa de desarrollo donde intervienen diseñadores y desarrolladores, no ha sido nunca lo satisfactorio que debería ser. Cuando se tiene que implementar una aplicación que posee una interfaz rica en contenidos multimedia, los diseñadores trabajan por un lado y los desarrolladores por otro. Cuando se tiene que modificar algo del diseño o de la funcionalidad, llegar a un acuerdo por parte de ambos se vuelve una tarea complicada.
No debemos pensar en Silverlight sólo como una tecnología cliente pensada para incrustar contenido enriquecido en la Web. Para esto ya tenemos herramientas como Flash, java o controles ActiveX. Silverlight permite desarrollar aplicaciones que interactúan fácilmente con servidores Back-End. Esto es posible gracias a la separación de la capa de presentación de la Interfaz de Usuario (XAML) y la capa de programación (Javascript, plataforma .NET…)
Una de las ventajas que aporta Silverlight al desarrollo de aplicaciones Web ricas (RIAs) es que la barrera diseñador-desarrollador tiende a desaparecer. Un diseñador puede elaborar un documento XAML que contenga gráficos, animaciones y escalas de tiempo y un desarrollador puede adjuntarlos al código de una página para implementar la funcionalidad. Una vez completado el vínculo, un cambio requerido por alguna de las dos partes se realiza de forma muy sencilla y sin afectar al flujo de trabajo del otro.
Otra gran ventaja que ofrece la tecnología de Microsoft frente a otros motores de presentación de contenidos multimedia como puede ser Flash, es que el documento XAML que descarga Silverlight para interpretarlo es un archivo de texto, por lo que no interfiere con Firewalls i permite una correcta indexación de todo el contenido por los motores de búsqueda como Google.
La mayor ventaja frente la competencia es que Silverlight tiene la flexibilidad de estar concebido sobre un entorno de programación y desarrollo tan potente como es la plataforma .NET. Soporta un modelo flexible de programación que sus competidores no tienen. Esto permite desarrollar aplicaciones híbridas en AJAX, C#, Visual Basic .NET, Phyton y Ruby. También se adapta con aplicaciones JavaScript y XHTML. Para el acceso a datos cuenta con el soporte, entre otros, de RSS, REST, POX y JSON.
Conclusión.
Silverlight se ha presentado en un momento en que este tipo de motores de presentación tienen unas tecnologías con una consolidación muy fuerte en el mercado, como Flash de Adobe o los applets de Java. El entorno de programación basado en .NET y el lenguaje XAML sobre los que se apoya la nueva creación de Microsoft hace que sea una opción a tener muy en cuenta por las grandes ventajas que hemos visto.
Microsoft ha hecho una apuesta a largo plazo con su plugin, y su constante desarrollo hace que le sea muy sencillo adaptarse a los nuevos requerimientos tecnológicos que puedan surgir.
Enlaces de interés:
Victor Pernias
Miembro de techdencias.net