Featured Posts

Diplomado de desarrollo de aplicaciones para Windows Phone 7.1–LatinoaméricaDiplomado de desarrollo de aplicaciones para Windows... Los invito cordialmente a que se inscriban al Diplomado de desarrollo de aplicaciones para Windows Phone 7.1, impulsado por Microsoft México para todo el mundo!  Completamente...

Readmore

Nueva carrera en Microsoft Virtual Academy: Windows Phone 7.1 (Mango)Nueva carrera en Microsoft Virtual Academy: Windows... Tengo el gusto de darles a conocer la disponibilidad de una nueva carrera en el Microsoft Virtual Academy (MVA): La carrera de Windows Phone 7.1 Mango. Esta es la descripción...

Readmore

Nueva carrera en Microsoft Virtual Academy: Silverlight 4Nueva carrera en Microsoft Virtual Academy: Silverlight... ¿Eres estudiante de Microsoft Virtual Academy (MVA)? Tengo el gusto de anunciarles oficialmente el lanzamiento de la nueva carrera de Silverlight 4 para esta plataforma educativa. La...

Readmore

Rodrigo Díaz Concha Rss

Silverlight para Ninjas–02 de Septiembre 2011 | Microsoft Costa Rica

Posted on : 19-08-2011 | By : Rodrigo | In : Cursos, Silverlight 4, Silverlight 5

Tags: , , , , , , ,

0

image

Como parte de las actividades que se estarán realizando en San José, Costa Rica con motivo del Quinto Simposio Latinoamericano de SharePoint, impartiré un curso privado en las instalaciones de Microsoft Costa Rica el 02 de Septiembre 2011. El curso es el Master Class: Silverlight para Ninjas.  Este curso está enfocado a temas avanzados de arquitectura de aplicaciones de Silverlight, por lo que una experiencia mínima de 6 meses con la plataforma es absolutamente necesaria.

Aquí la información:

Descripción

Contar con los fundamentosSilverlight de la plataforma de desarrollo Silverlight no es suficiente para construir Aplicaciones de Negocio robustas, escalables y de fácil mantenimiento.  Una noción profunda y detallada de la plataforma es necesaria para poder llevar a otro nivel tus aplicativos desarrollados con esta tecnología.

En este curso aprenderás técnicas y conceptos avanzados de Enlace de Datos, Comunicaciones y el Patrón de Diseño Model-Windows PhoneView-ViewModel (MVVM).  ¡Los conceptos que aquí aprendas se pueden emplear en Aplicaciones de Escritorio construidas con Silverlight 4 o 5, y también en aplicaciones de Windows Phone 7  y 7.5!

Temas

  • Enlace de Datos Avanzado
  • Comunicaciones
  • El Patrón de Diseño Model-View-ViewModel (MVVM)
  • … y más!

Audiencia

Desarrolladores profesionales con experiencia mínima de 6 meses en la plataforma de desarrollo de Silverlight

Costo

150 Dólares Americanos (USD) por participante (ó 75.000 Colones Costarricenses)

Fecha y Horario

02 de Septiembre 2011

09:00 a 18:00 horas

Lugar

Microsoft Costa Rica

Oficentro Plaza Roble (frente del Centro Comercial Multiplaza Escazú), Edificio El Patio, Piso 2

Escazú, San José, Costa Rica

¿Qué llevar?

  • Laptop con procesador Intel Core Duo o superior con 2 GB de RAM (4 GB o más recomendados) y 15 GB o más de espacio disponible en el disco duro
  • Visual Studio .NET 2010 en inglés (cualquier edición)
  • Visual Studio .NET 2010 Service Pack 1 en inglés
  • Visual Studio .NET 2010 Tools For Silverlight 5 Beta
  • Expression Blend Preview for Silverlight 5 Beta
  • Prism 4.0
  • Adobe Reader

Para una mejor experiencia, te recomendamos instalar en tu equipo todas las herramientas necesarias usando el Web Platform Installer. Visita http://www.silverlight.net/getstarted para mayor información.

Nota: Toma en cuenta traer el software en inglés, ya que al día de hoy las herramientas de Silverlight 5 Beta solo están disponibles en ese idioma y no pueden ser instaladas si Visual Studio está en español

¿Cuándo debo pagar?

La fecha límite de pago para participar en el curso será el día 02 de Septiembre a las 9:00 am

¿Cuáles son las formas de pago?

Las formas de pago son:

  • A través de transferencia bancaria internacional (Wire Transfer)
  • En efectivo, en Dólares Americanos (USD) o Colones.  El pago deberá ser en persona el día 01 de Septiembre o el día de inicio del curso.

