Silverlight Tour Workshop – Puebla

Estás listo para aprender Silverlight 3?

Ya estamos a pocas semanas de impartir el Silverlight Tour Workshop en Español en la ciudad de Puebla en México.  El registro sigue abierto y todavía quedan algunos lugares así que !inscríbete ya!

Además, como había comentado en un post anterior; el Silverlight Tour a partir de Abril será actualizado a los nuevos bits de Silverlight 3 Beta anunciados en el Mix09:  El SLT de Puebla será el primer entrenamiento en español con esta nueva etapa!

Foto original tomada de http://mx.geocities.com/paseopormexico/imagenes/pu4.jpg

El Silverlight Tour Workshop es un curso de tres días completamente en Español y de alta profundidad técnica acerca de Silverlight 2 y 3. Incluye los comos y por qués de XAML, el hospedaje en el navegador, el puente HTML, las herramientas, el uso de Silverlight en el servidor y las nuevas características de Silverlight 3 Beta.  El curso utiliza Silverlight 2 y 3 así como las últimas herramientas tecnológicas de Microsoft (incluyendo Visual Studio .NET 2008 y Expression Blend).

Los esperamos!

Evento de La Liga Silverlight y la Comunidad Puebla .NET

Sé de las primeras personas en conocer Silverlight 3…


Foto original tomada de http://mx.geocities.com/paseopormexico/imagenes/pu4.jpg

Tengo el gusto de invitarles a una reunión que tendremos La Liga Silverlight y la Comunidad Puebla .NET en la ciudad de Puebla, Pue. el próximo 30 de abril.

Agradezco la invitación de mi buen amigo Miguel Muñoz, líder de la comunidad Puebla.NET y MVP para la realización de este evento en donde los asistentes podrán apreciar cómo Silverlight es una magnífica opción para la construcción de aplicaciones RIA y además podrán conocer algunas de las nuevas características y funcionalidades de la nueva versión de esta tecnología:  Silverlight 3!

Estás interesado en conocer qué es Silverlight y saber qué tiene para ti y tu empresa esta tecnología?  Estás en la ciudad de Puebla o sus alrededores?  Si respondieron “Sí” a las anteriores preguntas este evento es simplemente para ti !

La entrada es totalmente gratuita.

Fecha y horario

30 de abril de 10:00 a 13:00 hrs.

Dirección

Auditorio de la Universidad Madero
Camino Real a Cholula 4212
Col. Exhacienda La Concepción Buenavista
Puebla, Pue.
CP. 72150.
http://www.umad.edu.mx/ubicacion.html

Agenda

10:00 – 12:45 Silverlight 3 como plataforma de desarrollo – Expositor:  Rodrigo Díaz Concha

12:45 – 13:00 Rifa de regalos

Y hablando de regalos precisamente, regalaremos algunas playeras oficiales de La Liga Silverlight:

Los esperamos!!!!

[Update 25Mar2009] El registro ya está abierto en esta dirección!

Rock Band @ MIX09

Además de estar al pendiente del mundo de tecnologías Web y sobre todo de Silverlight 3, me di el tiempo a enrolarme en el concurso de Rock Band del Mix 2009.  Hubo contrincantes bastante buenos y fue una experiencia muy divertida.

Aunque quedamos en 3er. lugar valió la pena haber compartido el escenario con mis camaradas de Penny 4 Your Thoughts!  See you next year Rock’n’Roll mates!  We ROCK!

Novedades en Silverlight 3

Novedades en Silverlight 3

No obstante a que el Mix09 estuvo lleno de grandes anuncios y noticias por parte de Microsoft al mundo de tecnologías Web, fue de particular interés el conocer de antemano las grandes características que la nueva versión de Silverlight 3 tendrá. 

A continuación enlisto las características que a mi parecer son las más relevantes.  Cabe mencionar que no es la lista completa de nuevas características y funcionalidades, solo aquellas que más destacan:

Reducción de tamaño de los archivos XAP

El tamaño de los archivos XAP se reducirá en un 10% a 30%.  Esto significa que podemos utilizar menos ancho de banda para nuestras aplicaciones Silverlight debido a su radio de compresión más alto.  Eso sí, siempre recuerden que una aplicación Silverlight debe ser lo más pequeña posible!

OOB (Out-Of Browser)

Con esta característica podemos ejecutar nuestras aplicaciones de Silverlight 3 fuera de la ventana del Navegador, simulando una aplicación de escritorio con acceso directo en nuestro escritorio y un icono que la represente.  No obstante, la aplicación sigue ejecutandose en un sandbox tal y como sucede cuando la ejecutamos dentro del navegador.  Esta característica es particularmente interesante ya que se nos abre un abanico grande de oportunidades al crear aplicaciones con esta plataforma:  aplicaciones RIA que incluso puedan detectar cuando están ejecutándose de manera desconectada para ofrecer a nuestros usuarios una experiencia de uso más potente (tal vez ofrenciendo una versión offline que guarde / use datos de un cache local [el almacenamiento aislado tal vez]).

