Arranquemos con Silverlight

AtenciónACTUALIZACIÓN: Corrección acerca de la relación entre Microsoft Silverlight y Apple iOS

Ya llevamos unos cuantos años con esta tecnología, que si bien para muchos no “revolucionó” la web (ya existía Adobe Flash, para qué otra plataforma que nos permitiera hacer botoncitos bonitos y banners animados?), para muchos otros trajo consigo muchas mejoras en cuanto a su uso principalmente para aplicaciones de “Línea de negocio”, pero también en cuanto a animaciones, distribución de contenidos multimedia y mucho más ahora que se asoma su 5ª versión anunciada por Scott Guthrie en el Silverlight Firestarter 2010.

Y que es Silverlight?

SilverlightLogoNameBlack

Al tratar de definir a Silverlight a muchos se nos viene a la cabeza Adobe Flash Player, pero esta comparación solo la podríamos hacer para decir que Silverlight se ejecuta en el navegador* cliente  mediante un Plug-in (complemento, o extensión), así como Adobe Flash.

* Más adelante veremos que Silverlight va más allá del navegador.

Modelo de interacción con aplicaciones silverlightCuando se accede a una aplicación Silverlight a través de un navegador web, se accede a una página en HTML que hace referencia a un archivo “*.XAP” (paquete que contiene nuestra aplicación en Silverlight), este archivo .xap se descarga en el navegador, el cual para su ejecución utiliza el plug-in de Silverlight.

Pero esta “Similitud” solo llega hasta ahí! Sus diferencias nacen de raíz, su concepto sobre aplicaciones de internet, en cómo trabaja su CORE y sobre que plataforma está soportando para llevar estas aplicaciones al usuario final marcan la diferencia.

Para adentrarnos más en su definición debemos conocer sus orígenes, y para eso nos tenemos que remontar a aquel lanzamiento de la 3ª Versión de la plataforma .NET que trajo consigo Windows Presentation Foundation (WPF) (entre otras adiciones y mejoras desde su versión anterior).

Windows Presentation Foundation

.NET Windows Presentation Foundation“Es un sistema de presentación para crear aplicaciones cliente de Windows que proporcionen una experiencia impactante para el usuario desde el punto de vista visual” llevando este concepto a la realidad gracias a su motor de representación basado en vectores y utilizando programación declarativa gracias al lenguaje XAML.

XAML

XAMLeXtensible Application Markup Language, este es un lenguaje declarativo basado en XML que se utiliza para la descripción de interfaces graficas de usuario. Es mucho más sencillo utilizar este lenguaje ya que gracias a su descendencia del XML, nos permite representar fielmente la relación e interacción de los diferentes objetos visuales y recursos multimedia que intervienen en la interfaz gráfica presentada al usuario.

Entonces, tenemos que WPF, utilizando como CORE al .NET Framework, agrega un motor de representación vectorial que utiliza a plenitud las características de Direct3D y además un nuevo lenguaje para describir interfaces de alta complejidad que incluyan no solo controles de usuario, sino también animaciones, imágenes, sonidos, etc.

Pero que tiene que ver WPF con Silverlight?

Después del lanzamiento de WPF, no demoraron en querer que la plataforma .NET y los nuevos componentes para hacer interfaces más atractivas fueran a “Todas partes” (Everywhere). Así es como nace el concepto de WPF/E (Windows Presentation Foundation/Everywhere) que luego es llamado como lo conocemos actualmente “Silverlight”.

Ahora empezamos a ver el panorama que tiene Silverlight para las aplicaciones enriquecidas sobre Internet (RIA, Rich Internet Applications), yendo más allá de ser una plataforma para permitirnos crear menús con animaciones, botones destellantes o anuncios publicitarios.

El potencial que tiene Silverlight es su corazón, la plataforma .NET, dándonos a los desarrolladores las herramientas necesarias para producir aplicaciones escalables, estables, robustas, de alta calidad, utilizando diferentes lenguajes de programación (para la lógica de negocios, la interfaz se declara con XAML) como lo son C# y Visual Basic.NET (entre otros muchos que cumplen con el CLS, Common Language Specifications) y a través de la suite de desarrollo Visual Studio 2010 (también 2008) desde las versiones gratuitas (Visual Web Developer) hasta la versión Ultimate (que nos permite controlar todo el ciclo de vida de la aplicación).

Que tan “Everywhere” es Silverlight?

