Programación y Estrategias de Negocios RSS 2.0
# Tuesday, November 11, 2008

 

El pasado 05 y 06 de Noviembre de 2008, tuve la oportunidad de dictar el entrenamiento en Silverlight para Partners de Microsoft Colombia inscritos en el programa Metro. Durante las 6 sesiones (8 horas) desarrollamos este programa:

 

• 8:30 – 9:30 Framework y Herramientas. Novedades en C# y VS2008.

• 9:35 – 10:45 WPF 101. Conceptos básicos, XAML, Blend y ejemplos.

• 10:45 – 11:00 Refrigerio

• 11:05 – 12:30 WPF 201. Dependecy Properties, Routed Events, IValueConverters, ApplicationsCommands

• 12:30 – 1:50 Almuerzo Libre

• 2:00 – 3:00 Silverlight 101. Conceptos Basicos y ejemplos.

• 3:05 – 4:15 Silverlight WorkShop . Construccion de un reproductor de MP3 con Silverlight. Comunicaciones entre SL y JS.

• 4:15 – 4:30 Refrigerio

• 4:35 – 5:30 Encoder, Deep Zoom y Silverlight Streaming. Ejemplos.

Gracias a todos los que participaron, espero que haya sido útil para el desarrollo de sus proyectos. Por favor no dejen de enviarnos sus comentarios sobre este evento a jpelaez at juanpelaez.com y a Sandra Marin en sandra.marin at microsoft.com

Dejo aquí las PPTs, y los resultados de la sesión 1, sesión 3 y el taller.

 

Recursos

Presentaciones.

Código de la Sesion 01. Novedades en c# y VS2008 

Código de la Sesion 02. WPF 201.

Código del Taller

 

Juan Pelaez

Arquitecto de Software

 

Keywords: Silverlight, Partners Microsoft Colombia, Programa Metro, Capacitacion, Juan Pelaez, Juan Carlos Pelaez, Entrenamiento, WPF.

 

Technorati Tags: ,,
Tuesday, November 11, 2008 12:08:16 PM (SA Pacific Standard Time, UTC-05:00)  #    Comments [0] - Trackback
Blend Expression | Eventos Microsoft | Microsoft DP | SilverLigth | Speaker Microsoft | VS2008 | Windows Live | WPF
# Tuesday, October 21, 2008

Se acerca el PDC 2008, la conferencia para desarrolladores profesionales de Microsoft, donde se mostraran todas las novedades de la plataforma como Cloud Computing, Windows 7, etc, etc. Lamentablemente no voy a ir…, tampoco he ido a los anteriores…

 

Entonces porque este post se llama PDC y Yo?, bien porque aunque yo no voy, voy a mandar a mi representante: Una aplicación desarrollada con WPF, LINQ, y Windows LiveMesh que se estará mostrando en una de las conferencias y que con un poco de suerte será publicada en CodePlex como ejemplo de referencia, algo como lo que ha hecho Vertigo con Family.Show.

 

Ha sido un volumen de trabajo absurdo en las últimas semanas, días de 20 y 22 horas, pero finalmente estuvo listo. En cuanto pase el NDA comentare sobre la aplicación. 

 

Gracias a la gente de studiocom quienes nos consideraron para el trabajo, espero que hayamos superado la expectativa.

 

Creo que es la primera vez que una aplicación hecha en Colombia se usa de esta forma. (Si estoy equivocado por favor, envíeme una nota).

La Arquitectura de la Aplicación.
  • Una librería de clases serializada para WCF.
  • Un Publicador de Contenido. Con WPF consumiendo servicios RSS
  • Muchos Clientes. Desarrollados con WPF
  • LiveMesh Service como contenedor y encargado de las comunicaciones entre Clientes y Publicador.

En próximos días publicare sobre la experiencia de desarrollo, los problemas que encontramos, los que resolvimos, los que no pudimos resolver, y como trabajamos desde distribuciones remotas con la gente de studiocom en Atlanta, el cliente (MS) en Readmond, el Desarrollador (yo) en Bogotá y el Diseñador (TF) en cualquier lugar del mundo.

 

Juan Pelaez

Arquitecto de Software

 

Publicado Originalmente en : www.juanpelaez.com/blog.

 

 

Keywords: PDC2008, PDC 2008, LiveMesh, Live Services, WCF, WPF, Distributed Applications.

Tuesday, October 21, 2008 12:35:58 PM (SA Pacific Standard Time, UTC-05:00)  #    Comments [0] - Trackback
LiveMesh | WCF | Windows Live | WPF
# Wednesday, January 09, 2008

Uno de los Blogs a los que estoy suscrito es el de Janne Mattila quien siempre tiene cosas muy interesantes sobre Sharepoint, generalmente avanzadas y muy pero muy útiles e interesantes, en las últimas semanas Janne publicó un post sobre Silverlight y Sharepoint que va en la misma línea de trabajo que estoy siguiendo en los últimos días. Con el permiso de Janne, traduzco el contenido a continuación para todos aquellos que prefieren el español. J .

