Featured Posts

Silverlight Tour – Próximas fechas en MéxicoSilverlight Tour – Próximas fechas en... Si deseas aprender de una manera profunda Silverlight por parte de los Expertos, les invito que se registren a alguna de las fechas que ya tenemos programadas en la República...

Readmore

Rodrigo Díaz Concha Rss

Web Cast: Integrando Silverlight con Eclipse disponible para descarga

Posted on : 05-02-2010 | By : Rodrigo | In : Comunidades, MVP, Silverlight, Silverlight 4, Web Casts

Tags: , , , , , ,

0

Tengo el gusto de avisarles que ya está disponible para descarga el Web Cast que impartí en días pasados con el título “Integrando Silverlight con Eclipse”.  Lo pueden descargar de esta dirección.

En el Web Cast hablamos acerca de Eclipse y Eclipse4SL: el plugin para desarrollar aplicativos de Silverlight 2 en el IDE de Eclipse.  Posteriormente tuvimos una buena charla acerca de Silverlight 4, sus características, herramientas, etc.  Gracias a todas las personas que asistieron!

Los invito a que lo descarguen y comenten aquí qué opinan del mismo.

Salu2!

  • Share/Bookmark

Comprendiendo SketchFlow en 5 minutos

Posted on : 28-01-2010 | By : Rodrigo | In : Expression, Tips

Tags:

0

Aquí les dejo un excelente video que explica de manera rápida y concisa qué es SketchFlow, espero que lo disfruten.

 

Salu2!

  • Share/Bookmark

Silverlight Tour – Guadalajara (08Feb – 10Feb)

Posted on : 26-01-2010 | By : Rodrigo | In : Eventos, Silverlight, Silverlight 4, Silverlight Tour Workshop

Tags: , , , , , ,

2

El Curso de Silverlight: el Silverlight Tour Workshop en Español se llevará a cabo del 08 al 10 de Febrero 2010 en la tapatía ciudad de Guadalajara, Jalisco.  Esta es una excelente oportunidad para aprender a profundidad la plataforma de desarrollo Silverlight, la cual está convirtiendo cada vez más en la mejor opción para la construcción de aplicaciones enriquecidas para Internet.  El curso se imparte de 08:00 a 18:00 horas los tres días y está actualizado a Silverlight 4 Beta.

Los invito a que se registren ya que quedan muy pocos lugares!

¡Los esperamos!

  • Share/Bookmark

Web Cast: Integrando Silverlight con Eclipse

Posted on : 25-01-2010 | By : Rodrigo | In : Eventos, MVP, Silverlight, Web Casts

Tags: , , , ,

0

February 1, 2010
2:00 pmto3:00 pm

image

Les invito a todos(as) que asistan al Web Cast de MSDN Latam: “Integrando Silverlight con Eclipse” el próximo día 01 de Febrero a las 15:00 horas de Bogotá (14:00 horas de Ciudad de México) el cual tendré el gusto de impartir.

En este Web Cast veremos una introducción a la plataforma de desarrollo de Silverlight, sus herramientas relacionadas y nos enfocaremos al uso de Silverlight sobre el IDE de Eclipse.

Se pueden registrar en esta liga

¡Los esperamos!

  • Share/Bookmark

Silverlight TV ha llegado!

Posted on : 15-01-2010 | By : Rodrigo | In : Noticias, Silverlight

Tags: ,

0

image

Si desean estar al tanto de lo que sucede en el mundo de Silverlight no pueden perderse Silverlight TV:  un show de Channel 9 en donde podrán ver entrevistas a gente del equipo de producto, información técnica de alto nivel, tips y noticias acerca de la mejor plataforma de desarrollo para RIA’s: Silverlight!

Les invito a que chequen el primer video que ha sido estrenado el día de hoy, además les sugiero que lo agreguen a su lector de feeds favorito para que estén enterados de últimas actualizaciones y además que lo sigan en Twitter.

Salu2!

  • Share/Bookmark

Silverlight Tour – Ciudad de México (20Ene10 – 22Ene10)