Registro

¡El cupo es limitado! Para registrarte al curso, manda un correo a info@devmasters.com.mx con tu nombre completo tal y como quieres que aparezca en tu Certificado de asistencia.  Te enviaremos por correo la información bancaria en donde podrás pagar el costo total del curso antes de la fecha límite, para asegurar tu lugar. Por favor no olvides marcar la dirección info@devmasters.com.mx como dirección segura.

¿Qué incluye?

  • Un día completo de intenso entrenamiento
  • Material digital completamente en Español
  • Coffee Break
  • Al registrarte a este curso, recibe un 30% de Descuento para asistir al Quinto Simposio Latinoamericano de SharePoint que se llevará a cabo el 31 de Agosto 2011

¡Allá nos vemos!

¿Navajas o Llaves?

Posted on : 13-08-2011 | By : Rodrigo | In : General, Silverlight, Silverlight 5

Tags: , , ,

6

Permítanme presentarles a dos personas: él es una persona que se dedica a reparaciones automotrices, ella es ama de casa.  Ella, en sus labores cotidianas se encuentra a veces con la necesidad de hacer alguna reparación rápida, o el ajuste de algún aparato eléctrico en su hogar.  Él desmonta neumáticos y desarma motores en un taller mecánico.

Ella ha encontrado suficiente el tener esto a la mano en su hogar:

Swiss Army Knife

Él requiere este tipo de herramienta para realizar correctamente su trabajo:

Wrenches

¿Cuál de las dos personas aquí descritas tiene la mejor herramienta? 

La respuesta es: ambos.

Estas personas, han encontrado cuál herramienta es la mejor para sus necesidades reales.  Probablemente, si él utilizara la herramienta de ella, sería deficiente en sus tareas diarias y encontraría que no podría hacer todo lo que su trabajo –o su cliente- le exigen.  Y viceversa: ella probablemente encuentre que es un exceso el tener tanta herramienta si tan solo lo que ella necesita es apretar un tornillo, limar una astilla metálica o abrir una botella.

El escenario suena lógico ¿cierto?

Este escenario lo podríamos aplicar en una gran cantidad de casos, y en muchos de ellos probablemente estaríamos de acuerdo la mayoría de nosotros. Y la vida continuaría y seguiríamos pensando en otras cosas más importantes.

Sin embargo, esto no ha sido así con el tema de Silverlight v.s. HTML 5 (o HTML 5 v.s. .NET, o Flash v.s. HTML 5 o escribe aquí cualquier tema de discusión tecnológica: ________________), el cual ha sido hablado hasta el cansancio por una gran cantidad de personas -entendidas y no entendidas en el tema- y que ha llevado a la polarización de las opiniones, en un mundo en donde cualquier persona tiene voz y voto gracias a las redes sociales.  Esto no está mal realmente, pero es preocupante el leer opiniones tendenciosas que solicitan optar por blanco o negro.  Y esto realmente –creo- no debe ser así, ya que hay una gama infinita de grises enmedio de tan tajantes opciones.

HTML 5

Swiss Army KnifeHTML 5 es la quinta versión del estándar, el cual es el común denominador de todas la aplicaciones Web.  Además, prácticamente es visible a través de cualquier navegador en el planeta: Firefox, Chrome, Opera, Safari, IE, el navegador del Wii, el navegador del Xbox, el navegador del PlayStation, el de tu teléfono Motorola, en tu Nokia, en tu iPod, iPhone y iPad, en tu BlackBerry, etc.etc.  No cabe duda que esta es LA tecnología a escoger si tu objetivo es crear páginas/sitios Web, ya que seguramente querrás que tu sitio sea visible desde cualquier lado ¿no es así?  HTML 5 cuenta con muchas mejoras y nuevas funcionalidades para crear sitios altamente atractivos, dejando atrás la necesidad de instalar un plugin como Flash o como Silverlight, los cuales fueron creados para subsanar las lagunas de funcionalidad presentes en el estándar actual: HTML 4.01.  Estoy convencido que HTML sigue y seguirá siendo la “lingua franca” para todos los diseñadores y desarrolladores Web.

No obstante, HTML 5 aún no es implementado completamente por todos los navegadores.  Claro está, algún día todo navegador entenderá HTML 5 completamente, pero creo será un callejón sin salida ya que las empresas que crean los navegadores hacen una implementación única del estándar, por lo que el “estándar” probablemente quede en una paradoja interminable.  Seguirán existiendo las famosas páginas que dicen “Este sitio requiere _________ versión ___ o superior”.

