Archive

Posts Tagged ‘Ejemplos’

Introducción a Silverlight – Parte 3: Acceso a datos

March 20th, 2010 1 comment

El acceso a almacenes de datos es unos de los pilares de virtualmente todo programa informático. Desde grandes sistemas empresariales, pasando por aplicaciones personales, hasta programas para entretenimiento como juegos y reproductores audiovisuales.

En Silverlight, dada su naturaleza distribuida, tal acceso se vuelve más obvio y crítico. Pero, ¿qué mecanismos existen para obtener acceso a información a través de la red desde in cliente de Silverlight?

En el tercer artículo de su serie introductoria, Tim Heuer  explica estos temas y también implementa la funcionalidad básica de su aplicación de muestra que busca términos mencionados en Twitter.

Por su brevedad relativa, la cobertura es superficial, pero se incluyen enlaces a otras fuentes con información más elaborada.

Leer el artículo completo.

Recopilación de artículos traducidos hasta ahora

February 28th, 2010 No comments

La semana pasada escribí en este blog una nota haciendo referencia a la serie por Brad Abrams sobre Silverlight y los Servicios RIA. He estado traduciendo sus artículos por algún tiempo, y  mi intención era cada semana hacer referencia al siguiente de la serie.

Sin embargo, se me ocurre que no es la mejor manera de hacerlo. Al cabo, casi una tecera parte de la serie ya está disponible, además de otros artículos no relacionados. Creo que mejor les doy una reseña del material disponible de una sola vez. Así hago menos bulla.

Tim Heuer

Tim Heuer, como director de programa para Silverlight, tiene una perspectiva muy amplia sobre el producto. También tiene la habilidad de explicar conceptos de una manera simple y afable

Introducción a Silverlight

Su serie introductoria para Silverlight tiene el fin de orientar a programadores experimentados en otras partes de la plataforma .NET y ayudarles a configurar el entrono de desarrollo y familiarizarse con las particularidades de Silverlight. Por el momento los siguientes dos artículos están disponibles:

Introducción a Silverlight – Parte 1: Herramientas y Hello World

Instrucciones sobre dónde conseguir y cómo instalar los paquetes necesarios para configurar un entrono de desarrollo para Silverlight. También guía al lector en la creación de una aplicación básica usando una de las plantillas incluidas en el kit de desarrollo. Finalmente, crea un ejemplo del típico programa Hello World.

Introducción a Silverlight – Parte 2: Diseño de la interfase al usuario y navegación

Introducción básica al arreglo visual (layout) de la interfase al usuario y consideración de los controles Canvas, StackPanel y Grid. Tim demuestra sus efectos en la interfase gráfica del cliente Silverlight y promueve Expression Blend como herramienta para diseño visual. A diferencia de la versión 2010, Visual Studio 2008 no ofrece un diseñador para Silverlight, por lo que Blend puede ser de mucha ayuda. Tim habla luego sobre las facilidades de navegación que permiten coordinar vistas como si fuesen páginas de web.

Finalmente, empieza el diseño de la aplicación de ejemplo para la serie de artículos. Partiendo de un boceto, comienza a formar su estructura elemental, creando las vistas y configurando la navegación del sistema.

Guías de funcionalidad

Con cada edición significativa de Silverlight, Tim publica una guía con los cambios y novedades incluidos. Viniendo de un ejecutivo de Microsoft, es natural que tengan un ligero tono publicitario, pero definitivamente son dirigidas a desarrolladores y proveen excelente información técnica además de enlaces a otros recursos como vídeos y código de ejemplo.

Guía para las nuevas características de Silverlight 3

Da una reseña de la edición preliminar anunciada en el evento MIX09 que puede ser muy útil si no se está familiarizado con Silverlight.

¡Silverlight 3 ha sido publicado! ¿Qué cambios y novedades contiene?

La edición final de Silverlight 3 fue lanzada el 20 de julio del 2009, y Tim detalla aquí los cambios y cosas nuevas desde su último artículo sobre el tema (citado arriba).

Guía para las nuevas características de Silverlight 4 Beta