La creación de este tipo de aplicaciones es bastante sencilla ya que esta opción la establecemos vía el Manifiesto de la aplicación.

Aceleración vía GPU

Las aplicaciones Silverlight 3 podrán utilizar el GPU del equipo en donde estén ejecutándose, liberando así recursos del CPU.  Las aplicaciones que hagan uso de gráficas sofisticadas o video detallado son las que disfrutarán más de esta característica.

Perspectivas 3D

Podemos poner objetos 2D en espacios 3D.  Las animaciones que hagan uso de esta característica podrán ofrecer efectos visuales bastante interesantes (menús desplegables en 3D, rotación de elementos, etc.).  Lo que hace que esta característica sea bastante poderosa es el hecho que podemos establecer este tipo de perspectivas incluso en lo controles, no solo en elementos.

Estilos BasedOn

Estilos basados en otros.  Al fin!

Estilos modificables

Podemos modificar en tiempo de ejecución el estilo de un elemento o control.  Esta funcionalidad ha sido una de las más solicitadas, y cabe decir: útiles.

Enlace entre Elementos

Enlace (Data Binding) entre controles!  Por fin! Esta característica está presente en WPF y la extrañábamos bastante en Silverlight.  Ahora, será una realidad.

SaveFileDialog

La caja de diálogo pareja de OpenFileDialog, con la cual podemos ofrecer al usuario un mecanismo de selección de una ruta y archivo para escritura.  Esta característica es especialmente necesaria cuando queremos permitir a nuestros usuarios que guarden archivos (texto, imágenes,etc.) dentro de su equipo.  Su funcionalidad es auto-explicable ya que es un control que hemos usado desde siempre en las aplicaciones Windows Forms.

Pixel Shaders

Los Shaders permiten cambiar un pixel a otro (tal vez de un color a otro para hacer efectos de sobreposición de imágenes o videos).

Framework de Navegación

Un paso más para subsanar las aplicaciones Silverlight con respecto a los buscadores.  Este framework permite que tengamos diferentes Url’s en una misma aplicación de Silverlight, para que sean indizables.  Hey! además funciona con las características de ‘Atrás’ y ‘Adelante’ de los Navegadores!

Mensajería Local (Local Messaging)

Mi novedad favorita:  Comunicación entre diferentes plugins de Silverlight en la misma página, o entre diferentes tabs del Navegador, o incluso: entre diferentes Navegadores!!! :)   Esta característica está basada en mensajes tipo string entre un plugin y otro con un modelo subscriptor-publicador.

Mejoras al Texto

Animaciones con textos mejoradas.  Además Silverlight 3 (la versión RTW) tendrá soporte completo a ClearType.  He visto frecuentemente que esta es una de las quejas más fuertes con respecto a Silverlight 2, sobre todo cuando lo comparamos con Flash.  Bueno, pues ahí lo tienen.

Efectos

Con ellos podemos impactar el comportamiento visual (no la funcionalidad) de nuestras aplicaciones.  Incluídos en Silverlight 3 estarán dos: DropShadow y Blur; aunque podremos desarrollar nuestros propios efectos por medio de Pixel Shaders (ver Pixel Shaders más arriba).

RIA Services

Por último, una plataforma que promete mucho si es orientada correctamente:  Los RIA Services.  Estos servicios ofrecen a las aplicaciones de Silverlight 3 un mecanismo sencillo para comunicación con fuentes de datos.  No obstante, la versión que pude apreciar en el Mix09 se muestra demasiado “acoplada” a la aplicación, esto es, de alguna manera contradice el hecho que toda aplicación que esté bien diseñada debe separar sus responsabilidades en diversas capas (PRISM por ejemplo, nos ayuda a hacer precisamente eso).  Sin embargo, es solamente un Preview, espero que Microsoft mejore su diseño ya que precisamente una de las características que agrada más a los desarrolladores de Silverlight 2 es que no tiene dependencia alguna con .NET del lado del servidor.  Esperemos que madure para bien !

Los grandes ausentes

  • No habrá soporte para impresión en Silverlight 3
  • No habrá soporte para Reporting Services en Silverlight 3
  • No habrá soporte para micrófono y/o webcam en Silverlight 3
  • No habrá soporte nativo para la rueda del mouse en Silverlight 3

De esta lista el que más destaca es el soporte para impresión, una característica multi-solicitada a Microsoft por todos nosotros.  No obstante están trabajando en ello y muy probablemente esté presente en Silverlight 4… lo platicamos dentro de un año  :)

Salu2!