(Nota: no me considero traductor, ni espero que esto sea una traducción textual, lo importante es el sentido general, comentarios son bienvenidos como siempre)

Creando aplicaciones de Silverlight 1.1 para SharePoint con VS2008

El título lo dice todo.:-) Mi plan es crear un pequeño instructivo paso a paso de cómo crear una aplicación Silverlight 1.1 con Visual Studio 2008 y luego ejecutarla en SharePoint. Y como no quiero instalar un montón de cosas en mi ambiente de Sharepoint cree una Web part que sirva de host a la aplicación Silverlight. Todo el desarrollo se ha realizado fuera del ambiente de Sharepoint.

Si Silverlight es algo nuevo para usted le sugiero que empiece revisando silverlight.net y un ejemplo muy interesante en Coding4Fun Silverlight 8-Ball example. El primer enlace es el punto de enlace para el desarrollo usando Silverlight y el segundo enlace es un ejemplo muy interesante que muestra cómo crear un juego de 8-bolas usando Silverlight.

Ahora sabe más de Silverlight :-) así que empecemos con el ejemplo:

Tengo VS2008 corriendo en Vista y he descargado e instalado Microsoft Silverlight 1.1 Tools Alpha for Visual Studio 2008 para ayudarme a desarrollar las aplicaciones Silverlight. Esto agrega una nueva plantilla con toda la configuración necesaria para construir aplicaciones de Silverlight 1.1. También tengo SharePoint corriendo en Virtual PC y está configurada para conectarse directamente a mi maquina host (Ej: al escribir http://demo1:1000 en mi maquina host se conecta al SharePoint virtualizado).

Lo primero es modificar el SharePoint de forma que pueda hospedar mi nueva aplicación. Agreguemos algunas carpetas bajo el directorio _LAYOUTS:

image

ClientBin es la carpeta que contendrá todos los archivos .dll requeridos en el cliente por Silverlight (=Si usted compila su proyecto Silverlight automáticamente tendrá en su proyecto la carpeta ClientBin que contiene todos los ensamblados del cliente necesarios para el proyecto.).

La carpeta Silverlight es usada para almacenar los archivos .xaml (=Las páginas Silverlight). También necesito cambiar la configuración de las dos carpetas para que las cosas funcionen. Primero cambiare la configuración de la carpeta ClientBin:

 

image

 

Asigne solo acceso de lectura (Read) y también permisos de ejecución (Execute) a nadie (None) :  

Luego adicionaré .dll para permitir tipos mime (y .pdb para propósitos de depuración en el futuro) :-):

image

Entonces cambiaré la configuración de la carpeta Silverlight para que soporten las extensiones .xaml:

image

Ahora el SharePoint está configurado... pero creemos una web part que sirva de host la aplicación Silverlight en la página. Aquí está el código que hace esto:

   1:  using System;
   2:  using System.Runtime.InteropServices;
   3:  using System.Web.UI;
   4:  using System.Web.UI.WebControls.WebParts;
   5:   
   6:  namespace Silverlight_Web_Part
   7:  {
   8:    [Guid("fc852641-9955-433c-945e-d773f46351eb")]
   9:    public class Silverlight_Web_Part : WebPart
  10:    {
  11:      string xamlFile;
  12:      [WebBrowsable(true), Personalizable(true)]
  13:      public string XamlFile
  14:      {
  15:        get { return xamlFile; }
  16:        set { xamlFile = value; }
  17:      }
  18:   
  19:      public Silverlight_Web_Part()
  20:      {
  21:        this.ExportMode = WebPartExportMode.All;
  22:      }
  23:   
  24:      protected override void Render(HtmlTextWriter writer)
  25:      {
  26:        if (string.IsNullOrEmpty(this.XamlFile) == false)
  27:        {
  28:          writer.Write("<div id='SilverlightControlHost' " + 
  29:            "style='width: 640px; height: 480px;'></div>");
  30:          writer.Write("<script type='text/javascript' " +
  31:              "language='JavaScript' src='/_layouts/Silverlight.js'></script>");
  32:          writer.Write("<script type='text/javascript' " +
  33:            "language='JavaScript' src='/_layouts/SilverlightStarter.js'></script>");
  34:          writer.Write("<script type='text/javascript' " +
  35:            "language='JavaScript'>createSilverlight('" + xamlFile + "');</script>");
  36:        }
  37:        else
  38:        {
  39:          writer.Write("Xaml file is not selected.");
  40:        }
  41:      }
  42:    }
  43:  } 

