El futuro incierto de Silverlight

Hace más de un año, existe un debate importante en la red acerca de la continuidad de Silverligth (SL) por parte de Microsoft y parece que no queda claro que pasará con esta tecnologia para desarrollo de aplicaciones web RIA, moviles con WinPhone7 y también “aplicaciones de escritorio” (recordaros que SL permite ejecutar y publicar aplicaciones fuera del Navegador).

El tema, es el siguiente, con la aparición y evolución de HTML5, la noticia de que Adobe abandona Flash para los navegadores móviles y que SL no esta soportado en las plataformas moviles, solo WinPhone 7.

Por eso, viene el titulo del post “el futuro incierto de Silverligth”, ha dia de hoy, todavia no hay nada oficial, pero he recopilado una serie de post y articulos que hablan del tema :

 

alt1040.com:  microsoft-silverlight-5-podria-ser-el-ultimo

igestweb: silverlight-sigue-su-camino-descendente-ahora-desaparece-moonlight

engadget: microsoft-weighs-in-the-future-of-the-web-is-html5

zdnet: microsoft-our-strategy-with-silverlight-has-shifted

blogs msdn: las-cartas-sobre-la-mesa-html5-vs-silverlight.aspx

 

Mi opinión personal, es que no desaparecerá, pero hay que tener en cuenta que será una tecnologia para aplicar en ocasiones concretas y para ciertos proyectos con unos requemientos muy claros enfocados sobre todo a usabilidad, UX, RIA, Multicast, streaming, juegos, etc.

Asi que, debereis  decidir cada uno en su caso, valorando las posibilidades, ventajas y desventajas que os podeis encontrar en vuestros proyectos.

Curso Silverlight 4 Gratis 2ª Parte

Para seguir con el tema del articulo anterior, aqui teneis la segunda parte del magnifico curso gratuito de Silverlight 4 , realizado por Rodrigo Díaz Concha y disponible en Channel9 de la MDSN de Microsoft. En este caso, también este compuesto de 12 capítulos más para aprender Silverligth 4.

Aqui teneis el temario completo:

3 – Almacenamiento Aislado

Siempre es necesario que una aplicación guarde cierto tipo de información de manera local para poder recordarla posteriormente. Tal es el caso por ejemplo de parámetros de configuración, la última búsqueda realiza, la última pantalla desplegada, y un sinnúmero de etcéteras.

Acompáñanos en este screencast en donde veremos el Almacenamiento Aislado, un sistema de archivos virtual local en donde tus aplicativos de Silverlight pueden guardar datos para extender las posibilidades de funcionalidad en ellos. El Almacenamiento Aislado es muy sencillo de utilizar y este video te demostrará cómo.

14 – Comportamientos

Muchas veces repetimos ciertas acciones en nuestras aplicaciones, por ejemplo es bastante común que un botón invoque cierta función y otro botón haga lo mismo. Los Comportamientos en Silverlight son un mecanismo para aplicar funcionalidad y características en los elementos o controles de las aplicaciones con tan solo arrastrarlos y soltarlos en el componente en cuestión. Esta característica permite que personas en un equipo de proyecto con pocos o nulos conocimientos de programación puedan efectivamente aplicar funcionalidad sin necesidad de escribir una sola línea de código. En este video se explica el concepto de los Comportamientos en Silverlight, junto con las Acciones y Disparadores los cuales en conjunto ofrecen una manera sencilla pero poderosa para construir aplicaciones.

15 – Aplicaciones Fuera del Navegador

Las aplicaciones en Silverlight ejecutan de manera predeterminada adentro de un navegador, pero no es el único modelo de ejecución que tienen ya que también pueden ser instaladas para ejecutar tal y como si fueran una aplicación de escritorio tradicional. Gracias a esta característica podemos crear aplicaciones en Silverlight que tengan accesos directos en el equipo del usuario, tengan su propia ventana y además ejecuten de manera desconectada sin necesidad de abrir primero un navegador. En este screencast aprenderás cómo crear este tipo de aplicaciones, sus ventajas y conocerás a detalle el proceso de instalación.

16 – Usando HTML en Silverlight

Para cuando necesitemos desplegar contenido HTML en nuestras aplicaciones, por ejemplo una página externa, un archivo .html, etc., contamos en Silverlight con el control WebBrowser. Este control nos brinda la oportunidad de cargar cualquier tipo de contenido HTML incluyendo Script para poder mostrarlo y utilizarlo adentro de nuestros aplicativos Silverlight cuando ejecutan afuera del navegador. En este video comprenderás el uso del control WebBrowser, sus requerimientos, métodos y propiedades. Una vez finalizado el video sabrás lo sencillo y divertido que es usar esta funcionalidad para tus proyectos.