Posted on : 10-01-2010 | By : Rodrigo | In : Cursos, Silverlight, Silverlight Tour Workshop

Tags: , , , , , , ,

1

Regresa El Mejor Entrenamiento de Silverlight a la capital de México el próximo día 20 de Enero 2010.  El Silverlight Tour es un curso de 3 días que se imparte al rededor de todo el mundo, de cerca de 27 de horas acerca de Silverlight.  Cabe recordarles que el curso está actualizado a Silverlight 4 Beta y para el caso de Latinoamérica y España el material está totalmente en Español.

México D.F.

Si desean de una vez por todas recibir una capacitación intensa acerca de esta plataforma tecnológica esta es sin lugar a dudas su mejor opción.  El registro sigue abierto y aún hay lugares así que ¡regístrate ahora!

Para mayor información:

Página Oficial

Página Oficial para el Curso en Español

¡Los esperamos!

  • Share/Bookmark

Silverlight 4 Beta – Confianza Elevada: Acceso al Sistema de Archivos

Posted on : 08-01-2010 | By : Rodrigo | In : Silverlight 4

Tags: , ,

2

En un artículo anterior detallamos el nuevo modelo de Confianza en las aplicaciones de Silverlight 4: la Confianza Elevada.  En este artículo usaremos este modo para poder acceder al sistema de archivos de la máquina del usuario sin necesidad de utilizar las cajas de diálogo OpenFileDialog o SaveFileDialog.

El proyecto

Para demostrar el acceso al sistema de archivos de la máquina del usuario crearemos una sencilla aplicación que muestre las imágenes de la carpeta “Mis Imágenes” en una lista y al hacer clic sobre cada una mostrar la imagen seleccionada.

Iniciaremos creando un nuevo proyecto de Silverlight 4 en Visual Studio .NET 2010 y lo nombraremos Demo.SL4.ConfianzaElevada.SistemaArchivos aceptando la opción predeterminada de crear un proyecto Web para probar la aplicación de Silverlight.

Además, necesitaremos configurar la aplicación para permitir la instalación Afuera del Navegador y será en la misma caja de diálogo de configuración en donde deberemos establecer el nivel de Confianza Elevada.  En el artículo anterior detallamos cómo hacer esto.

Enumerador SpecialFolder

Una vez instalada la aplicación en la máquina del usuario la clave será obtener la ruta en donde está la carpeta “Mis Imágenes”.  Esto es debido a que en la versión de Silverlight 4 Beta (la última versión al momento de crear este artículo) únicamente tendremos acceso a las carpetas del perfil del usuario (las carpetas Mi *) sin necesidad de las cajas de diálogo.  En vez de establecer la ruta de manera manual que potencialmente podría variar entre diferentes equipos y obviamente entre diferentes plataformas también es buena idea utilizar el enumerador SpecialFolder, quien nos regresará la ruta física según el valor seleccionado.  A continuación se muestra el código relacionado al evento Loaded de la aplicación en donde usamos el enumerador SpecialFolder en conjunto con el método GetFolderPath() de la clase Environment:

void MainPage_Loaded(object sender, RoutedEventArgs e)
{
    //Checamos si está ejecutando en Confianza Elevada
    if (Application.Current.HasElevatedPermissions)
    {
        //Obtiene la ruta a la carpeta "Mis Imágenes"
        string myPicturesPath = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures);

        //Establece como fuente de datos la lista de archivos en la carpeta
        //siempre y cuando sean JPG o PNG
        pictureList.ItemsSource =
            System.IO.Directory.EnumerateFiles(myPicturesPath).Where(f => f.EndsWith(".jpg") || f.EndsWith(".png"));
    }
}

Es muy importante destacar la propiedad HasElevatedPermissions de la clase Application ya que esta propiedad nos indica ultimadamente si la aplicación está ejecutando en Confianza Elevada o no.  Por tal motivo será buena idea encerrar la ejecución de código en el bloque if{}.

