Silverlight 2: directamente desde el navegador

Utilizar los navegadores web como plataforma de ejecución de aplicaciones es una tendencia al alza en los últimos años, debido principalmente a la gran difusión de las redes de datos hacia todos los ámbitos y a las ventajas en cuanto a la distribución y uso de este tipo de software

Silverlight 2: directamente desde el navegador

24 abril 2009

Las aplicaciones web no requieren instalación en el equipo de los clientes finales ni tampoco precisan de actualizaciones, ya que, cada vez que el usuario accede a ellas, obtiene la última versión existente en el servidor. La ventaja fundamental estriba en que, por regla general, estos programas pueden ser utilizados desde cualquier sistema informático con independencia del hardware y software.

 

No todo es, sin embargo, color de rosa. Para alcanzar esa independencia o compatibilidad con distintos sistemas operativos y navegadores hay que seguir una serie de directrices consistentes básicamente en dividir las aplicaciones en dos bloques: una que contendría toda la lógica y se ejecutaría en el servidor, y otra que sería exclusivamente una interfaz de usuario compuesta de XHTML/CSS y que sería la ejecutada en el cliente, en el navegador.

 

Esa estructura implica que la funcionalidad de la interfaz de usuario estará seriamente limitada, al no poder más que presentar una serie de elementos en una ventana, tras efectuar una solicitud o recoger información mediante formularios y enviarla al servidor, dejando que éste se ocupe de todo el trabajo. Para mejorar el comportamiento de las interfaces de usuario e incorporar una mayor funcionalidad en el cliente, es posible recurrir a técnicas como AJAX, en las que se hace un uso intensivo de JavaScript.

 

Complementos para navegadores

Los navegadores son programas especializados en la presentación de información descrita mediante XHTML/CSS, si bien casi todos ellos incorporan un motor JavaScript y siguen el modelo de objetos DOM (Document Object Model), lo cual posibilita la existencia del antiguo DHTML (Dynamic HTML) y el más moderno AJAX.

 

En cuanto se requieren funciones adicionales, que hagan más flexible la comunicación con el usuario y permitan aprovechar en mayor medida los recursos de la máquina en que se ejecuta la interfaz, es necesario recurrir a componentes externos: los complementos.

 

En un documento XHTML es posible incluir las indicaciones necesarias para ejecutar un cierto contenido con un complemento determinado e, incluso, descargarlo si éste no estuviese ya instalado en el navegador. Es un proceso casi transparente para el usuario, ya que el tamaño reducido de los complementos facilita su rápida transferencia y configuración en el sistema de destino. Éste es el mecanismo que utilizan los applets Java (que precisan la máquina virtual Java), el contenido creado con Adobe Flash (dependiente del Flash Player) y también es la opción utilizada por Microsoft con Silverlight.

 

Centrándonos en los complementos cuya finalidad es aportar un motor de ejecución de aplicaciones dentro del navegador, lo que diferencia a unos de otros es su disponibilidad, que afectará a los usuarios que quieran utilizarlo, y la diversidad y calidad de los servicios que ofrezcan a los desarrolladores, las personas que crearán software para dichos complementos.

 

Silverlight 2 es un complemento de poco más de 4 megabytes, por lo que en la mayoría de los casos se descargará en pocos segundos, estando disponible para sistemas Windows y Mac OS X. Es compatible con Internet Explorer, Mozilla Firefox, Apple Safari y Google Chrome, entre otros. Por el momento, no existe una versión para GNU/Linux de manos de Microsoft, aunque sí procedente del proyecto Mono denominada Moonlight.

 

La disponibilidad de Silverlight es, por lo tanto, comparable a la de otros complementos de la misma categoría, lo cual otorga a los usuarios de las aplicaciones una libertad prácticamente total en cuanto al sistema informático que utilizarán para acceder a ellas.

 

La elección, por parte del desarrollador, de un producto determinado para crear aplicaciones que se ejecuten en un navegador estará, en consecuencia, más influida por los servicios que proporcione y las herramientas que haya para realizar su trabajo.

 

Servicios que proporciona

Siendo simplistas, podría decirse que Silverlight 2 es una versión reducida y portable de la plataforma .NET diseñada para que funcione en el interior de un navegador. Hay que mencionar el hecho de que no es necesario tener instalada ésta en los equipos de los usuarios para que funcione.

 

Silverlight 2, el complemento que se descarga e instala una sola vez cuando el navegador accede por primera vez a un sitio con contenido diseñado para éste, incluye todo lo necesario, facilitando la reproducción de vídeo de alta calidad y la ejecución de aplicaciones.

 

La biblioteca básica de servicios .NET aporta a los programas funciones de entrada/salida, acceso a datos, posibilidad de usar múltiples hilos de ejecución, integración con JavaScript y XML para simplificar la construcción de interfaces tipo AJAX, etc.

 

Además, existe un paquete de componentes prefabricados que permiten crear GUIs muy avanzadas y flexibles, con elementos como las vistas en árbol, rejillas de datos, calendarios, etc., aparte de los clásicos botones, cajas de texto y similares.

 

Gracias a la incorporación de WPF (Windows Presentation Foundation), las aplicaciones Silverlight pueden generar con XAML composiciones gráficas complejas, animaciones y todo tipo de transformaciones: traslaciones, rotaciones y escalados. También se contemplan mecánicas para la distribución automática de contenidos, aplicación de skins a las interfaces, reutilización de plantillas de diseño, etc.

 

Aquellas aplicaciones que necesiten comunicarse con el exterior, por ejemplo para obtener contenidos de manera dinámica, tienen a su disposición los servicios apropiados para hacerlo mediante HTTP, RSS, REST y SOAP, de forma que es posible desde enviar una solicitud a un servidor web para que ejecute un CGI hasta acceder a servicios web remotos.

 