17 – Notificaciones

¿Qué harías para comunicarle al usuario de tu aplicación algún mensaje informativo o de alerta? Tradicionalmente utilizamos un MessageBox o controles de texto en las aplicaciones pero en este video conocerás una manera más elegante e interesante: las Notificaciones. Con las Notificaciones podemos avisar al usuario acerca de algún suceso importante de la aplicación sin una intromisión en la Interface de Usuario principal del aplicativo. Además, el uso de las Notificaciones en Silverlight no es nada difícil y en este screencast comprenderás su utilización.

18 – Modelo de Actualización

Cuando una aplicación de Silverlight es instalada en el equipo del usuario, este puede utilizarla como cualquier otra aplicación de escritorio tradicional. Pero, ¿qué pasaría si quisieras desplegar a tus usuarios una nueva versión?

El Modelo de Actualización de aplicaciones fuera del navegador nos permite que las aplicaciones puedan ser actualizadas de manera automática cuando efectivamente hay una nueva versión liberada de dicho aplicativo. Esto ofrece una manera fácil y práctica de desplegar aplicaciones para evitar que los usuarios lo hicieran de manera manual. Al finalizar este video habrás comprendido el uso de este Modelo de Actualización para aplicarlo en tus propios proyectos.

19 – Instalación Silenciosa

La manera tradicional para instalar una aplicación de Silverlight para que ejecute afuera del navegador es a través del menú contextual del plugin de Silverlight o invocando el método Install() de la aplicación. No obstante, ambos mecanismos suponen una acción manual por parte del usuario. En escenarios en donde requieras que tu aplicación Silverlight 4 sea instalada automáticamente -tal vez a través de algún instalador- lo puedes hacer fácilmente usando la herramienta de ejecución de aplicaciones fuera del navegador. ¿Quieres conocer cómo? En este video comprenderás el uso de esta herramienta, sus parámetros y funcionalidad; verás lo fácil que es instalar aplicativos de Silverlight de manera automática.

20 – Confianza Elevada

Cuando tradicionalmente se comparaba a Silverlight con alguna otra tecnología de escritorio, como por ejemplo WPF, uno de los puntos más importantes para decidir por esta última tecnología a comparación de Silverlight era que con aplicaciones de WPF tienes acceso a todos los recursos del equipo del usuario. Pero ahora con el modelo de seguridad de Confianza Elevada que se ha incorporado a Silverlight 4, tus aplicativos pueden correr prácticamente casi como si fuera cualquier aplicación común de escritorio. Con esta característica se extiende la capacidad de la plataforma ya que por ejemplo, podemos acceder al sistema de archivos de la máquina del usuario, puertos USB, invocar componentes de COM, etc. Es decir, hacer cosas que en versiones anteriores de Silverlight no eran posibles. Parece ser que gracias a esto el único límite para nuestras aplicaciones de Silverlight es la imaginación.

21 – Atado de Datos

Una de las características más poderosas que tiene el lenguaje XAML es su capacidad de Enlace o Atado de Datos. Gracias a esto, podemos crear Interfaces de Usuario robustas que se actualicen correctamente y en el tiempo preciso ya que una de los objetivos del Atado de Datos es precisamente conectar o enlazar controles a sus respectivos datos que se desean mostrar, por ejemplo, un ListBox con una lista de datos, un TextBlock con el dato del elemento seleccionado de la lista, etc. Aprender a utilizar el Atado de Datos en Silverlight es el camino para construir aplicativos modernos, ahorrándote mucho código manual. En este video comprenderás los fundamentos de Atado de Datos en Silverlight y apreciarás sus bondades y la manera tan sencilla de poder usarlo.

22 – Convertidores

Complementando el concepto de Atado de Datos que vimos en un tema anterior, tenemos los Convertidores. Los Convertidores son un mecanismo para transformar los datos que se están enlazando en una operación de Atado de Datos. Gracias a los Convertidores podemos aplicar reglas de negocio o algoritmos en medio de los Atados sin necesidad de modificar la fuente de datos original. Por ejemplo, a través de Convertidores podríamos colorear de manera diferente cada elemento de una lista, dependiendo del valor de uno de los campos del registro. ¿Quieres saber cómo? Una vez finalizado el video sabrás cómo construir Convertidores y cómo utilizarlos en tus expresiones de Atado de Datos para tus aplicativos de Silverlight.