Si bien las únicas carpetas a las que tenemos acceso sin necesidad de utilizar OpenFileDialog y SaveFileDialog son aquellas del perfil del usuario, a través de las cajas de diálogo podemos seguir teniendo acceso a cualquier carpeta que el usuario indique.  Incluso, en Confianza Elevada podemos obtener más información acerca de los archivos seleccionados a través de estas cajas de diálogo, por ejemplo, la ruta física completa del archivo en cuestión

El resultado de la aplicación es el siguiente:

image 

Resumen

Las aplicaciones que ejecutan en Confianza Elevada tienen más funcionalidad, como por ejemplo el acceso al sistema de archivos de la máquina del usuario.

Sin usar las cajas de diálogo tradicionales OpenFileDialog y SaveFileDialog podemos acceder a las carpetas del perfil del usuario: Mis Imágenes, Mis Videos, Mi Música y Mis Documentos y potencialmente leer los archivos y su información relacionada.

Puedes descargar el código aquí

Puedes ver la demo en vivo aquí (requiere Silverlight 4 y ejecutar la aplicación Fuera del Navegador)

  • Share/Bookmark

Silverlight 4 Beta – Confianza Elevada: Introducción

Posted on : 08-01-2010 | By : Rodrigo | In : Silverlight 4

Tags: ,

3

Introducción

De manera predeterminada, las aplicaciones de Silverlight ejecutan en un ambiente conocido como un sandbox el cual permite que corran en confianza parcial.  Las aplicaciones que ejecutan en confianza parcial tienen acceso limitado a recursos y están limitadas en funcionalidad para evitar escenarios en donde el código desee hacer algo dañino al usuario.

Silverlight 4 incluye la posibilidad de ejecutar las aplicaciones en Confianza Elevada.  Cuando una aplicación ejecuta de esta manera se superan las limitantes del propio sandbox permitiendo que el aplicativo tenga acceso a recursos antes inaccesibles y a escenarios de funcionalidad casi como si se tratase de una aplicación de escritorio.

A continuación enlisto las posibilidades que se abren al crear este tipo de aplicaciones:

Acceso al Sistema de Archivos

Las aplicaciones que ejecutan en Confianza Elevada tienen acceso al Sistema de Archivos de la máquina del usuario sin necesidad de utilizar las cajas de diálogo OpenFileDialog y/o SaveFileDialog: los mecanismos clásicos utilizados para aplicaciones en confianza parcial.  No obstante, a la fecha de creación de este artículo las únicas carpetas a las que puede tener acceso en Confianza Elevada son las del perfil del usuario: Mis Documentos, Mis Imágenes, Mis Videos y Mi Música.

Mis Documentos, Mis Imágenes, Mis Videos y Mi Música son las únicas carpetas –por lo menos en Silverlight 4 Beta- a las que puede tener acceso una aplicación que ejecute en Confianza Elevada

Acceso ‘relajado’ a otros Dominios

De manera predeterminada, una aplicación que ejecuta en confianza parcial requiere uno de los archivos de política de seguridad (crossdomain.xml o clientaccesspolicy.xml) para poder acceder a un endpoint o recurso localizado en un dominio diferente al dominio en donde está la aplicación Silverlight.  Cuando se ejecuta en modo de Confianza Elevada este requerimiento es anulado, permitiendo que los aplicativos accedan a cualquier recurso en dominios externos.

Soporte completo al modo Pantalla Completa

Las aplicaciones que ejecutan en confianza parcial tienen acceso limitado al teclado cuando corren en Pantalla Completa, esto para evitar que una aplicación que simule la pantalla de credenciales del sistema operativo engañe al usuario.   Asimismo, en confianza parcial se muestra un mensaje indicando que la aplicación está corriendo en Pantalla Completa.  La siguiente figura muestra el mensaje que es mostrado al usuario:

image

Cuando una aplicación está configurada y corre en modo de Confianza Elevada el anterior mensaje es anulado y además la aplicación permite tener acceso completo al teclado.

Inicialización del Usuario ‘relajada’