En Noviembre del 2009, durante el congreso PDC, Microsoft anunció la edición beta de Silverlight 4. (¿Notan un patrón aquí? Ojo con Mix10.) La guía para esta edición es exhaustiva, describiendo gran cantidad de nuevas funciones añadidas a Silverlight.

Brad Abrams

Debido en parte a mi enfoque en el desarrollo de sistemas empresariales, le puse poca atención a  Silverlight hasta el pasado otoño cuando me enteré de los Servicios WCF RIA. Junto con Silverlight 3 y 4, los Servicios RIA ofrecen una sólida opción para el desarrollo de sistemas distribuidos de alto rendimiento.

Brad Abrams, gerente de programa para Silverlight y encargado de los Servicios RIA, dio una demostración en Mix09 sobre el uso de este paquete y luego escribió una serie de 26 (¡!) artículos demostrando múltiples configuraciones y formas de adaptar la aplicación de ejemplo. Aunque la información se centra en Silverlight 3, los conceptos y técnicas aplican también a la cuarta versión. Por el momento, hay diez artículos disponibles en español.

Ejemplo de desarrollo de sistemas empresariales con Silverlight 3 y servicios RIA en .NET

Sí. Al igual que la serie, el título es kilométrico. Pero no se puede negar que describe bien de qué se trata. Los artículos fueron originalmente escritos para la edición de marzo del 2009 de los Servicios RIA y luego actualizados para la edición de julio. Como si no fuera ya complicado, la edición disponible ahora es la de noviembre. La diferencias entre las versiones me han dado algunos dolores de cabeza a medida que sigo las instrucciones de las guías.

Tal vez el lío más serio es que varias funciones de los Servicios RIA para Silvelight 3 fueron eliminadas por completo entre julio y noviembre. Como resultado, a veces he tenido que saltar secciones de los artículos originales. El caso extremo hasta el momento es la parte 5 de la serie que depende casi por completo de funcionalidad ya no existente. Es por eso que no la hallarán en mis archivos del blog. Con todo y todo, la serie es muy útil para aprender la filosofía general de diseño de los Servicios WCF RIA y el acceso remoto a datos.

Apariencia Profesional

Brad arguye que una aplicación empresarial debe mostrar una apariencia profesional y describe los recursos disponibles en Silverlight para ese fin. Luego de introducir la plantilla Silverlight Business Application, explica sus beneficios y la capacidad de usar diferentes diseños visuales predefinidos sin tener que cambiar nada más.

Consultas densas de datos

El título original es Rich Data Query y, a falta de encontrar un término mejor, lo traduje como “denso”. Aunque el vocablo “enriquecido” me viene a la mente, no creo que exprese bien el concepto anglosajón. Bueno, dejemos la RAE a un lado…

Éste es sin duda el artículo clave de toda la serie. Los que tengan poca experiencia con RIA o WCF hacen bien en ponerle especial atención. También cubre el manejo de datos en general y en .NET. Por la forma en que es presentado el tema, se me hace que es más provechoso si se tiene cierta familiaridad con servicios de web, contextos y modelos de datos, Linq, y desarrollo en Silverlight en general.

Luego de explicar un poco sobre diseño modular de sistemas, crea un modelo de datos, y un servicio para exportarlos al mundo exterior. La magia de los Servicios RIA está en la asociación que establece entre el servicio de web y el cliente Silverlight de manera que el dominio de la aplicación es proyectado, por decirlo así, de un contexto al otro.

En el lado del cliente, Brad elabora una interfase al usuario con capacidad de filtrar y controlar el volumen de información transmitido. Por último, demuestra las habilidades de validación de datos incluidas en Silverlight.

Autenticación

Da una descripción general de los servicios de autenticación en una aplicación de este tipo y presenta un ejemplo basado en el clásico proveedor de subscripciones de ASP.NET. Los Servicios RIA ofrecen un alto grado de control sobre qué información esta disponible a diferentes tipos de usuarios.

Diferentes Representaciones de Datos

Tomando ventaja de la arquitectura en capas o niveles del sistema que ha venido desarrollando, Brad ahora da ejemplos de distintas formas de representar en el cliente la información extraída del servidor. Desafortunadamente, éste es uno de los artículos problemáticos y tuve que omitir gran parte del texto original. No obstante, todavía tiene un par de gemas: exportación de datos a Excel y cómo configurar la aplicación para que ejecute fuera del navegador.