23 – Consumiendo Servicios Web

Constantemente nuestras aplicaciones requieren obtener información de una base de datos. No obstante, Silverlight no está pensado para que desde tus aplicativos te conectes de manera directa a una base de datos a través de un objeto de conexión, ejecutes una consulta, obtengas los resultados, etc. La estrategia para acceso a datos en Silverlight es el uso e invocación de Servicios Web. En este video verás lo sencillo que es invocar Servicios Web desde tus aplicaciones, cómo obtener los resultados para modelarlos de manera independiente y finalmente enlazarlos al control o controles destino para poder mostrar dicha información en la Interface de Usuario. Asimismo, durante este screencast apreciarás el uso del API de Bing para poder agregar funcionalidades de búsqueda en este motor desde tus aplicaciones.

24 – Serialización y Deserialización en JSON

Es muy común que nuestras aplicaciones requieran guardar algún tipo de información de manera local en el equipo del usuario. En el tema de Almacenamiento Aislado en este mismo curso vimos cómo utilizar este sistema de archivos virtual para poder cumplir con este requerimiento. ¿Pero qué pasa cuando los datos que deseamos guardar son complejos? Por ejemplo una lista de elementos, una colección de datos, etc. Precisamente para esto nos sirve el concepto de Serialización y Deserialización de objetos: para poder convertir los objetos a un formato que pueda ser escrito a disco y posteriormente leerlo para obtener su representación original. En este video utilizaremos la clase DataContractJsonSerializer para serializar objetos con el formato JSON, el cual es un formato para compartir datos mucho más liviano que XML.

Por ultimo, agradecer a  Rodrigo Diaz MVP MS por el trabajo realizado y publicado sobre Silverligth-4 y este magnifico curso Curso Silverlight-4.

Curso Silverlight 4 Gratis 1ª Parte

Para todos aquellos interesados en Silverlight 4, navegando por la red, he encontrado este fantástico curso gratuito de Silverlight 4 que es un buen punto de partida para empezar a introduciros en el mundo Silverligth. El curso esta compuesto de 12 videos y 1 practica, realizado por Rodrigo Díaz Concha y diponible en Channel9 de la MDSN de Microsoft.

El temario completo del curso es este:

Introducción