Hay algunas características de la plataforma Silverlight que requieren ser invocadas por algún evento iniciado por el usuario: el clic de un botón del mouse o del teclado.  En modo de Confianza Elevada este requisito se suaviza permitiendo así que la característica en cuestión sea invocada desde eventos automáticos de la aplicación (el evento Load tal vez).  Un ejemplo claro es precisamente el punto anterior, el modo de Pantalla Completa que en confianza parcial exige que sea iniciado por algún evento del usuario.  Por otro lado, en Confianza Elevada el modo de Pantalla Completa podrá ser invocado desde cualquier evento de la aplicación.

Acceso a COM

En Confianza Elevada, las aplicaciones podrán invocar componentes COM para extender su funcionalidad.  Cabe mencionar que esta característica está presente únicamente para el sistema operativo Windows ya que en Mac OS no existe el concepto de COM.

Un punto en donde esta característica es especialmente útil es al integrar nuestras aplicaciones con Office, ya que podríamos desde Silverlight invocar vía COM las funcionalidades de cualquiera de sus productos.  En realidad, cualquier producto que exponga un componente de COM podría ser invocado desde nuestros aplicativos de Silverlight para complementar su funcionalidad.

Habilitando la Confianza Elevada

Ya que el modo de Confianza Elevada únicamente está presente para aplicaciones que ejecuten Afuera del Navegador, se ha agregado en la caja de diálogo de configuración de este tipo de aplicaciones la opción de ejecutar en Confianza Elevada:

image

Al habilitar esta opción, el manifiesto de la aplicación cambiará apropiadamente.  El siguiente fragmento de código muestra el archivo OutOfBrowserSettings.xml, archivo que será posteriormente incluido en el manifiesto presente en el archivo .xap:

<OutOfBrowserSettings ShortName="Demo.SL4.ConfianzaElevada Application" EnableGPUAcceleration="False" ShowInstallMenuItem="True">
  <OutOfBrowserSettings.Blurb>Demo.SL4.ConfianzaElevada Application on your desktop; at home, at work or on the go.</OutOfBrowserSettings.Blurb>
  <OutOfBrowserSettings.WindowSettings>
    <WindowSettings Title="Demo.SL4.ConfianzaElevada Application" />
  </OutOfBrowserSettings.WindowSettings>
  <OutOfBrowserSettings.SecuritySettings>
    <SecuritySettings ElevatedPermissions="Required" />
  </OutOfBrowserSettings.SecuritySettings>
  <OutOfBrowserSettings.Icons />
</OutOfBrowserSettings>

Como podrán observar en el fragmento de código anterior, es el elemento <SecuritySettings> el cual indica si la aplicación ejecutará en Confianza Elevada o no.

Las aplicaciones Fuera del Navegador son las únicas que tienen la posibilidad de ejecutar en Confianza Elevada.  Las aplicaciones que corren adentro del navegador siempre ejecutarán en confianza parcial

Asimismo, la caja de diálogo de instalación de las aplicaciones cambia, advirtiendo al usuario que únicamente instale aplicaciones de sitios de confianza, ya que potencialmente este tipo de aplicativos puede dañar su equipo o hacer cosas maliciosas.

image 

Resumen

En Silverlight 4 se agrega el modo de Confianza Elevada para que este tipo de aplicaciones superen las limitantes ya conocidas de la confianza parcial: modo predeterminado en el que ejecutan las aplicaciones de Silverlight.  Esto es especialmente interesante y emocionante para las personas que nos dedicamos a crear soluciones con esta plataforma ya que la línea de separación entre aplicaciones Web y de Escritorio cada vez es más delgada.

No obstante, si bien al habilitar esta opción se abre una puerta a mayores posibilidades de funcionalidad, también se abre otra: la de escenarios potencialmente maliciosos.  Pero aquí debemos ser muy claros: es y será la responsabilidad de cada usuario el decidir si instala o no en su equipo este tipo de aplicativos; sin embargo, es en este campo de cultura digital en donde falta mucho por hacer ya que independientemente de la plataforma tecnológica, es necesaria la educación en términos de seguridad y riesgo a toda persona que tenga contacto con un equipo de cómputo, para evitar a toda costa la propagación de aplicativos que tengan comportamientos contraproducentes, sobre todo a aquellas personas que no están directamente ligadas al ámbito tecnológico.