Silverlight Tour Workshop: Actualizado a Silverlight 3 !

Silverlight Tour Workshop Logo

Tengo el gusto de anunciarles que el Siverlight Tour Workshop se ha actualizado para cubrir Silverlight 3. A partir del mes de Abril 2009, los asistentes del curso recibirán el entrenamiento revisado y actualizado para esta nueva versión. El Silverlight Tour Workshop es la primer oferta de entrenamiento acerca de Silverlight 3, el cual incluye:

  • La experiencia fuera del navegador

  • Utilización de Pixel Shaders y Transformaciones 3D

  • Comportamientos

  • Mejoras a la Estilización, incluyendo Diccionarios Merge y Estilos Based-On

  • Validación de Datos utilizando el Modelo de Controles

  • Usando XML Binario

  • Usando la nueva API de Bitmaps

  • Cobertura de Expression Blend 3 Preview

El Silverlight Tour Workshop es un curso de tres días completamente en Español y de alta profundidad técnica acerca de Silverlight 2 y 3. Incluye los comos y por qués de XAML, el hospedaje en el navegador, las herramientas y el uso de Silverlight en el servidor y las nuevas caracteristicas de la version 3. El curso utiliza Silverlight 2 y 3 así como las últimas herramientas tecnológicas de Microsoft (incluyendo Visual Studio .NET 2008 y Expressiona Studio).

Para mas información:

https://agilitrain.com/workshop/info/silverlight_tour_workshop

ADO.NET Data Services v1.5 CTP1 disponible ahora!

Mike Flasko anunció el día de hoy la disponibilidad del primer CTP de la versión 1.5 de ADO.NET Data Services, mejor conocido como Astoria.  Si bien esta versión es apenas una pequeña muestra pública es buena oportunidad para que la descarguen y prueben de antemano las nuevas características.

Lo pueden descargar de aquí

Salu2!

Silverlight 3 se acerca

Solo si han vivido debajo de una piedra no sabrán que el día miércoles arranca la edición 2009 de la conferencia MIX de Microsoft.  El evento MIX es el evento magistral de tecnologías Web y cuna de las diferentes versiones de Silverlight.  Es bien sabido que esta edición del evento girará alrededor de Silverlight 3: la nueva versión de esta fabulosa plataforma de desarrollo con la cual podemos desarrollar experiencias en línea, además de ser multi-plataforma y multi-navegador.  El día de mañana estaré viajando a la ciudad de Las Vegas en el estado de Nevada, USA para participar como asistente en este importantísimo evento.  Como siempre, las noticias y anuncios relevantes serán posteados en este lugar por un servidor.

Señoras y Señores: Silverlight 3 se acerca!

Serie de WebCasts: Windows Azure para Desarrolladores

Les invito cordialmente a una serie de Web Casts que impartiremos Omar Avilés y un servidor los próximos días 25 al 27 de marzo 2009 acerca de Windows Azure.  Estos Web Casts están enfocados a desarrolladores profesionales y entusiastas que deseen conocer por qué Windows Azure es una excelente plataforma de desarrollo y opción para realizar aplicativos modernos que hagan uso del poder del Cómputo en la Nube.

Agenda

Día 1: 25 de Marzo (17:00 a 19:00 hrs. (GMT-06:00))
      Introduction to Windows Azure          
      SQL Services Overview           

Día 2: 26 de Marzo (17:00 a 19:00 hrs. (GMT-06:00))
      Introduction to Live Services          
      Introduction to .NET Services           

Día 3: 27 de Marzo (17:00 a 19:00 hrs. (GMT-06:00))
      Windows Azure Storage Services          
      Building Mesh-enabled Web Applications

El registro ya está abierto y lo pueden realizar en esta dirección.

Los esperamos!

2da Reunión Presencial de La Liga Silverlight: 16 de Marzo 2009

Se les invita cordialmente a todos/as a asistir a la segunda reunión presencial de la comunidad La Liga Silverlight que se llevará a cabo el próximo 24 de marzo 2009 a las 18:00 hrs. en la sala 2 del Centro del Software.

La entrada es totalmente gratuita.  El registro se puede llevar a cabo en el momento o haciendo clic aquí.

Lugar y Hora

24 de Marzo 2009 18:00 hrs.

Centro del Software (Sala 2) – Guadalajara, Jalisco, México

Agenda

18:00 – 18:30  Registro

18:30 – 20:15  Animaciones con Silverlight.  Expositor: Arturo Molina

20:15 – 20:30  Rifa de regalos y premios

UPDATE 10 de Marzo:  La fecha de la reunión se cambió al 24 de marzo porque el 16 de marzo es día de asueto en México.  Disculpen las molestias que esto les ocasiona :)

Personalización condicional del DataGrid de Silverlight 2

Personalización condicional del DataGrid de Silverlight 2