Introducción y Bienvenida al Curso de Introducción de Silverlight 4 creado por Rodrigo Díaz Concha, MVP de ASP.NET, fundador de La Liga Silverlight, Orador de INETA Latam y Master Instructor del Silverlight Tour para Latinoamérica y España.

  1. FundamentosUna vez instaladas las herramientas de Silverlight para Visual Studio .NET es hora de poner manos a la obra, asimismo es muy importante tener en cuenta algunos conceptos fundamentales acerca de la construcción de soluciones en esta tecnología. En este capítulo veremos conceptos fundamentales en el desarrollo de aplicaciones de Silverlight como las plantillas de Visual Studio .NET, el diseñador, el empaquetado XAP y el hospedaje en la página. Para más artículos acerca de Silverlight totalmente en español visita La Liga Silverlight: La Primera Comunidad MSDN en Español acerca de Silverlight y tecnologías relacionadas (http://blogs.LigaSilverlight.com).
  2. XamlXaml (acrónimo de Extensible Application Markup Language) es el lenguaje de marcación utilizado por Silverlight (y también por su hermano mayor WPF) para poder definir las interfaces de usuario de nuestras aplicaciones.  Toda aplicación de Silverlight implica código de Xaml ligado a código en .NET. Por esta razón en este capítulo veremos conceptos básicos acerca de Xaml, sus elementos básicos y transformaciones.
  3. AnimacionesPara darle vida a nuestras aplicaciones de Silverlight podemos hacer uso entre otras cosas de las Animaciones. Las Animaciones son un mecanismo para cambiar el valor de las propiedades de los elementos y transformaciones conforme pasa un tiempo determinado. En este capítulo describiremos de manera rápida y sencilla el uso y creación de Animaciones dentro de Silverlight.
  4. Expression BlendTodo desarrollador de Silverlight debe tener en su cinturón de herramientas Expression Blend, ya que nos ayuda de gran manera a hacer más rápido, efectivo y divertido nuestro trabajo al momento de construir soluciones con la plataforma de desarrollo Silverlight. En este capítulo apreciaremos en conjunto el uso de Expression Blend como herramienta de edición nativa de Xaml  además describiremos las opciones más importantes de la herramienta.
  5. Recursos y EstilosLos recursos son un concepto básico para poder crear aplicaciones que reutilicen elementos ya que permiten ser un almacenaje de objetos de cualquier tipo para poder reusar en cualquier parte de nuestras aplicaciones. Los estilos son elementos que podemos  guardar en el diccionario de Recursos para poder aplicarlos y lograr así una apariencia estándar en la aplicación. En este capítulo describiremos el concepto de Recursos y también describiremos la creación y utilización de Estilos para controles y elementos.
  6. Controles y PlantillasSilverlight cuenta con una gran cantidad de controles que podemos utilizar en nuestras aplicaciones y la gran mayoría soporta el cambio o modificación de su Plantilla.  En este capítulo mostraremos la manera de cómo cambiar la Plantilla en los controles básicos de Silverlight.
  7. MediaElementSilverlight ha sido utilizado como aplicación cliente en la transmisión de importantes eventos en los últimos meses: la toma de poder de Barack Obama, el Memorial de Michael Jackson, los Juegos Olímpicos de Beijing , etc. Debido a su extraordinaria calidad en la reproducción de audio y video Silverlight está siendo la plataforma favorita para sitios multimedia. En este capítulo veremos la utilización del elemento MediaElement, el cual nos permite reproducir audio y video en nuestros aplicativos y apreciaremos la manera tan sencilla de incorporar esta características en nuestras propias aplicaciones.
  8. ImpresiónUna de las características más esperadas y solicitadas por la comunidad de Silverlight es el soporte de impresión dentro de las aplicaciones, esto es, la capacidad de poder mandar a imprimir el contenido que estemos viendo en la aplicación ya sea una lista de datos de un DataGrid o ListBox o simplemente tomarle una “foto” a la pantalla y enviarla a papel o alguna de las impresoras virtuales instaladas en nuestros equipos (por ejemplo: OneNote, XPS, PDF, etc.).  Silverlight 4 incluye esta característica a través de un modelo de clases muy sencillo.En este capítulo mostraremos el uso de la clase PrintDocument para poder crear documentos de impresión a través de nuestras aplicaciones de Silverlight 4.
  9. WebcamCon la llegada de Silverlight 4 también ha llegado a nosotros la posibilidad de implementar en nuestras aplicaciones la capacidad de tomar video a través de la Webcam y capturar audio por medio del micrófono del equipo.  Este fue una de las peticiones más fuertes en Silverlight 3 y la espera ha terminado.  En este capítulo del curso veremos cómo fácilmente podemos utilizar la Webcam para poder realizar capturas de fotografías con el video.
  10. Drag and DropSilverlight 4 cuenta con soporte de arrastrar uno o varios archivos desde afuera de la aplicación hacia adentro de ella y soltarlo(s) para poder leer su información y contenido.  Esta característica nos permite como desarrolladores crear mejores Experiencias para los Usuarios ya que evitan el número de cajas de diálogo y clics para abrir o leer un archivo o conjunto de archivos. En este capítulo del curso veremos cómo aplicar esta sencilla pero poderosa funcionalidad en nuestras propias soluciones.
  11. OpenFileDialogDe manera predeterminada, Silverlight requiere el permiso explícito del usuario para poder leer el Sistema de Archivos ya que ejecuta en Confianza Parcial. La caja de diálogo OpenFileDialog nos brinda un mecanismo para permitir a los usuarios que accedan a sus archivos desde las aplicaciones con Silverlight. En este capítulo del curso describiremos el uso de la caja de diálogo OpenFileDialog para poder leer archivos del equipo del usuario.
  12. Clic DerechoTradicionalmente al hacer clic derecho sobre una aplicación de Silverlight nos muestra un menú con la opción de abrir la caja de diálogo con información del plugin (como la versión, las cuotas para el almacenamiento aislado, etc.). Ahora en Silverlight 4 podemos capturar el evento de clic derecho del mouse para crear nuestra propia Interface de Usuario y código relacionado. En este capítulo describiremos el manejo de esta característica para poder crear menús contextuales en nuestras aplicaciones de Silverlight.

Por ultimo, agradecer a  Rodrigo Diaz MVP MS por el trabajo realizado y publicado sobre Silverligth-4 y este magnifico curso Curso Silverlight-4.

Silverlight 4 for Visual Studio 2010

Seguramente, la mayoría de vosotros, ya sabeis que es Silverligth, pero para aquellos que todavia no lo conoceis, vamos a ver una rápida introducción al mundo Silverligth y ver que posibilidades nos ofrece la ultima versión publicada, Silverligth 4.

¿Qué es  Silverligth y para que sirve?

Silverlight es una tecnologia creada por Microsoft, que permite crear aplicaciones Web RIA (Rich Internet Application) de última generación (similar a lo que vemos Flash en muchas webs), donde disponemos de infinidad de funciones multimedia, reproducción de vídeos, gráficos vectoriales, animaciones e interactividad con el objetivo de ofrecer una buena experiencia de usuario.

Es compatible con Windows, Mac OS X y Linux (mediante el proyecto Moonlight), funciona con todos los navegadores actuales: Intenet Explorer, Firefox, Chrome, Safari y Opera, para ello, debemos instalar un pluging de navegador para visualizar contenidos (parecido al Flash Player), el navegador nos solicitará de instalar el pluging automaticamente, en el momento que detecte que tenemos contenidos con Silverligth en la página que estamos visitando.

Silverlight nacio a finales del año 2007 y fue publicada la primera version Silverlight 1.0 en Septiembre de 2007, aunque solo tenía soporte de programación con JavaScript, en Octubre de 2008, se lanzó Silverlight 2.0 incluyó grandes mejoras de programación. La versión de Silverlight 3.0 fue publicada en Julio del 2009 con grandes mejoras de rendimiento y en Abril de 2010 se ha presentado Silverlight 4.0 con muchas más novedades.

En definitiva, Silverlight es una tecnologia destinada al diseño de aplicaciones y animaciones web que utiliza un entorno de desarrollo llamado Microsoft Expression Studio, que también ha evolucionado y actualmente esta en su version 4.

Aqui teneis algunas webs diseñadas con Silverligth para ver unos ejemplos:
http://silverlight-tour.com
http://quiksilver-europe.es
http://www.telecinco.es/informativos
http://www.microsoft.com/expression
http://www.microsoft.com/silverlight

Silverlight 4.0

Es la última versión y fue presentada en Abril de 2010, permite integrarse con Visual Studio 2010 o con Visual Web Developer Express, mediante las Silverlight 4 Tools for Visual Studio 2010 , soporta capacidades como funciones de confiabilidad elevada, aplicaciones fuera del navegador y mas caracteristicas.

Características de la nueva versión:

* Web cam y el soporte del micrófono.
* Soporte de impresión.
* Acceso teclado mientras se ejecuta en modo de pantalla completa.
* Acceso mediante programación a la carpeta de un usuario local.
* Mejorado el soporte del ratón, botón derecho  y  soporte de la rueda.
* Apoyar programas locales Modelo de objetos componentes (COM).
* Nuevo soporte para mensajes de notificación a los usuarios finales.
* Nuevas y mejoradas, como los controles de un RichTextBox y un mayor control DataGrid.
* Nuevo soporte para la tematización implícita de los controles.
* Nueva sede del navegador soporte para convertir HTML dentro de Silverlight.
* Datos WCF mejoras capa.
* Localización de las mejoras con texto bidireccional.
* Apoyo a la Marco extensibilidad Gestionado.
* soporte de datos mejorada vinculante.
* Mejora de los efectos de animación.
* Portapapeles y arrastrar y soltar.
* Deep Zoom mejoras de rendimiento.
* Multi-touch apoyo.
* WCF Rich Internet Application (RIA) Servicios
* Protección de contenido para H.264
* Soporte para jugar en línea con protección DRM

Soporte multitáctil – Multitouch

Una de las grandes novedades que tiene Windows 7, es el soporte para pantallas multitáctiles. Esto significa no solo poder controlar la superficie de la pantalla como se podia en versiones anteriores de Silverlight, pudiendo describir trazos con el puntero, etc. Sino que con el soporte multitáctil podemos detectar varios puntos concurrentes sobre nuestra interfaz y controlar los gestos.

Además también podríamos controlar varios usuarios (o manos) trabajando sobre la misma aplicación. Este es un gran punto de pontencial ya que es una tendencia que poca gente está explotando y que Windows 7 y los productos relacionados de Microsoft (Surface, Silverlight, WPF, etc.) nos proporcionan todas los recursos necesarios para crear este tipo de experiencias.

Aqui teneis la guia oficial, Getting Started with Silverlight 4 para empezar a introducirse en el mundo de Silverlight 4.