La mayoría de los artículos posteriores usan la solución resultante de éste como base para sus modificaciones.

Objetos para la transferencia de información (DTO)

Algunas arquitecturas usan objetos para el transporte de datos (Data Transfer Object o DTO) con el propósito de separar los modelos de datos de el cliente y el servidor. De esta manera sirven como contratos definiendo el formato de la información. El artículo demuestra cómo añadir esta capa adicional entre componentes del sistema.

Uso de Servicios de datos ADO.NET (Servicios WCF)

El autor pasa ahora a demostrar cómo aprovechar la flexibilidad de los Servicios RIA para adaptar la aplicación a diferentes proveedores de datos. En este caso en particular, crea un servicio de datos ADO.NET (que ahora se llaman Servicios de Datos WCF) para representar la conexión de datos externa (posiblemente en la nube).

Luego se hacen algunos ajustes en el código del servidor para redirigirlo al servicio de datos alternativo.

Uso de servicios de Web basados en WCF

Una de las ideas al usar los Servicios RIA en una aplicación de Silverlight es aprovechar su capacidad de proyectar los modelos de dominio del servidor al cliente. Sin embargo, habrá veces en que hay que usar un servicio ya existente. En este artículo Brad adapta el ejemplo para que use un servicio WCF preexistente.

POCO y proveedores de autenticación

Pasando su atención al modelado de datos, Brad descarta Entity Framework y crea un modelo basado en simples clases y tipos del CLR (Plain Old CLR Object o POCO). Más adelante también muestra cómo usar un proveedor propio para servicios de autenticación.

LinqToSql

Igual que en el artículo anterior, Brad reemplaza el modelo original basado en Entity Framework, con uno basado en LinqToSql. De nuevo se requieren ciertos ajustes en el servidor, pero el cliente sigue funcionando como si nada.

Manejo de datos en el cliente

Después de experimentar con varias técnicas para obtención y modelado de datos, el autor se concentra ahora en el cliente. Lo que hace es poner los servicios RIA a un lado y suponer que la forma en que los datos llegan al cliente es algo no convencional. La única función del proyecto servidor es suplir el archivo binario del cliente.

En el cliente, Brad crea un modelo de datos en memoria y lo habilita para que pueda responder a las operaciones de filtrado y paginación ya existentes.

Tabla de Contenido

El formato blog funciona bien para una bitácora y también para consultar los artículos más recientes, pero la navegación puede ser inconveniente series de artículos. Para facilitar el encontrar los artículos y leerlos en orden puse una nueva página a modo de  tabla de contenido para artículos de otros autores.

Espero que les sirva de ayuda.

Estoy anuente a escuchar sus comentarios respecto a los artículos, críticas sobre la calidad de la traducción, y fuentes e ideas para el futuro.

Fabuloso Fred en Silverlight : Silverlight Fred

April 12th, 2009 3 comments

Si fueron niños en la década de los ochenta como yo, podrán recordar que en aquel entonces en México un muy codiciado juguete era el Fabuloso Fred, el cual tenía varios juegos en uno siendo el juego de la memoria su principal característica (tenía otras funciones como piano y otras más que ignoro ya que nunca lo tuve :()  Ayer en la noche decidí hacer una implementación básica de este juguete usando Silverlight 2.

El código fuente está disponible para que lo descarguen y modifiquen a su gusto.  Algunas de las áreas de oportunidad que tiene son:

    • Diferentes sonidos para cada botón
    • Incremento de velocidad según vayas pasando de nivel
    • Fuera del Navegador (portándolo a Silverlight 3)

 

El código fuente lo pueden descargar aquí y el demo en vivo lo pueden ver en la sección “Ejemplos” de La Liga Silverlight.

Salu2!

Categories: General Tags:

Buen ejemplo de Silverlight + Deep Zoom composer

March 19th, 2009 No comments

WorldWide Telescope es un programa de Microsoft Research que te permite tener la experiencia de usar un telescopio virtual. La versión completa viene en una aplicación de escritorio, pero pueden experiementarlo directamente desde su Web Client.

Vía.

Categories: General Tags: ,