Mi web part usa los archivos Silverlight.js y SilverlightStarter.js. SilverLight.js es el mismo archivo que se incluye en el proyecto cuando se crea un proyecto Silverlight 1.1 en VS. SilverlightStarter.js es prácticamente una copia del archivo de la plantilla del proyecto pero lo he modificado un poco para que soporte que el archivo XAML sea pasado como parámetro:

   1:  function createSilverlight(filename)
   2:  {
   3:    Silverlight.createObjectEx({
   4:      source: filename,
   5:      parentElement: document.getElementById("SilverlightControlHost"),
   6:      id: "SilverlightControl",
   7:      properties: {
   8:        width: "100%",
   9:        height: "100%",
  10:        version: "1.1",
  11:        enableHtmlAccess: "true"
  12:      },
  13:      events: {}
  14:    });
  15:     
  16:    document.body.onload = function() {
  17:     var silverlightControl = document.getElementById('SilverlightControl');
  18:     if (silverlightControl)
  19:     silverlightControl.focus();
  20:    }
  21:  }

Y si verifica el código del web part en la línea 35 notará que paso como parámetro el archivo XAML que ha sido configurado en las propiedades del web part:

image

Ahora solo tenemos que adicionar algo de código Silverlight y estamos listos. Aquí está el contenido del archivo Page.xaml (=La Aplicación :-):

   1:  <Canvas x:Name="parentCanvas"
   2:      xmlns="http://schemas.microsoft.com/client/2007" 
   3:      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
   4:      Loaded="Page_Loaded" 
   5:      x:Class="MySilverLight.Page;assembly=/_LAYOUTS/ClientBin/MySilverLight.dll"
   6:      Width="640"
   7:      Height="480"
   8:      Background="White"    
   9:      >
  10:   
  11:   <Rectangle x:Name="MyRectangle" 
  12:         Canvas.Top="25" Canvas.Left="25" 
  13:         Width="50" Height="50" 
  14:         Fill="Gray" MouseLeftButtonDown="MyMouseLeftButtonDown" />
  15:   <TextBlock x:Name="MyText" 
  16:         Text="Click either rectangle or me" 
  17:         MouseLeftButtonDown="MyMouseLeftButtonDown" />
  18:  </Canvas>

 

Y el code behind Page.xaml.cs contiene el siguiente código:

   1:  using System;
   2:  using System.Windows.Controls;
   3:   
   4:  namespace MySilverLight
   5:  {
   6:    public partial class Page : Canvas
   7:    {
   8:      DateTime started = DateTime.Now;
   9:   
  10:      public void Page_Loaded(object o, EventArgs e)
  11:      {
  12:        // Required to initialize variables
  13:        InitializeComponent();
  14:      }
  15:   
  16:      public void MyMouseLeftButtonDown(object o, EventArgs e)
  17:      {
  18:        string runningTime = (DateTime.Now - started).TotalSeconds.ToString("F2");
  19:        System.Windows.Shapes.Rectangle rectangle = o as System.Windows.Shapes.Rectangle;
  20:        if (rectangle != null)
  21:        {
  22:          MyRectangle.Opacity = 1;
  23:          MyText.Text = "You clicked rectangle! Application has been running for " + 
  24:            runningTime + " seconds.";
  25:        }
  26:   
  27:        System.Windows.Controls.TextBlock textBlock = o as System.Windows.Controls.TextBlock;
  28:        if (textBlock != null)
  29:        {
  30:          MyRectangle.Opacity = MyRectangle.Opacity * 0.8;
  31:          MyText.Text = "You clicked text block! Rectangle is fading away...";
  32:        }
  33:      }
  34:    }
  35:  }

Ahora usted probablemente estará ansioso de saber lo que hace la aplicación :-) Aquí esta nuestra aplicación luego de un par de solicitudes (request):

image

Y si el usuario hace click en el rectangulo…

image

Si el usuario hace click en el texto…

image

Ahora tenemos el ambiente de desarrollo listo así que podemos construir y probar la aplicación Silverlight 1.1 y hospedarlo en SharePoint. Aquí están los pasos que tiene que seguir para probarlo usted mismo.

1) Cree un proyecto Silverlight en VS2008
2) Escriba el Código :-)
3) Construya la solución
4) Copie el contenido del folder ClientBin\*.* al folder _LAYOUTS\ClientBin del Sharepoint
5) Copie los archivos *.xaml de su proyecto a la carpeta Silverlight del SharePoint. (Nota: tiene que verificar que este correcto el path en x:Class! Vea mi Page.xaml y la línea 5 en el fuente)
6) Cree la página que usa el web part Silverlight y seleccione su nuevo archivo XAML

Esta fue mi pequeña introducción a Silverlight 1.1 con SharePoint. En este ejemplo yo use archivos .xaml estáticos ubicándolos en el sistema de archivos para hacer todo tan simple como sea posible… solo quería demostrar como usted puede empezar a experimentar con esta combinación. Esto puede ser ampliado y mejorado en muchas formas diferentes y probablemente volveré a este tema en futuros posts.


De todas formas... Happy hacking!
J

Hasta aqui el Post de Jane.