Silverlight 5

Wrenches

Silverlight es una plataforma de desarrollo de Aplicaciones de Negocio, que utiliza el lenguaje XAML para la definición de sus Interfaces de Usuario (Vistas) y que incluye el Common Language Runtime (CLR) por lo que soporta los lenguajes de la plataforma .NET.  Está respaldado por extraordinarias herramientas como Visual Studio .NET y Expression Blend.

Silverlight 1.0 nació como “el reproductor de medios de Microsoft” y/o como “el competidor de Flash para la creación de animaciones”.  Hoy es día que estos estigmas siguen estando presentes en la percepción de muchas personas, medios e incluso empleados de Microsoft.

Posteriormente, con Silverlight 2, la promesa era algo así:

Silverlight en un inicio

Pero debido a la tracción que tuvo HTML 5 (excelente decisión) para ser la tecnología para la Web (y sumándole a que Apple decidió no soportar Flash y/o Silverlight en iOS) hubo un “cambio de estrategia” o como decimos en el medio el “BogMu-gate”.  Esta declaración ambigua y confusa (que no debe extrañar a nadie que conozca el medio informático) ayudó a oscurecer aún más la percepción que indiqué arriba.

Sin embargo, hace completamente sentido que Silverlight no se tome como un reemplazo de HTML –porque nunca ese ha sido su objetivo-, y además que se apoye completamente el estándar HTML 5 como lenguaje para la Web.  ¿Quién no quiere que su página o sitio se vea correctamente en cualquier dispositivo y navegador!? Hey, incluso aplicaciones Web también en algunos escenarios sería adecuado crearlos con HTML 5! (¿conoces SkyDrive?).  En un mundo en donde hay más dispositivos móviles que equipos de cómputo de escritorio, hace completamente sentido estandarizar la manera en la que se presenta la información.

Silverlight es una extraordinaria tecnología para la creación de Aplicaciones, principalmente de Negocios para el sistema operativo Windows y Mac OS.  Ese es su enfoque desde la versión 3.  Aplicaciones altamente funcionales, robustas y –con patrones de arquitectura adecuados- de fácil mantenimiento, flexibles, que aprovechen todo el poder de cómputo local y de la nube y que puedan ser construidos con herramientas y lenguajes modernos.  Aplicaciones que puedan ejecutar tal y como ejecutan las aplicaciones de escritorio hoy en día.

Personalmente, estoy involucrado en varios proyectos actualmente, en producción, que han sido bastante exitosos gracias a la plataforma de desarrollo de Silverlight, y que según su contexto no hacía sentido hacerlos con HTML 5 y que además, de hacerlo, se hubieran tardado mucho más tiempo del planeado.

¿Entonces?

¿Qué usar HTML o Silverlight?

¡Depende de qué necesites tú o tu cliente! ¿Funcionalidad? ¿Alcance? ¿Ambos? ¿En qué tecnologías tienes experiencia? ¿En cuáles lenguajes tienes experiencia?  Por ejemplo, si quieres hacer una página Web o sitio Web: no hay duda, HTML es y será el camino a seguir!  Para muestra, un botón: este blog usa WordPress, que está hecho con PHP y –para mí- es el mejor motor de blogging del mundo.  Punto.  Yo jamás construiría mi blog usando Silverlight o Flash, ya que resultaría contraproducente al no poder leerlo en, por ejemplo, el iPad 2.  Pero por otro lado, si mi cliente requiere una aplicación, altamente funcional, robusta, flexible, de fácil mantenimiento, reutilizando código existente de .NET… probablemente Silverlight será mi primera opción.

Recuerda, no hay solo blanco o negro, sino una gama infinita de grises.

Esto es para mí, el escenario actual:

HTML5 vs Silverlight

Obviamente, faltan en ese diagrama más tecnologías.  ¿En donde posicionarías tu tecnología favorita o la que más usas actualmente?

Según ______________, HTML 5 reemplazará Silverlight (y Flash, y .NET, y Java….)

No creo que eso suceda en muchos años por venir.  Te sugiero:

1. Cuestiona todo comentario impreso o verbal

2. Investiga y aprende.  Usa la tecnología.

3. Regresa al punto #1

Creo que la misma sentencia la podríamos formular: HTML 5 reemplazará a Objective-C/Cocoa/MonoTouch para la construcción de aplicaciones en iOS.  ¿Hace sentido esto?

Según ______________, a partir de Windows 8, todas las aplicaciones ahora serán construidas con HTML 5 y Javascript.