Introducción

El control DataGrid de Silverlight 2 ofrece a los desarrolladores un mecanismo para presentar datos tabulares de una manera sencilla, ya que al ser un control atable a datos podemos indicar como fuente de datos cualquier objeto que implemente IList o IEnumerable.  Por este motivo y por el hecho de que automáticamente se ata a todas las propiedades del objeto se crearán las columnas correspondientes sin esfuerzo extra.

No obstante a lo anterior es un escenario común cambiar los colores de las filas de manera condicional, esto es, a partir de un valor o rango de valores de los datos cambiar sus características visuales de cada fila para resaltarlos.

En este artículo veremos cómo modificar la apariencia visual del DataGrid de manera condicional.

Desarrollo

Crearemos una nueva aplicación de Silverlight por medio de la plantilla en Visual Studio .NET 2008.  A esta aplicación le pondremos el nombre de EjemploDataGridCondicional.

Como fuente de datos para nuestra aplicación utilizaremos las clases Album y Albumes descritas en el artículo “Introducción a los Convertidores en Silverlight 2”.

Ya que el control DataGrid está implementado en un ensamblado externo (System.Windows.Controls.Data) necesitamos referenciar este ensamblado en nuestro proyecto y además importar el espacio de nombres xml asignándole un alias para poder identificar las clases incluídas en él de manera única. 

Asimismo también importaremos el espacio de nombres xml del proyecto EjemploDataGridCondicional para poder dar de alta nuestra fuente de datos como parte del diccionario de recursos del UserControl.  El siguiente fragmento muestra el código XAML modificado:

Ahora ya estamos listos para poder crear una instancia del DataGrid.  El siguiente fragmento muestra el código necesario para crear un DataGrid el cual atamos a la fuente de datos implementada en el diccionario de recursos:

Al ejecutar la aplicación, el resultado que obtenemos es el siguiente:

Como podemos observar el comportamiento predeterminado del DataGrid es atarse a todas las propiedades de la fuente de datos y además crear las columnas correspondientes automáticamente.

Colores condicionales para las filas

Para este ejemplo cambiaremos el color de cada álbum que tenga su fecha de lanzamiento anterior al 01/01/1999.  Para realizar esta funcionalidad crearemos un Convertidor de color, esto es, un Convertidor que reciba como entrada la fecha y regrese un color según el rango establecido.  El artículo “Introducción a los Convertidores en Silverlight 2” explica y detalla la creación de Convertidores.

Crearemos una clase llamada ConvertidorFechaColor dentro de un fólder llamado Convertidores en el proyecto de Silverlight. El siguiente código detalla esta clase:

Ahora bien, para utilizar esta clase dentro de nuestro DataGrid debemos definir nuestros propios elementos CellTemplate, los cuales definen la plantilla que se aplicará a cada celda cuando se esté atando a datos el control ya que esta clase soporta un DataTemplate. 

Además, necesitamos establecer la propiedad AutoGenerateColumns=”false” ya que la creación de columnas será ahora nuestra responsabilidad.  Cada columna la crearemos como un DataGridTemplateColumn ya que esta clase nos permite definir nuestra propia plantilla para las columnas.

Cada plantilla de columna tendrá como elemento raiz un Border, el cual será el elemento que cambiaremos de color en las filas.  A la propiedad Background del Border lo ataremos a la propiedad FechaLanzamiento de la fuente de datos, aplicando el Convertidor de color que escribimos anteriormente.  Dentro del Border colocaremos un TextBlock que muestre el texto correspondiente a la columna, atando a datos a la propiedad correspondiente.  El siguiente fragmento de código muestra el ejemplo de la columna “Titulo”:

Si aplicamos el mismo concepto a cada una de las columnas el resultado sería el siguiente:

Además, podríamos reutilizar el Convertidor que construímos en el artículo anterior para poder formatear la fecha de lanzamiento adecuadamente, además del cambio de color que estamos aplicando.  Asimismo, podemos ir más allá con el Convertidor de fecha a color si pasamos como parámetro el tipo de color que queremos aplicar, esto es, si es para el fondo del Border o es para el color de la letra del TextBlock.  El siguiente fragmento de código muestra el Border con toda la funcionalidad completa:

El resultado completo de nuestro proyecto es como se muestra:

Resumen

Por medio del elemento CellTemplate dentro de una columna de tipo DataGridTemplateColumn podemos llegar a obtener un grado de personalización avanzado dentro del control DataGrid.  Haciendo uso de Convertidores y lógica personalizada podemos determinar el color de fondo y fuente de cada una de las filas del DataGrid, por ejemplo para resaltar datos que caigan en un rango establecido u otro tipo de factor.

El código fuente de este ejemplo lo pueden descargar de la sección “Contenido” de La Liga Silverlight.