Espero que sea de Ayuda.

Juan Carlos Peláez

MCTS Distributed Applications

Arquitecto de Software.

Keywords: Silverlight, Sharepoint, VS2008, WSS 3.0

Wednesday, January 09, 2008 4:46:18 PM (SA Pacific Standard Time, UTC-05:00)  #    Comments [0] - Trackback
.net | Articulos de Desarrollo | Sharepoint | Silverlight | VS2008 | WPF
# Wednesday, December 12, 2007

 

Se ha publicado el Preview de Diciembre de Blend 2.  Para descargarlo puede ir a este enlace.

En una revisión rápida para preparar un demo para Microsoft Andino he encontrado dos caracteristicas interesantes:

 

  • La Solución ahora puede manejar multiples proyectos lo que permitirar reconstruir y reusar controles que estaban en proyectos diferentes.
  • Ya se pueden cerrar los diferentes paneles con la acostumbrada x que tanto extrañamos antes.

 

Hay muchas más que se pueden leer en el mismo sitio de la descarga.

 

Un Comentario.

Al crear un nuevo proyecto ya se puede seleccionar el framework que desea usarse para compilar, esto ya estaba en la versión anterior (preview de septiembre), pero solo se habilitaba si se instalaba el framework 3.5. (Lo que por cierto traia muchos dolores de cabeza con proyectos nuevos que se crearan despues de instalar el Framework 3.5). Imagino que es por la misma razón que en esta versión actual todos los proyectos y soluciones que se crean son para VS2008, lo que tiene sentido pero es complicado para todos los que veniamos usando blend, queremos las mejoras de la ultima versión pero aún no estamos en VS2008.

Tambien puede verse como una excusa más para migrar a VS2008. (Otras en un post futuro...)

 

Espero que sea de ayuda

 

Juan Peláez

MCTS.

Miembro de Microsoft Andean Influencer Framework

Miembro de Microsoft Andean Speaker Group.

 

Keywords: VS2008, Blend 2, Juan Peláez., Problemas Proyectos Blend 2 Diciembre VS2005., Por que mi proyecto Blend no abre en VS2005, Visual Studio 2005.

Wednesday, December 12, 2007 5:31:04 PM (SA Pacific Standard Time, UTC-05:00)  #    Comments [0] - Trackback
Blend Expression | Silverlight | Visual Studio | VS2005 | VS2008 | WPF
# Monday, November 26, 2007

Con la llegada del los productos de Microsoft Expression y el Windows Presentation Foundation (WPF) se ha presentado la necesidad de generar archivos desde las herramientas de otros fabricantes de diseño al formato XML que puede entender Expression y Visual Studio.

 

Una de las más populares viene de Mike Swanson y permite exportar desde Ilustrator hacia XML, sin embargo durante las pruebas que hemos hecho con Juan Diego hemos tenido problemas de todo tipo.

Lo que mejor ha funcionado hasta ahora es guardar el archivo desde ilustrator en el formato CS3 y luego si pasarlo por el convertidor.

 

Espero que sea de ayuda.

 

Juan Peláez

MCTS

Keywords: Ilustrator, Blend, Microsoft Expression, Tools, WPF.

Monday, November 26, 2007 7:06:45 PM (SA Pacific Standard Time, UTC-05:00)  #    Comments [0] - Trackback
Blend Expression | Silverlight | WPF
# Wednesday, November 21, 2007

Durante Noviembre de 2007 y gracias a la invitación de Sandra Marin de Microsoft Andino tuve oportunidad de presentar, junto con Juan Diego Velasco de Gattaca, las conferencias de Bogotá y Medellín sobre los procesos de desarrollo de software entre el Diseñador y el Desarrollador usando la Suite Expression de Microsoft.

En estas conferencias mostramos un ejercicio a dos manos en el que construimos desde cero una aplicación que consume un servicio web que expone los consumos de agua de los habitantes de una ciudad imaginaria.

Durante la presentación Juan Diego exportó desde Ilustrator el logo de la empresa a Expression Design, luego en Expression Design se construyó la interfaz gráfica usando los mejores criterios de usabilidad y experiencia de usuario.

Todo lo anterior se exportó a Expression Blend y se demostraron algunos efectos y propiedades de las herramientas, en este punto interactuamos con el desarrollador y construimos el databind de los controles. Cuando Juan Diego terminó el Diseño, abrimos el proyecto en Visual Studio 2005 (con las extensiones del framework 3.0) y vinculamos una fuente de datos de un web service a la aplicación.

Despues de realizar estos ejercicios usando expression enconder codificamos un video y construimos el player de silverlight, hicimos una disección de silverlight y explicamos sus características y funcionamiento.

Para finaliza con Expression Web creamos un proyecto y usamos el player de Silverlight y las características de integración de Web para demostrar algo de Ajax y del proceso de trabajo conjunto entre el Desarrollador y el Diseñador en proyectos Web.