Un mundo de posibilidades está a nuestro alcance, aprovechémoslo con responsabilidad.

  • Share/Bookmark

MIX 2010

Posted on : 23-12-2009 | By : Rodrigo | In : Eventos, MIX 2010

Tags: , , , ,

0

March 15, 2010toMarch 17, 2010

image

Hola a todos les recuerdo que ya está abierto el registro para el MIX 2010 a celebrarse del 15 al 17 de Marzo 2010 en el hotel Mandalay Bay de Las Vegas, Nevada.  MIX es el evento magistral de Microsoft para tecnologías Web en donde en los últimos años han dado a conocer las últimas versiones y futuro de Silverlight y en este evento creo yo no será la excepción.

Les invito a que se registren y aprovechen la promoción existente para pagar antes del 15 de enero un precio reducido de $795 USD.

¡Nos vemos en Las Vegas!

  • Share/Bookmark

Silverlight 4 Beta – Brocha HTML

Posted on : 10-12-2009 | By : Rodrigo | In : Silverlight 4

Tags: , ,

0

En un artículo anterior dimos a conocer el nuevo control WebBrowser, incluído como parte de Silverlight 4 Beta, el cual nos permite mostrar contenido HTML en nuestras aplicaciones Fuera del Navegador, siendo ese contenido un HTML creado de manera dinámica o incluso alguna página Web externa.  En este artículo detallaremos el elemento HtmlBrush que nos brinda la oportunidad de ‘pintar’ nuestros elementos con el contenido cargado en el control WebBrowser.

El proyecto

Iniciaremos creando un nuevo proyecto de Silverlight 4 en Visual Studio 2010 Beta 2 y aceptaremos la opción predeterminada de crear una aplicación Web para probar la aplicación.

Clase HtmlBrush

La clase HtmlBrush es una clase derivada de TileBrush y nos permite usar un control WebBrowser con contenido HTML como fuente para poder pintar cualquier propiedad de tipo Brush en los elementos de Xaml.  La clase tiene la propiedad SourceName la  cual indica el nombre del control WebBrowser que deseamos utilizar como fuente.  Asimismo, expone el método SetSource() para que programáticamente podamos establecer la fuente sobre este tipo de brocha.  El siguiente fragmento de código muestra la utilización más básica de esta brocha en Xaml:


<Ellipse.Fill>
    <HtmlBrush x:Name="htmlbrush"
               SourceName="wb" />
</Ellipse.Fill>

El código anterior establece la propiedad SourceName al WebBrowser deseado, en este caso identificado con la variable wb.

HtmlBrush.Redraw()

La clase expone el método públic Redraw() el cual obliga a la brocha a dibujarse asimisma ya que no lo hace de manera automática.  Por este motivo, si tenemos como contenido del WebBrowser alguna página Web que incluya alguna animación o video necesitaremos ejecutar este método de manera recurrente, tal vez a través de un DispatcherTimer.  El siguiente fragmento de código muestra dicha técnica:

//Crea un timer para redibujar la brocha cada medio segundo
DispatcherTimer timer = new DispatcherTimer() { Interval = TimeSpan.FromMilliseconds(500) };
timer.Tick += (s, a) => htmlbrush.Redraw();  //Obliga a la brocha a dibujarse asimisma
timer.Start();

Cabe mencionar que esta brocha está disponible únicamente en Aplicaciones Fuera del Navegador, ya que ese es uno de los requisitos para el control WebBrowser.

Resultado

La siguiente figura muestra la aplicación aquí descrita finalizada, en donde podemos observar que la elipse del lado derecho es ‘pintado’ por medio de la brocha de tipo HtmlBrush.  Asimismo, la aplicación incluye un control de tipo Slider enlazado a una Proyección en Perspectiva, para poder corroborar que el comportamiento de esta clase es similar al resto de brochas ya conocidas en la plataforma.

image

Puedes descargar el código aquí

Puedes ver el demo en vivo aquí (requiere Silverlight 4 y tener la aplicación Fuera del Navegador)

  • Share/Bookmark