– Una de las primeras inquietudes, es si “es necesario tener la plataforma .NET instalada para luego poder instalar el Plug-in de Silverlight?” NO. El plug-in de Silverlight es independiente a la instalación de la plataforma .NET, trae su propio CLR (Common Language Runtime) para ejecutar las aplicaciones independientemente, realizando sandboxing

– La otra inquietud que es muy frecuente, es acerca de la portabilidad de Silverlight en otros navegadores y sistemas operativos.

SI (Parcial):

Windows: Implementación de Silverlight para Windows (XP/Vista/7) esta soportado por los navegadores mas usados: Firefox, Chrome, IE, Opera y Safari.

Mac OS: Actualmente disponible a través de la Apple Store (Apple Safari 3 o Firefox 2 o ultima versión de Safari 4)

Linux: TAMBIEN! a través del proyecto Mono, con el apoyo de Microsoft, el plug-in para Linux es llamado Moonlight, aunque actualmente no posee todas las características (Moonlight Roadmap) de la implementación oficial de Silverlight, pero su implementación es bastante respetable.

Si bien dijimos que es parcial, cuenta con una implementación para los sistemas operativos y navegadores más usados.

Por ultimo, complementemos esa definición de Silverlight como “Everywhere” con una de las características que nos trajo la versión 3.0 de Silverlight y el futuro de esta plataforma.

Más allá del navegador!… también en el Escritorio

Al inicio Silverlight (en sus versiones 1.0 y 2.0) estaba “atado al navegador”, es decir, para poder acceder a una aplicación Silverlight debíamos abrir nuestro navegador. La versión 3.0 llego con una nueva característica llamada “Out of Browser” que nos da la posibilidad de que esas aplicaciones puedan ser accedidas directamente desde el escritorio, sin necesidad de abrir el navegador.

Más allá del navegador!… también en otros dispositivos

Pero, no solo esta característica hace que Silverlight sea “Everywhere”, la misma arquitectura y concepto con la que se concibió esta plataforma ha permitido llevarla a otros Dispositivos como:

Windows Phone 7 Actualmente la plataforma para desarrollar aplicaciones para Windows Phone 7 es Silverlight, si quieres empezar a aprender a desarrollar para WP7 te recomiendo: Comenzando a desarrollar sobre Windows Phone 7
Symbian OS Actualmente se encuentra disponible para celulares Nokia S60. Pueden encontrarlo en la tienda OVI.
Apple iOS Microsoft no ha anunciado oficialmente la compatibilidad de Silverlight con iOS, en foros y blogs especializados comentan que este puede ser un futuro anuncio pero no hay nada confirmado aun. Dentro Silverlight Firestart 2010 (The Roadmap for Media with Silverlight) se anunció el IIS Media Services v4.0 el cual permite realizar Streaming sobre HTTP compatible con iOS.

Y la lista seguirá creciendo!

Conclusión

Silverlight se ha convertido en una propuesta seria para aplicaciones enriquecidas y  gracias a su construcción sobre la plataforma .NET hace que la adopción de la misma dentro de la línea de negocios de una empresa sea mucho más transparente. Además, su arquitectura lista para diferentes navegadores, sistemas operativos y dispositivos, permite una distribución pareja de nuestras aplicaciones. Esto ha llevado a que su adopción continúe en crecimiento, llegando en la actualidad a un 65% solo de sitios en internet que utilizan Silverlight para distribuir contenidos (información, imágenes, video, etc.), esto sin contar el numero de aplicaciones desarrolladas para dispositivos específicos como Windows Phone 7, la cual ya sobrepasa las 5000 aplicaciones, y los demás dispositivos en los que esta presente esta plataforma.

El aprendizaje es muy sencillo, si conoces algo acerca de desarrollo sobre .NET, sabes acerca de XML, ya esta! puedes crear en unos pocos pasos tu primera aplicación Silverlight!

Comparte tu opinión!

  • Qué aplicaciones conoces que están hechas en Silverlight?
  • Haz desarrollado alguna aplicación sobre esta plataforma?
  • Qué piensas acerca del papel de Silverlight en el mundo de aplicaciones?

Licencia Creative Commons
Este contenido, a excepción del contenido de terceros y de que se indique lo contrario, se encuentra bajo una Licencia Creative Commons Attribution 2.5 Colombia Licencia.


Moder.UI-designed by Little Wolf.