En el apartado de archivos relacionados publicamos la ppt que usamos ese día y el proyecto resultante.

 

Archivos Relacionados:

Presentación utilizada

Código Fuente (40+ Megas, Incluye Video)

Recursos Necesarios:

Expression Design

Expression Blend

Expression Encoder

Expression Web

Visual Studio 2005 (con extensiones para el Framework 3.0)

Plug-in de Silverlight.

IIS (para correr los servicios Web)

SQL Server 2005 (Para la base de datos que usan los servicios web)

Espero que sea de Ayuda

Juan  Peláez

MCTS

Miembro del Microsoft Speaker Group

Miembro del Andean Influencer Framework.

 

Keywords: Expression, Juan Peláez, Juan Diego Velasco, Desarrollo de Software, Mejores Practicas, Diseño Grafico, Expression Blend, Expression Design, Expression Web, Silverlight, Gattaca S.A., Desarrollo de Software, Colombia, España, Medellín, Bogotá, XML, WPF, Framework 3.0,

Pd:  En las próximas semanas estaré en Ecuador, Colombia y Venezuela presentando el Andean Road Show, un evento para desarrolladores de plataforma Microsoft. Espero verlos en los Show. Más Información en: Andean Road Show Web Site

 

Wednesday, November 21, 2007 1:22:58 PM (SA Pacific Standard Time, UTC-05:00)  #    Comments [0] - Trackback
.net | AJAX | ASP.NET | Blend Expression | Eventos Microsoft | Silverlight | Speaker Microsoft | WPF
# Thursday, October 11, 2007

Durante el desarrollo de los proyectos de Gattaca con Microsoft Expression Blend 2 Preview de Septiembre se nos ha presentado este error al compilar desde Blend

error MSB4126: The specified solution configuration "Debug|MCD" is invalid. Please specify a valid solution configuration using the Configuration and Platform properties

Compilando desde Visual Studio funciona perfecto, Juan Diego ha encontrado la solución como comenta en este Post.

Espero que sea de Ayuda.

Juan Carlos Peláez

MCTS.

Keyword. Debug, MCD, Blend, Expression, Errores Compilación, Tips.

Thursday, October 11, 2007 9:41:47 AM (SA Pacific Standard Time, UTC-05:00)  #    Comments [1] - Trackback
Articulos de Desarrollo | Blend Expression | WPF
# Monday, September 24, 2007

Microsoft ha publicado una nueva versión del producto Blend versión 2. El preview de Septiembre, en esta versión se han implementado algunas nuevas funcionalidades que son realmente importantes y que facilitarán la vida de los que están haciendo una transición o están haciendo convivir Flash y Expression.

Algunas de las más notorias características de la versión de Septiembre de Blend 2 son :

 

Integración con Visual Studio 2008 Beta 2.

Con esta versión de Blend pueden abrirse proyectos de Visual Studio 2005 y 2008, sin embargo los proyectos por default no son de VS2008 ya que no es posible abrirlos en VS2005 aunque se tenga Microsoft .Net Framework versión 3.5.

 

Creación de Controles desde objetos existentes.

Ahora Blend incluye una nueva funcionalidad que permite convertir contenido existente en un control que puede ser usados nuevamente (instanciado). El elemento seleccionado, sus recursos y sus animaciones son refactorizados en un nuevo control.

 

Mejoras en el Editor del XAML y una vista Split

El nuevo Blend permite abrir un documento XAML y ver al mismo tiempo el código y el diseño en una vista "Split", también permite modificar la fuente, el tamaño y la indentación del código XAML, en esto se acerca mucho a lo que puede hacerse con VS2008 que contiene esta misma vista Split para HTML y XAML.

BlendSeptiembreSV

 

Selector de StoryBoards.

El selector de StoryBoard (Picker) reemplazo la caja de storyboard anterior, el selector permite salir del modo de grabación, le permite crear una nueva animación, duplicar, reversar o eliminar la animación seleccionada. También puede renombrar la animación seleccionada.

BlendSeptiembreSBP

Propiedades del StoryBoard y KeyFrame.

Blend de Septiembre permite modificar las propiedades desde el panel de propiedades, ahora se puede modificar la dirección de la animación y el modelo de repetición de la misma.

 

Animación Vertex

Blend de Septiembre contiene una nueva funcionalidad para animar vértices individuales (puntos y tangentes) en una línea. Antes si se modificaba el vértice la  forma original se modificaba de forma permanente. Creo que esto resuelve un problema de animación de formas que era muy extraño para los diseñadores de Flash.

 

Barra de "Controles"

Una nueva barra sobre la tabla de arte permite identificar e incluso seleccionar objetos dentro de la jerarquía del template, esto permite cambiar rápidamente el alcance en los procesos de edición de las plantillas y los estilos en WPF.

BlendSeptiembreBC

 

Inserción de Fuentes