HTML 5 y Javascript serán una opción más para construir aplicaciones, según lo mencionado por Microsoft.

Microsoft es una empresa ENORME de tamaño, que está constituida a su vez, por “empresas” más chicas y todas ellas buscan sostenerse y justificar su existencia.  Algunos proyectos han fracasado, otros permanecen y permanecerán.  Otros se transformarán y evolucionarán.

Todo el futuro de la plataforma de Windows 8, será dada a conocer públicamente en durante el evento //Build/ que se llevará a cabo del 13 al 16 de Septiembre 2011.  La información está cerrada y hay voto de silencio hasta el evento.  ¿No podrás asistir al Build? No te preocupes, las sesiones estarán disponibles un día después (no sé si todas o solo el keynote).

Conclusiones

Usa la tecnología que más se adecúe a las necesidades de tu proyecto.  Todas tienen pros y contras; no existe la tecnología perfecta y tampoco solo blanco o negro.  Hay mucho qué aprender pero los días solo tienen 24 horas, da prioridad a lo que verdaderamente importa.

Salu2!!!!!!!!!!!!

Notas

La foto de la navaja suiza no es mía, la tomé de esta página.

La foto de las llaves no es mía, la tomé de esta página.

Accediendo a tus ensamblados de .NET desde Silverlight–Parte 2

Posted on : 27-07-2011 | By : Rodrigo | In : Silverlight, Silverlight 4, Silverlight 5

Tags: , ,

0

En el artículo anterior, vimos el uso de la clase AutomationFactory para poder crear objetos de tus ensamblados creados con el .NET Framework 4.0, y utilizarlos en Silverlight.

En el ejemplo, invocamos un método como cualquier otro y efectivamente obtenemos los resultados esperados, en este caso, la lista de unidades lógicas del equipo del usuario en donde está ejecutando la aplicación.  Pero ¿qué pasaría si necesitáramos manejar un evento que es disparado por el componente (tu ensamblado) de .NET?  En este caso la implementación debe cumplir con ciertos requisitos.

Atributo ComSourceInterfacesAttribute

Para que podamos exponer un evento en nuestro ensamblado, y que pueda ser manejado por la aplicación de Silverlight a través de automatización, debemos marcar nuestra clase que implementa el evento con el atributo ComSourceInterfacesAttribute, el cual indica una lista de interfaces que contienen los eventos a exponer en dicha clase.

Por lo tanto, en nuestro proyecto necesitamos crear una inteface que tenga la signatura del evento que deseamos exponer y disparar en la clase.  Asimismo, esta inteface debe ser de tipo IDispatch.

En el proyecto, he agregado la interface IInformacion, con la siguiente implementación:

[InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
[ComVisible(true)]
public interface IInformacion
{
    void OnGetLogicalDrivesInfo(int count);
}

El método OnGetLogicalDrivesInfo incluye como argumento un int que tendrá el conteo de cuántas unidades físicas han sido encontradas.

Una vez implementada la interface, la clase Informacion la decoramos con el atributo ComSourceInterfacesAttribute, indicando el tipo de interface que la clase expone, en este caso la interface IInformacion que creamos anteriormente:

[ComSourceInterfaces(typeof(IInformacion))]
[ComVisible(true)]
public class Informacion
{
...
}

Ahora bien, debemos implementar un delegado que empate la signatura del método incluido en la interface IINotificacion, y un evento que esté basado en dicho delegado.  Será este evento que el que dispararemos dentro de la clase Notificacion.

public delegate void GetLogicalDrivesInfoEventHandler(int count);

public event GetLogicalDrivesInfoEventHandler OnGetLogicalDrivesInfo;

 

Finalmente, disparamos el evento adecuadamente.  Esto lo estoy haciendo dentro del método GetLogicalDrivesInfo() una vez cargada la lista de unidades lógicas.

if (OnGetLogicalDrivesInfo != null)
{
    OnGetLogicalDrivesInfo(result.Count);
}

 

El ensamblado está listo para recompilarse y re-registrarse.

Clase AutomationEvent

Del lado de la aplicación de Silverlight, necesitamos manejar el evento expuesto por el componente: les presento la clase AutomationEvent.

La clase AutomationEvent representa un evento de automatización.  Necesitamos obtener una referencia del evento OnGetLogicalDrivesInfo, el cual disparará el componente de .NET una vez que hayamos obtenido la lista de todas las unidades lógicas.  Esto lo podemos hacer a través del método GetEvent() de la clase AutomationFactory, indicando primeramente el objeto que incluye el evento, seguido del nombre del evento como tal.  El método GetEvent() nos regresará un objeto de tipo AutomationEvent.

La clase AutomationEvent incluye un evento llamado EventRaised, el cual es disparado como resultado del evento del componente.  En los argumentos del evento EventRaised podremos obtener la lista de argumentos originales.  El siguiente código muestra el manejo del evento OnGetLogicalDrivesInfo, el cual una vez manejado obtenemos el conteo del total de unidades lógicas leídas.

dynamic obj = AutomationFactory.CreateObject("Utilerias.Informacion");

AutomationEvent ev = AutomationFactory.GetEvent(obj, "OnGetLogicalDrivesInfo");
ev.EventRaised += (s, a) =>
{
    MessageBox.Show(string.Format("Total de unidades: {0}", a.Arguments[0]));
};

 

Al ejecutar la aplicación con los cambios que hemos implementado, podremos obtener el valor del argumento del evento que se ha disparado.

SNAGHTML73c811

Silverlight Tour–Ciudad de México (18 al 20 de Agosto 2011)

Posted on : 27-07-2011 | By : Rodrigo | In : Cursos, Noticias, Silverlight 5, Silverlight Tour Workshop

Tags: , , , , , ,

0

EL Curso de Silverlight que da la vuelta al mundo: el Silverlight Tour Workshop en Español nuevamente regresa a la capital del país los días 18 al 20 de Agosto 2011 (jueves a sábado), con un horario de 08:00 a 18:00 horas.

slt_mexicocity

El Silverlight Tour es un curso de 3 días (27 horas) acerca de Silverlight, con un enfoque principalmente para aplicaciones de tipo LOB y está actualizado a Silverlight 5… con material completamente en español.  El temario general lo pueden revisar en esta página, además pueden checar algunos de los testimonios de los cientos de personas que ya han asistido a este curso.

teleriklogo

Además, el Silverlight Tour incluye una licencia para cada asistente de la suite de controles RadControls for Silverlight de nuestros Socios Telerik con un valor en el mercado de 999USD.

Registro

¡El registro está abierto en esta página!

Los esperamos!!!

Accediendo a tus ensamblados de .NET desde Silverlight

Posted on : 27-07-2011 | By : Rodrigo | In : Silverlight, Silverlight 4, Silverlight 5

Tags: , ,

4

El BCL (Biblioteca de Clases Base, por sus siglas en inglés) de Silverlight está reducido a comparación del BCL del .NET Framework completo que tenemos instalado en nuestros equipos, por lo que la funcionalidad no es la misma en un aplicativo de Silverlight que alguno construido con el .NET Framework completo.

No obstante, a partir de Silverlight 4, es posible que las aplicaciones de Silverlight sean clientes de automatización cuando ejecutan en Confianza Elevada, esto es, poder invocar los servidores de automatización registrados en el sistema operativo Windows.  Generalmente, la mayoría de ejemplos que podemos encontrar en la Web al respecto de esta característica van por el lado de invocar los servidores de automatización de Office (Outlook.Application o Excel.Application por ejemplo), pero ¿qué sucede si necesitamos invocar funcionalidad ya construida en alguno de nustros ensamblados que hayamos escrito en .NET 4.0?

Ensamblado

En esta solución crearemos dos proyectos, uno de tipo Class Library del .NET Framework 4.0 y otro proyecto será la aplicación de Silverlight.

En el proyecto de la Biblioteca de Clases escribiremos la funcionalidad para obtener la información de todas las unidades lógicas del equipo.  Tradicionalmente, esto lo podemos lograr por medio de la clase DriveInfo del espacio de nombres System.IO, pero justamente esa es una de las clases que no está en el BCL de Silverlight, por lo que crearemos un ensamblado de .NET 4.0 que regrese esa información, y la usaremos en un aplicativo de Silverlight.

La clave para lograr esto es abrir las propiedades del proyecto de la Biblioteca de Clases y seleccionar la opción “Register for COM interop” para poder exponer este ensamblado a través de COM.

image

En el proyecto agregaremos una clase llamada DriveInfo, la cual tendrá las propiedades Name, DriveFormat, TotalSize y TotalFreeSpace de la siguiente manera:

[ComVisible(true)]
public class DriveInfo
{
    public string Name { get; set; }
    public string DriveFormat { get; set; }
    public long TotalSize { get; set; }
    public long TotalFreeSpace { get; set; }
}

Nota cómo se está decorando la clase con el atributo ComVisibleAttribute.  Este atributo indica que este tipo estará disponible a través de COM.

Adicionalmente a esto, agregaremos una clase llamada Información.cs, la cual tendrá el método GetLogicalDrivesInfo() para regresar la información de todas las unidades lógicas del equipo del usuario.  También he agregado el método GetLogicalDrives() para obtener únicamente el nombre de todas las unidades lógicas.  De hecho, también podríamos agregar cualquier funcionalidad necesaria que utilice el .NET Framework 4.0 (métodos, propiedades y eventos).  El siguiente fragmento de código muestra la implementación de la clase Informacion.cs.   Nota cómo también se está decorando con el atributo ComVisibleAttribute.

[ComVisible(true)]
public class Informacion
{
    public DriveInfo[] GetLogicalDrivesInfo()
    {

        var result = new List<DriveInfo>();
        var drives = System.IO.DriveInfo.GetDrives();

        foreach (var item in drives)
        {
            if (true)
            {
                result.Add(new DriveInfo()
                {
                    Name = item.Name,
                    DriveFormat = item.IsReady ? item.DriveFormat : string.Empty,
                    TotalFreeSpace = item.IsReady ? item.TotalFreeSpace : 0,
                    TotalSize = item.IsReady ? item.TotalSize : 0
                });
            }
        }

        return result.ToArray();
    }

    public string[] GetLogicalDrives()
    {
        return System.Environment.GetLogicalDrives();
    }
}

 

Gracias a la opción que habilitamos en las propiedades del proyecto de Silverlight, al compilar el ensamblado este será registrado en el registro de la máquina local con un progID del tipo EspacioDeNombres.Clase, en este caso Utilerias.Información.  Para hacer esto manualmente podrías utilizar la utilería regasm.exe, cuando quisieras registrar el ensamblado en los equipos de tus usuarios.

Nota: necesitarás ejecutar Visual Studio .NET como Administrador, para que al momento de compilar el tipo sea registrado adecuadamente en el Registro de tu equipo.

Proyecto de Silverlight

Del lado del proyecto de Silverlight utilizaremos la clase AutomationFactory y su método CreateObject() para poder crear una referencia al componente con progID Utilerias.Información registrado previamente.

Además de esto, crearemos una clase DriveInfo.cs, igual a la que creamos en el proyecto de la Biblioteca de Clases.  Esto para poder crear un DataTemplate adecuado al presentar la información de las unidades lógicas en un ListBox.

if (AutomationFactory.IsAvailable)
{
    dynamic obj = AutomationFactory.CreateObject("Utilerias.Informacion");

    var drives = obj.GetLogicalDrivesInfo();

    var result = new List<DriveInfo>();

    foreach (var item in drives)
    {
        var driveInfo = new DriveInfo();
        driveInfo.Name = item.Name;
        driveInfo.TotalFreeSpace = item.TotalFreeSpace;
        driveInfo.TotalSize = item.TotalSize;
        driveInfo.DriveFormat = item.DriveFormat;

        result.Add(driveInfo);
    }

    if (result.Count > 0)
    {
        listBox1.ItemsSource = result;
    }
}

 

Nota el uso de los tipos dinámicos (palabra clave dynamic).  Debido a que se basan en Late Binding, no tendremos Intellisense para poder conocer los miembros del tipo en cuestión, por lo que es importante que los nombres correspondan correctamente.

Finalmente, al probar la aplicación te podrás dar cuenta que efectivamente tu aplicación de Silverlight utiliza el ensamblado Utilerias.dll que creamos en el primer paso, usando el .NET Framework 4.0 completo.  A través de AutomationFactory lo accedemos y obtenemos la información de todas las unidades lógicas del equipo.

SNAGHTMLf179f4[5]

Toma en cuenta que el ensamblado que vayas a utilizar, deberá estar registrado previamente en la máquina del usuario (utiliza regasm.exe), de lo contrario AutomationFactory.CreateObject() arrojará una excepción.  Probablemente necesitarás un instalador de prerequisitos antes de instalar y/o ejecutar la aplicación de Silverlight en Confianza Elevada.

¡Espero que les sea de utilidad!

Silverlight MVP 2011

Posted on : 04-07-2011 | By : Rodrigo | In : General, MVP, Noticias

Tags: , ,

3

Por tercer año consecutivo tengo el honor de ser nombrado Most Valuable Professional de Microsoft y segundo año en Silverlight.

MVP_Horizontal_FullColor 2010.10.05.1320.48

silverlight_logoEs para mí un orgullo ser parte de esta comunidad de expertos, en donde he encontrado extraordinarios amigos y fabulosos profesionales técnicos de los que he aprendido bastante y lo seguiré haciendo hasta que pueda.

Agradezco a todas las personas que de alguna manera me han apoyado durante todos estos años, en especial a Ferglo quien ha sido un magnífico apoyo y consejero a lo largo de este tiempo.  Este premio para mí es una responsabilidad grande, pero agradezco la confianza a Microsoft y a todo el equipo de producto de Silverlight.

En fin, ¡a seguir trabajando! ya que vienen cosas bastante interesantes en los próximos meses.  Estén atentos! Winking smile

 

¡Gracias y Salu2!

Tutoriales de Desarrollo para Windows Phone–totalmente en español y gratuitos

Posted on : 21-06-2011 | By : Rodrigo | In : Cursos, La Liga Silverlight, MVP, Noticias, Silverlight, Windows Phone 7

Tags: , , , , , , ,

10

windowsphone_logoEn La Liga Silverlight, hemos traducido al idioma español el contenido original de todos los tutoriales para el desarrollo de aplicaciones en Windows Phone, disponibles en App Hub

¡Son un total de 27 tutoriales!

Este material de entrenamiento completamente gratuito y en español te servirá paraLigaSilverlight150x150 iniciar en el mundo de la programación de la nueva versión del sistema operativo móvil de Microsoft: Windows Phone 7, o si ya eres desarrollador para este dispositivo estos tutoriales sin duda alguna te ayudarán a reforzar tus conocimientos.

Cada tutorial trata un tema específico, por lo que no están vinculados directamente uno con otro pero definitivamente les recomiendo que los sigan en el orden establecido.  Los tutoriales comienzan con temas básicos de XAML y Silverlight, y posteriormente se van analizando conceptos más a detalle acerca de esta plataforma de desarrollo.

La lista completa de tutoriales es la siguiente:

Iniciando y Fundamentos

  1. Empezar a crear una aplicación de Windows Phone
  2. Creando la interfaz de usuario de Windows Phone (XAML)
  3. Usando controles
  4. Tipo de Controles
  5. Controles Panorama y Pivot
  6. Trabajando con texto en Windows Phone
  7. Distribución en la pantalla
  8. Orientaciones de la pantalla
  9. Entrada táctil
  10. Navegación
  11. Ejecutando un aplicación en segundo plano (tombstoning)
  12. Notificaciones de empuje para el desarrollo de Windows Phone
  13. Publicando tu aplicación en el Marketplace

Visuales y Medios

  1. Imágenes
  2. Animaciones
  3. Video y Audio
  4. Gráficos
  5. Brochas

Trabajando con Datos

  1. Obteniendo datos en tus aplicaciones de Windows Phone
  2. Enlazando a controles
  3. Almacenamiento Aislado
  4. Accediendo a un servicio web REST
  5. Consumiendo el servicio de datos de Windows Azure utilizando el cliente OData

Sensores y otras características específicas del teléfono

  1. Lanzadores y Selectores
  2. Detección de movimiento (acelerómetro)
  3. Desarrollando con el GPS de Windows Phone (Servicios de Ubicación)
  4. Desarrollando con la cámara de Windows Phone

También pueden ver el índice completo en esta página de La Liga Silverlight.

¡Esperamos que les sean de utilidad!

Nueva ciudad para el Silverlight Tour: San Juan, Puerto Rico

Posted on : 16-06-2011 | By : Rodrigo | In : Noticias, Silverlight 5, Silverlight Tour Workshop

Tags: , , , , , , , , ,

1

San Juan Puerto RicoMe da mucho gusto anunciar que San Juan, Puerto Rico ha sido establecida como ciudad destino del Silverlight Tour Workshop en Español.  El curso se llevará a cabo del 02 al 04 de Agosto 2011 con un horario de 08:00 a 18:00 horas los tres días.

SLT_Trans_small

El Silverlight Tour es un curso de entrenamiento acerca de Silverlight, con el material completamente actualizado a Silverlight 5 Beta y en español.  El curso tiene un enfoque para el diseño y desarrollo de Aplicaciones de Negocio con esta plataforma.

teleriklogo

Además, el Silverlight Tour incluye para cada uno de sus asistentes una licencia gratuita de la suite de controles RadControls de nuestros patrocinadores Telerik con un valor comercial de 999 USD.

Todos los cursos tienen cupo limitado así que los invito que se registren y además que aprovechen la promoción: En alianza con Microsoft Puerto Rico este curso tiene un 50% de Descuento directo sobre el precio!

¡Allá nos vemos!

(fotografía: Wikipedia)

Webcast: Kung Fu Silverlight – Los mejores consejos y pautas de arquitectura y prácticas

Posted on : 08-06-2011 | By : Rodrigo | In : Comunidades, MVP, Silverlight, Silverlight 4, Silverlight 5, Web Casts

Tags: , , , , , , , , ,

2

silverlight_logoEl día de hoy 08 de Junio 2011 realicé el Webcast: Kung Fu Silverlight – Los mejores consejos y pautas de arquitectura y prácticas, que si bien tiene un nombre bastante largo el enfoque fue principalmente el patrón de diseño MVVM.

El WebCast ya está disponible para verse en línea, o también lo pueden descargar de esta dirección.  El código fuente de la sesión lo pueden obtener de esta otra.

¡Espero que les sea de ayuda!

Herramientas de desarrollo para Windows Phone 7.1 Beta

Posted on : 24-05-2011 | By : Rodrigo | In : General, Noticias, Silverlight, Silverlight 4, Windows Phone 7

Tags: , , , , ,

0

windowsphone_logoEl día de hoy se han liberado las Herramientas de desarrollo para Windows Phone 7.1 Beta o mejor conocido por su nombre clave “Mango”

Las pueden descargar directamente desde este vínculo si quieren hacer la instalación en línea.  No obstante, les sugiero ampliamente que descarguen el archivo .ISO de las Herramientas para que las puedan reinstalar cuando lo necesiten.

Windows Phone 7.1 es un salto enorme para este sistema operativo ya que incluye cientos de características faltantes en la primera versión como por ejemplo multitasking, sockets, base de datos SQL local, acceso completo a los sensores, entre otros.

Si quieren conocer una lista más completa de las características presentes en esta nueva versión les sugiero ampliamente que revisen estos vínculos:

¿Qué esperan? Bájenlas mientras están calientitas! Smile

Salu2!

TechEd 2011 @ Atlanta, GA

Posted on : 11-05-2011 | By : Rodrigo | In : Eventos, General, Silverlight, Silverlight 5, Windows Phone 7

Tags: , , ,

0

TENA2011_L_AskAbout

El evento de educación técnica por excelencia en tecnologías Microsoft: el TechEd 2011 se llevará a cabo del 16 al 19 de Mayo 2011 en Atlanta, GA.

Este evento –como siempre- promete ser bastante interesante, pero sobre todo por la gran cantidad de anuncios recientes y productos recién liberados. 

Nuevamente estaré como parte del staff, participando como Guía Técnico en Silverlight y WP7, así que si tienen planeado ir al evento acérquense a saludar! Smile De lo contrario, podrán ver en vivo las transmisiones del keynote y algunas otras sesiones a través de streaming.  Les recomiendo ampliamente no se pierdan este magno evento!

!Allá nos vemos!

Examen 70-599 "Pro: Diseñando y Desarrollando Aplicaciones Windows Phone 7”

Posted on : 01-05-2011 | By : Rodrigo | In : General, Silverlight, Tips, Windows Phone 7

Tags: , , , ,

3

Picture1En semanas pasadas apoyé a Microsoft como Experto Técnico para la definición del Examen de Certificación 70-599 “Pro: Designing and Developing Windows Phone 7 Applications”.

El examen, que estará disponible al público en general el próximo 14 de Julio 2011, está diseñado para probar el conocimiento y habilidades del candidato al diseñar y desarrollar aplicaciones para Windows Phone 7.  Este examen es importante, ya que te ayudará a obtener la certificación MCPD: Windows Phone 7, Developer.

Las habilidades que definimos para que puedan pasar el examen las pueden revisar en esta dirección

No obstante, estoy convencido que es únicamente a través de la comprensión y dominio de Silverlight el mecanismo por el cual pueden construir aplicaciones robustas, escalables y con el mejor rendimiento, utilizando las bondades de la plataforma de desarrollo.  Es decir,  ser un desarrollador de Windows Phone 7 es únicamente una pequeña parte:  ser un desarrollador de Windows Phone 7 no los hace desarrolladores expertos en Silverlight:

Presentation1

Si están interesados en iniciar en el mundo de Silverlight y en nuestro idioma, les recomiendo vayan al sitio oficial y vean el Curso gratuito de Introducción a Silverlight 4 el cual consta de 25 videos completamente en español.  Asimismo les recomiendo visitar La Liga Silverlight en donde podrán encontrar diferentes artículos en español relacionados con Silverlight y también sigan a los MVP’s de Silverlight en Twitter.

Si deciden examinarse ¡por favor me cuentan qué les pareció! Smile

Salu2!