Silverlight 2 incluye los códecs necesarios para reproducir vídeo de alta calidad, ya sea en modo streaming, a partir de una emisión en directo, o bien bajo demanda, incluyendo funciones de búsqueda y descarga progresiva. Una nueva función, denominada Deep zoom, facilita la navegación por imágenes de muy alta resolución, con un mecanismo similar al que utiliza, por ejemplo, Google Maps.

 

Cómo crear aplicaciones Silverlight

La disponibilidad de los servicios que acaban de mencionarse permitirá ejecutar desde un navegador cualquier aplicación realmente potente y flexible. Cabe preguntarse, no obstante, cómo se construyen.

 

Un aspecto que diferencia claramente a Silverlight de otros complementos similares es que no obliga al desarrollador a utilizar un lenguaje de programación concreto, más bien al contrario, le otorga libertad para elegir entre un amplio abanico en el que se encuentran Visual Basic, C#, Python, Ruby y, por supuesto, JavaScript.

 

No es absolutamente necesario escribir en JavaScript el código que se ejecutará en el navegador del cliente, como ocurre con AJAX, sino que también pueden emplearse lenguajes como los citados Python y Ruby, dando lugar a aplicaciones APAX (Asynchronous Python and XML) y ARAX (Asynchronous Ruby and XML), respectivamente.

 

Todos los elementos que se precisan para escribir aplicaciones Silverlight están contenidos en el Kit de desarrollo de software de Microsoft Silverlight 2 disponible en múltiples idiomas de manera gratuita. Puede descargarse desde www.microsoft.com/downloads/details.aspx?displaylang=es&FamilyID=8d933343-038f-499c-986c-c3c7e87a60b3 e incluye documentación, bibliotecas para la parte cliente y el servidor y las herramientas necesarias para la generación y empaquetado de las aplicaciones.

 

Este SDK puede complementarse con Silverlight Toolkit, un paquete en el que se incluye una colección de componentes adicionales, temas visuales aplicables a las interfaces de usuario y herramientas para la representación gráfica de datos en el cliente. Disponible en www.codeplex.com/Silverlight, incluye el código fuente de todos los elementos, por lo que, además, es un recurso útil para el aprendizaje.

 

En lugar del SDK, que representa la herramienta de más bajo nivel para la creación de aplicaciones Silverlight, siempre es posible recurrir a entornos más avanzados que faciliten el diseño y desarrollo.

 

Resumiendo

Con Silverlight 2, Microsoft da un paso más en la dirección correcta para ganar terreno en un campo, el de las aplicaciones que se ejecutan dentro de un navegador web, que va incrementando su peso.

 

El complemento está disponible para una gran mayoría de los usuarios, al ser multiplataforma y multinavegador, lo que asegura que las aplicaciones podrán ser ejecutadas sin problemas.

 

La disponibilidad de un gran número de herramientas de diseño y desarrollo, y el esfuerzo puesto en ampliar la oferta de terceros, garantiza a los programadores de este tipo de aplicaciones que podrán realizar su trabajo sin depender de un fabricante, lenguaje o producto.

 

Herramientas de diseño y desarrollo

Por muy sofisticada que sea una tecnología o un producto, su utilidad será discutible si no existen herramientas para aprovecharla. En este sentido, Microsoft ha realizado un gran esfuerzo con Silverlight 2. La herramienta de desarrollo por excelencia es Visual Studio y, como no podía ser de otra manera, la presentación de Silverlight 2 vino acompañada del paquete de extensiones para este entorno llamado Silverlight Tools for Visual Studio 2008 SP1. Una vez instalado, será posible crear desde Visual Studio proyectos Silverlight 2 usando Visual Basic y Visual C#, así como IronRuby o IronPython si se tienen instalados estos lenguajes previamente.

 

En la creación de aplicaciones, también tienen un papel fundamental los diseñadores, especialistas en crear interfaces de usuario aprovechando los recursos que pone a su alcance XAML. A ellos va dirigido el paquete Expression Blend 2 Service Pack 1, cuya función es ampliar las posibilidades de esta herramienta para hacer posible la creación de aplicaciones Silverlight 2.

 

Tanto Visual Studio 2008 como Expression Blend 2 son productos que tienen un coste de adquisición, pero Microsoft ha pensado en aquellos programadores de carácter menos profesional y les ofrece un conjunto similar de elementos que se agregan a Visual Web Developer 2008 Express Edition. Éste es un entorno de desarrollo web gratuito (se puede descargar en www.microsoft.com/express/vwd), que hace posible crear aplicaciones Silverlight.

 

Todas estas opciones de diseño y desarrollo están pensadas para utilizarse sobre Windows; pero, ¿qué ocurre con aquellos que prefieren usar otros entornos? A ellos va dirigido el complemento Eclipse Tools for Silverlight, un proyecto de código abierto promovido por Microsoft y que permitirá crear aplicaciones Silverlight 2 desde Eclipse, obviamente guardando una compatibilidad total con los proyectos que se creen mediante Visual Studio, Expression Blend o Web Developer. Ya hay disponible una versión preliminar en www.eclipse4sl.org, esperándose la edición definitiva en primavera.

 

Otro movimiento en la misma dirección, con la intención de que otros fabricantes faciliten herramientas propias para el desarrollo de aplicaciones Silverlight, es la publicación por parte de Microsoft de la especificación XAML como OSM (Open Specification Promise). El objetivo final es que Silverlight 2 esté respaldado por un amplia comunidad de productos de todo tipo. 

 

 

Silverlight 2.0

Temas Relacionados
Loading...