Blend 2 contiene nueva funcionalidad para garantizar que las fuentes que se seleccionaron en el proyecto son las mismas que el usuario verá al momento de ejecutar la aplicación, las fuentes ahora se insertan en el proyecto para garantizar su adecuada distribución.  El nuevo menó Font Embeding permite insertar la fuente.

BlendSeptiembreFE

 

 

 

Espero que sea de ayuda

 

Juan Carlos Peláez

MCTS

Miembro de Microsoft Speaker Group Andino

Miembro del grupo Influencers de Microsoft Colombia.

 

Keywords: Expression Blend, Microsoft, .Net, WPF, Nuevas Caracteristicas, StoryBoards

Monday, September 24, 2007 8:35:46 AM (SA Pacific Standard Time, UTC-05:00)  #    Comments [0] - Trackback
.net | Articulos de Desarrollo | Blend Expression | SilverLigth | WPF

Extractado del Blog de Jesse Ezell, quien ha tenido una amplia experiencia en desarrollo de herramientas, proyectos y soluciones usando flash.

Comparación entre Silverlight y Flash, principales características diferenciadoras de ambos productos.

(...)

Animaciones

Las animaciones en Flash son del tipo de transformación de matrices, uno puede aplicar una matrix a un elemento basado en frames para generar el movimiento, quiere mover algo a través de la pantalla en 3 segundos?, calcule cuantos frames estos 3 segundos necesitarán, luego calcule las matrices que cada frame requiere. No olvide que el reproductor no mantiene la misma tasa de frames a no ser que se coloque un archivo de audio en blanco, así que los 3 segundos pueden convertirse en 2, 6 o 5, dependiendo de que está haciendo el procesador.

Silverlight soporta el modelo de animaciones de WPF, que no solo es basado en tiempo más que en frames, sino que permite definir las condiciones de principio y fin y él se encargará de llevar la animación a donde se desea, no hay que trabajar con matrices, no hay que calcular posiciones en varios frames. La animación simplemente funciona.

Formas

Flash almacena sus formas usando un registro binario. Para escribir definiciones de forms, se necesita la licencia de un tercero del SDK del archivo flash o construir su propio SDK, no es muy difícil, pero requiere un curva de aprendizaje y la habilidad para manipular cosas al nivel de bit, no es el tipo de cosas que la mayoría de las personas puede escribir y depurar en una tarde.

Silverlight usa XAML, XAML está basado en texto y puede ser exportado usando cualquier simple objeto XAML, no se requiere comprar librerías especiales para escribir los archivos, tampoco hay necesidad de escribir sus propias librerías, solo se coloca algún texto en un archivo y listo, el tipo de cosas que pueden ser depurados y completados en una tarde.

Texto

Flash almacena sus fuentes usando la misma definición que usa para las formas. El reproductor no entiende archivos TTF, así que al final uno termina sumergido en las definiciones del API de Win32 y la vaga definición del formato de archivo de Flash, es posible que uno tarde años tratando de entenderse con todas las complicaciones de las fuentes.

Silverlight le permite a usted insertar la información de las fuentes true type directamente en su proyecto, y descargar esa información con el objeto que se descarga. No se necesita nada especial, no se necesita manejar nada especial, simplemente funciona.

Video / Audio

Flash soporta múltiples formatos de video, el último codec es realmente de alta calidad y con un excelente uso del ancho de banda. El problema es que si usted está creando una herramienta que exporta contenido flash...el formato que usa no está soportado por nadie más. El video codec original, la implementación H.263 propietaria de sorenson es una versión mutante de H.263. La compresion sigue la especificación muy cerca, pero hay un lista de características que se salen de la especificación y no permiten completar la construcción de un encoder propio. el ultimo encoder de On2 lo pone en una posición peor. Licenciar el Codec Sorenson no es muy costoso, pero el de On2 si lo es, la compañía está tratando de aumentar su valor de acción de los 2 dólares actuales a través del modelo de licenciamiento del codec usado por Flash. Los formatos de Audio que soporta flash son todos propietarios, excepto por el ADPCM, que nadie usa por sus problemas de compresion, y MP3 que requiere licencias de terceros para las librerías de conversión.

Comparando eso con la historia de Silverlight, Silverlight implementa el codec VC-1 para video (un estándar de la industria), también soporta WMV and WMA.  Casi todo el mundo tiene Windows Movie Maker, pero si lo no tiene no importa, por que?, porque Microsoft libero un encoder gratuito para producir WMA y WMV. Así que, no solo usa formatos que la gente puede usar comúnmente, sino que Microsoft también provee su producto con SDKs si usted quiere hacer el encoding por sí mismo. La mejor parte de esto es que Microsoft no está basado en el licenciamiento de WMA/WMV para mantenerse. No solo es fácil de integrar sino que es barato.

Scripting

