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.
Acabo de trasladar el sitio www.juanpelaez.com y otros sitios asociados a un nuevo proveedor de hosting, estuve un par de años con el anterior proveedor pero de repente decidieron migrar sus servidores de correo a un servidor Linux (sin notificar a los usuarios), como resultado de la migración estuve desde el 29 de junio hasta el 9 de Julio sin correo, llame en varias ocasiones a Servicio al Cliente, pero nunca pude obtener una solución, así que solo me quedo cambiarme de proveedor, curiosamente el proceso de retirarme del servicio si fue muy rápido, sin embargo no pareció importarle a nadie las razones por las que me estaba cambiando (nadie me pregunto nada). Hosting Pues bien me cambie a mosso (the hosting Cloud) un nuevo concepto de hosting realmente novedoso, no preguntan por servidores dedicados, compartidos, virtual servers ni nada de eso, es puro software como servicio (SaaS) o incluso servicios como servicios. (SsaaSs), así que me inscribo en el sistema, me crean una consola de gestión de mis sitios en 5 minutos y estoy listo para empezar a distribuir servicios de hosting: · Puedo crear mis clientes · Luego puedo crear uno o muchos sitios para cada cliente, incluidas cuentas de correo ilimitadas. · Puedo establecer si a este cliente se le va a facturar (debería!) y el sistema genera las facturas por mí para que yo se las envíe a mis clientes. · Puedo establecer si los sitios de mis clientes son en Windows (IIS7,.Net 3.5) o Php, Linux, incluso RubyonRails. · Tengo buenos reportes de uso, de facturación, etc. · Tengo un buen servicio de soporte por Mail, LiveChat y Telefono, 7x24. · Todo esto desde la consola Web de administración del sistema. · tengo 500GB de ancho de banda, 50GB de espacio en Disco y 3 Millones de peticiones web por Mes. Si la anterior lista no le impresiona piense en esto, antes tenía un servidor Windows, si alguna vez quería montar una aplicación de pruebas en Linux con Apache, necesitaba otro servidor de hosting, así que estaba realmente limitado a lo que estaba pagando: Un servidor Windows. Ahora no importa si alguna vez necesito un website en Apache Php o en Ruby on Rails simplemente lo tengo, es un cambio de paradigma importante en vez de preguntarme por hardware o Sistemas operativos me preguntan por la necesidad que tengo: Sitios Web. Yo mismo migre los apuntadores de los DNS desde mi antiguo proveedor al nuevo, empecé el proceso de registro en este nuevo proveedor a las 3 de la tarde y a las 5pm ya tenía mi correo nuevamente arriba. Apenas termine de cargar los archivos me conecte con el servicio al cliente (10pm) y rápidamente configure mis aplicaciones (básicamente un blog de DASBlog), la gente parecía saber de su tema. Así que en menos de 12 horas ya tenía desde cero mis sitios corriendo en un nuevo servidor. En teoría solo pago lo que consumo (con un mínimo de 100 dólares) pero parece un buen trato. Por cierto este servicio es un emprendimiento nuevo de RackSpace que es la compañía mejor clasificada para servicios de hosting de acuerdo con las revisiones de webHost Magazine Software as a Service Este es un tema interesante (mas allá de mi cambio de dominio) por que se habla mucho de computación en la nube (Cloud Computing) y hay muchos rumores y realidades que van desde alquiler de Exchange y SharePoint por parte de Microsoft hasta inversiones gigantes de Microsoft en infraestructura (3 datacenters nuevos en USA, el de Chicago el más grande de USA, etc) hasta nuevo servicios de publicación de aplicaciones corporativas en Internet que serán anunciados en las próximas conferencias de Desarrolladores. Así que empezar a ver este tipo de servicios es realmente un aviso de cómo será el futuro de internet y de la computación. En el software as a Service (SaaS) un tema muy importante es el aprovisionamiento (Provisioning) del servicio, es un concepto interesante porque un servicio NECESITA ser escalable y eso solo es posible con sistemas automáticos, por ejemplo en este servicio de hosting todo pasa sin intervención de humanos, creo los sitios, creo las cuentas, facturo, etc., el sistema de aprovisionamiento es clave para el éxito del software que será rentado. Y claro ahora que tengo otras preocupaciones como el espacio que uso y demás empiezo a replantearme la forma como estoy usando otros servicios de la Nube, por ejemplo: a partir de ahora todas las fotos las publicare en flickr.com y solo colocares los apuntadores en mis posts, de pronto es un poco más de trabajo desde Windows Live Writer al momento de publicar, pero seguro vale la pena. Todos los archivos los estoy publicando en skydrive.live.com y todos los videos los voy a poner en Silverlight streaming, de esta forma ahorro montones en ancho de banda, y espacio. Y claro el toque final es poner todos mis RSS a apuntar a través de feedBurner, para que los que se suscriban al blog no gasten mi precioso ancho de banda. Juan Carlos Peláez Arquitecto de Software Keywords: Software as a Service, Cloud Computing, Hosting, Juan Peláez, Juan Carlos Peláez, Windows Live Services, Blog, DasBlog.
Una de las características que harán realmente exitoso a Silverlight es su implementación en diferentes plataformas, ya se sabe que Novell ha realizado un acuerdo con Microsoft para que Miguel Icaza y el grupo de Mono desarrollen el plugin para cualquier OS sobre linux. Por lo anterior es importante destacar este anuncio que hacen los desarrolladores de Moonlight que han logrado independizarlo (quitar las referencias de Mono) a la version 1.0 de Moonlight. Lo anterior tiene mucho sentido ya que al igual que en Silverlight 1.0, la version 1.0 de Moonlight solo corre código en JavaScript, asi que si no necesito el CLR y la libreria de clases, para que meterle todo el Mono?. Espero que sea de ayuda Juan Carlos Peláez MCTS Miembro de Microsoft Speaker Group Andino. Miembro del grupo de Influencers de Microsoft Colombia. Keywords: Silverlight, Mono, Moonlight.
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.
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.
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.
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.
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
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
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. -:)),
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.
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.
|