Usted puede reusar clases de C# (o de VB. Nota JCP) de su propia herramienta dentro del contenido exportado. Si se toma la ruta de flash todas las clases deberan escribirse dos veces, usted necesitara clases en .net para manejar la experiencia de tiempo y clases Flash para manejar el tiempo de ejecución. Si tiene componentes de servidor tendrá que volver a .net y escribir todas las clases que el componente de runtime están usando.  Por ejemplo, digamos que uno está escribiendo un herramienta que exporta exámenes con gran contenido gráfico, con Silverligth/.Net las mismas clases y entidades que trabajan con los resultados en el player pueden usarse en el servidor. Con Flash, usted tiene que escribir toda la lógica 2 veces y tenerla sincronizada en cada cambio.

Tools

Se puede crear contenido Silverlight con las mismas herramientas que usted usa a diario. Visual Studio.net es de lejos la más poderosa herramienta de desarrollo y el IDE más popular. Usted puede poner todo el código de los componentes del servidor, los componentes de ejecución del player y las herramientas suyas en el mismo proyecto, no se requiere habilidades extras, no hay que contratar un experto en Flash para hacer  las partes gráficas. Cada desarrollador puede contribuir a completar la aplicación. (...)

Para nosotros en Gattaca la experiencia ha sido muy buena, hemos desarrollado una aplicación que llama por teléfono, imprime, se conecta con servicios web usando WCF y tiene una riqueza gráfica inmensa y todo trabajando en equipo el desarrollador en .net y visual studio y el diseñador en blend.

 

Espero que sea de ayuda.

 

Juan Carlos Peláez

MCTS

Miembro del Speaker Group de Microsoft Andino

Miembro del Grupo Influencers de Microsoft Colombia

 

Keywords: Silverlight, WPF, Flash, Visual Studio, .Net, Video, Audio, Encoders, Comparación

Monday, September 24, 2007 8:30:27 AM (SA Pacific Standard Time, UTC-05:00)  #    Comments [0] - Trackback
.net | Articulos de Desarrollo | Blend Expression | SilverLigth | WPF
# Thursday, September 20, 2007

Durante el desarrollo de nuestro proyecto Real en Blend, hemos entrado en la fase final de pruebas e instalación en el cliente. A pesar de nuestra recomendación de comprar una maquina con Windows Vista, se han comprado una maquina Dell bien bonita pero con Windows XP, por lo que nos enfrentamos a diversos problemas que serán objeto de otro post, pero este me pareció bastante especial y aburridor como para ser publicado inmediatamente.

El Problema: Al instalar la aplicación desarrollada con Blend Expression (preview de agosto) y Visual Studio 2008, los efectos de sonido asociados al StoryBoard se perdieron.

Aunque los archivos se encontraban en la misma carpeta del ejecutable, con el mismo nombre, y con todo bien creado y configurado no se ejecutaban cuando llegaba el momento. Tocándolos por aparte si estaban sonando.

La solución: Buscando en Internet encontramos que uno de los workarounds detectados de Blend (incluso publicados en la página de readme en internet que no leímos y que anexamos aqui el link: Blend) indican que tiene que tenerse la versión 10 de Windows media player o superior , asi que bajamos la version 11, y funciono perfecto, ahora nuestros storyboard tienen audio.  (y lo más increíble, es un control, es animado, tiene audio y es una camiseta!!!, adjunto una foto, Juan Diego después hablará más del tema, pero la camiseta roja, sobre la que caen flores, se mueven los tambores y tiene el sonido es un control, como un botón o una lista tiene propiedades de databind, y es un gráfico vectorial que no se pixela en ningún tamaño, toda una lista de características y tecnologías nuevas. -:)),

 

BlendReal1

Corolario: Para poder instalar una aplicación desarrollada en Microsoft Expression Blend y Visual Studio 2005 en una maquina XP, esta máquina tiene que tener el framework 3.0 instalado, lo anterior puede que no sea muy claro para todos, pero el componente que permite hacer el render del XAML que es el núcleo gráfico de la aplicación solo está disponible a partir del framework 3.0. De todas formas esta es una buena noticia para nosotros como desarrolladores por qué podemos hacer aplicaciones con Blend que tienen diseños, interactividades y experiencias de usuario muy novedosas pero que corren (en general) en la base instalada de usuarios con XP SP2.

Preguntas: Analizando este problema de hoy con Juan Diego nos entró la duda sobre lo que pasara con silverligth, es decir si meto audio a una aplicación silverlight y no tengo windows media player 10 o superior no sonará?, habrá que probarlo.

Espero que sea de ayuda, nosotros pasamos varias horas tratando de encontrar la causa de este comportamiento.

 

Juan Carlos Peláez

MCTS

Miembro de Microsoft Speaker Group Andino

Miembro del Grupo Influencer de Microsoft Colombia.

Keywords: Microsoft Expression Blend, Gattaca, Visual Studio, Framework 3.0, .Net, Windows XP, Audio, Sonido, Windows Media Player, Problemas, storyboard.

Thursday, September 20, 2007 8:24:10 PM (SA Pacific Standard Time, UTC-05:00)  #    Comments [0] - Trackback
.net | Articulos de Desarrollo | Blend Expression | SilverLigth | WPF
# Monday, September 10, 2007

Microsoft ha anunciado el lanzamiento de la version final (1.0) de Silverlight un plugin para los diferentes browsers de internet que permite ejecutar código manejado y/o javascript con presentaciones innovadoras basadas en XAML, así como mejoras en aspectos como el video.

Una de las características principales que son necesarias para que esto sea exitoso y pueda competir realmente con Flash Player es que sea interoperable entre plataformas y entre los browsers. para lograr que funcione correctamente sobre Linux el grupo de Mono (en Novell) con Miguel Icaza a la cabeza han establecido una alianza para crear MoonLight, la version Linux, de SilverLight.

Algunas de las caracteristicas importantes de Silverlight incluyen:

  • · Render de XAML en el browser, animaciones, gráficos vectoriales y todos los juguetes que contiene esta tecnología.
  • · soporte para streaming desde cualquier web server, esta característica es muy útil ya que simplifica la infraestructura y la experiencia de usuario al implementar video en un sitio web.
  • · Soporte opcional para servidores de Streaming como Windows Media Server. (Producto gratuito que hace parte de Windows Server)
  • · Muchas mejoras en la experiencia del usuario al trabajar con Video en el Servidor.

También fue anunciado el lanzamiento de la versión final de Expression Encoder, una aplicación realmente buena para generar videos que pueden usarse con Silverlight, esta aplicación permite tomar un video de casi cualquier formato y convertirlo en WMV.

Sobre la propagación de este componente, algunos cálculos independientes demuestran que los sitios propiedad de Microsoft tocan las dos terceras partes de los usuarios de internet en un año, esto sin contar con muchos otros sitios como terra, MBL, etc. que ya están usando Silverlight en sus sitios garantizarán la rápida popularización de este componente y sus aplicaciones.  

Convirtiendo Archivos a XAML.

Como una de las características fundamentales de Silvelight es el uso de XAML para el manejo de los aspectos gráficos muchos necesitarán convertir sus activos (assets) de otras herramientas o formatos a XAML, para ello algunos han creado herramientas que siguen avanzado en ese tema, una bien recomendada (aunque no la he usado personalmente) está publicada en WPF-Graphics site

Gattaca y Silverlight.

La primera compañía colombiana en anunciar la capacidad de realizar proyectos con Expression Blend y  Visual Studio, así como proyectos que utilicen las funcionalidades de Silverlight es Gattaca S.A. Esto beneficia especialmente a los clientes de Gattaca en España, Colombia y Latinoamérica.

 

Pd:

Un buen ejemplo de cómo usar Silverlight: MSN's new Election '08 site, también creo que es un buen ejemplo de cómo debería ser usada la tecnología en un proceso electoral, como el que se avecina en Colombia,  sin embargo se requiere contenido de parte de los diferentes candidatos que es algo que parece que ninguno tiene.

 

Espero que sea de Ayuda.

 

Juan Carlos Peláez

MCTS

Miembro del Speaker Group de Microsoft Andino

Miembro del Influencers Group  Colombia.

 

Keywords: Silverlight, Microsoft Expression Encoder, Microsoft Expression Blend, Encoder, Visual Studio 2008, Convertir a XAML, Proyectos con Silverligth, Proyectos con Microsoft Expression.

Monday, September 10, 2007 11:42:58 AM (SA Pacific Standard Time, UTC-05:00)  #    Comments [1] - Trackback
.net | Articulos de Desarrollo | SilverLigth | Visual Studio | WPF
# Monday, August 13, 2007

Hola a todos, en las últimas semanas hemos estado desarrollando con el grupo de diseño de Gattaca un Juego para uno de nuestros clientes y hemos decidido usar WCF y WPF, estamos usando el preview de Agosto de Blend  y hemos encontrado diversas cosas que pueden parecer interesantes a otras personas que estén llevando a cabo proyectos similares.

 

Desde la perspectiva del Diseñador Gráfico la cosa siempre se ve diferente así que estaremos publicando es este blog algunas notas sobre lo que podemos y no podemos hacer en blend, lo que es fácil y lo que no.  : http://tatuajefalso.wordpress.com/

 

Espero que sea de Utilidad.

 

Juan Carlos Peláez

MCTS

 

Keywords: Blend, Expression, WPF, Diseñadores Gráficos, Juan Peláez, Juan Diego Velazco, WCF.

Monday, August 13, 2007 7:22:08 PM (SA Pacific Standard Time, UTC-05:00)  #    Comments [0] - Trackback
.net | Articulos de Desarrollo | Blend Expression | WPF
Contácteme
mail: jpelaez at juanpelaez.com
Archivo
<November 2008>
SunMonTueWedThuFriSat
262728