Posts destacados

Nuevo libro de desarrollo para Windows 8 y Windows Phone 8Nuevo libro de desarrollo para Windows 8 y Windows... Desde hace tiempo, estoy un poco alejado del mundanal ruido de blogs, twitter y demás. La razón no ha sido otra que hacer posible un deseo que tenia desde hace mucho tiempo,...

Read more

Preparándonos para el #MegathonW8 y II – Instalando las herramientas de desarrollo.Preparándonos para el #MegathonW8 y II –... Una vez que ya tenemos nuestro flamante Windows 8 instalado en nuestro disco duro virtual, según los pasos del primer capitulo de esta guía. Lo que debemos de hacer es instalarnos...

Read more

Preparándonos para el #MegathonW8 y I Instalación de Windows 8 en un VHDPreparándonos para el #MegathonW8 y I Instalación... Este es el primer post de una serie de ellos cuya intención es facilitar a los asistentes al megathon que se celebrara en breve, las instrucciones necesarias para conocer...

Read more

Beca para el Megathon Windows 8Beca para el Megathon Windows 8 Como seguramente todos ya sabréis, los próximos días 7, 8 y 9 de Septiembre se celebrara en varias ciudades españolas al mismo tiempo un hackathon sobre desarrollo para...

Read more

[OFFTOPIC] Oferta de trabajo.[OFFTOPIC] Oferta de trabajo. Madre mía, hasta ahora realmente no me había dado cuenta de lo abandonado que tengo mi blog, como pasa el tiempo de rápido por dios… Demasiadas cosas a hacer tanto dentro...

Read more

Windows Phone y .NET Rss

[Libro] Windows Phone 7.5 "Mango" – Desarrollo Silverlight

Posteado el : 07-10-2011 | Por : tecnologia | En : Libros, Windows Phone 7

4

Lo primero que tengo que decir es que el autor de este libro, Josué Yeray, le tengo considerado como un amigo, aunque no hayamos coincidido muchas veces en persona, nuestros mails y tweets intercambiados, hacen que tenga por Josué un respeto y admiración bastante elevados, así mismo su trabajo y lo que todo el mundo dice de el hacen el resto.

Digo esto de primeras, porque aunque intentare hacer una valoración y resumen independiente de su nuevo libro, quieras que no alguien puede pensar que lo que digo es por peloteo o amiguismo. No es necesario os lo aseguro, el libro es MUY BUENO, sin necesidad de añadirle ningún tipo de extra personal.

1-d9df9f5415Este libro comienza con un prologo magistral de Unai Zorrilla y tras el mismo nos presenta un par de capítulos introductorios sobre la plataforma. El primero de ellos denominado “Conociendo Windows Phone”, nos muestra tanto la arquitectura del sistema, como un repaso de las herramientas necesarias para programar este entorno. El segundo,  con el titulo “Introducción a Silverlight para Windows Phone” es un repaso de los elementos principales de Silverlight que se usaran en la programación para Windows Phone.

Como seguro que todos conocéis existen dos modelos de programación para Windows Phone, el modelo XNA, el cual esta indicado para desarrollo de juegos y entornos gráficos complejos y el modelo Silverlight. Como se puede deducir observando el titulo del libro, este, esta totalmente enfocado en el segundo tipo de desarrollo. Y buena muestra es el capitulo 3, titulado “Silverlight para Windows Phone a Fondo”. El cual nos muestra características de esta programación mas complejas e incluso nos enseña una pincelada de la programación bajo el patrón Model View ViewModel (MVVM).

“Windows Phone A Fondo” y “Windows Phone a Fondo II”, es la denominación del 4º y 5º capitulo. Estos son la esencia del libro, los capítulos mas extensos y en donde el autor nos enseña prácticamente todo lo fundamental para controlar este tipo de programación. Navegación entre paginas, Almacenamiento relacional con SQL Server CE, Tombstoning, Launchers and Choosers, acceso a GPS, Sensores, etc, etc. Y ojo temas como Background Process, acceso a contactos y demás que son específicos de la nueva versión 7.5 del sistema. Porque otra cosa mas, el libro esta totalmente revisado y adaptado a la nueva versión “Mango”, el único libro en el mundo, hasta la fecha que puede decir eso.

Los capítulos 6 y 7, titulados “Interacción con el usuario” e “Integrándonos con nuestro entorno”, respectivamente, nos adentran primero en la espectacular interfaz de usuario de la que dispone Windows Phone, explicándonos los controles pivot y panorama y por ejemplo los magníficos Tiles y segundo nos muestran la forma de interactuar con los diferentes procesos externos, como servicios remotos, tanto en WCF, como servicios OData, acceso a Sockets y demás.

Ibon Landa, recientemente nombrado MVP en Windows Azure, deja también su sello y participa como coautor del libro en el capitulo 8, (imagino que haya colaborado en mas partes). Este capitulo denominado “Windows Azure” nos explica a grandes rasgos que es y cuales son las partes fundamentales de Azure, para a continuación mostrarnos la relación entre Windows Phone y Windows Azure a través del Toolkit creado para tal efecto.

Finaliza el libro con un apéndice sobre la publicación de nuestras aplicaciones en el MarketPlace, como y de que manera debemos de proceder para ver nuestros desarrollos en la tienda online de aplicaciones para Windows Phone.

Sinceramente, el libro es una magnifica aproximación a la programación para Windows Phone. Trata la mayoría de puntos importantes que cualquier programador debería de conocer y dominar si quiere realizar buenos desarrollos en esta plataforma y los trata de forma fácil y muy bien explicada. Cuenta con nada mas y nada menos que 99 proyectos (uno mas y hubiera sido redondo) de ejemplo, con su código fuente descargable, que detallan al milímetro cada palabra que se cuenta en sus paginas.

A mi modo de ver es un libro de iniciación, básico para cualquier programador que se inicie en la plataforma, pero que ojo no debería tampoco faltar en la librería de un experto en esta tecnología, ya que seguro que alguna cosa se va a aprender con este libro, completo, bien escrito y mejor documentado. Es mas, según algunas fuentes será usado como material de referencia en cursos y masters impartidos por universidades.

Mi recomendación: Comprarle sin falta.

Por ultimo no me gustaría olvidarme de Krasis Press, que con sus libros en español de autores de gran calidad técnica, nos alegran la vida a los que como yo tenemos en la mesilla de noche en vez de “El quijote”, “Windows Phone 7.5, Desarrollo en Silverlight”. (entre otros).

Share

Acceso a Hotmail, Messenger y Skydrive desde Windows Phone, con Live Connect SDK – Parte I

Posteado el : 03-10-2011 | Por : tecnologia | En : Windows Phone 7

3

Una de las cosas que eran de extrañar en el ecosistema de Windows Phone, era que nosotros podíamos (sobre todo ahora con Mango) acceder a nuestros contenidos alojados en Skydrive, almacenar información de forma fácil, etc..  pero no podíamos hacer esto mismo desde una aplicación desarrollada por nosotros mismos.

Existía en codeplex una herramienta o API cliente que nos permitía hacer alguna que otra cosa, el Skydrive .Net API Cliente, pero nada serio…..

Lo mismo pasaba con el acceso nativo a nuestros contactos de Hotmail, o directamente a las conversaciones de Windows Live Messenger.

Pues bien, esto tiene los días contados, ya que tras el reciente evento de BUILD Windows en donde se presento el flamante Windows 8, Microsoft a liberado la primera versión de su live connect SDK, actualmente la versión Developer preview, que nos permite acceder a Identity (profiles de usuarios), Hotmail (contactos y calendarios), Messenger (Mensajería instantánea)  y SkyDrive (Ficheros y fotos).

Dicho SDK, lo podemos descargar desde esta pagina. La versión final de este SDK se espera para este próximo noviembre, mientras tanto podemos visitar regularmente el site http://dev.live.com para enterarnos de mas cosas sobre este SDK y otras interesantes sobre el ecosistema de Live.

Bueno, pues manos a la obra, lo primero que debemos de saber es que para poder usar el live connect nuestra aplicación debe de cumplir dos requisitos:

  • Disponer de un Client ID.

El Client ID es un identificador único de nuestra aplicación en el ecosistema de Live, para conseguir dicho Client ID, es necesario acudir al Live Connect App management site y crear una aplicación, indicando el nombre principal y el lenguaje de la aplicación. Una vez hecho esto se nos proporciona ese Client ID.

LiveConnect1

  • Indicar un Redirect Domain.

Es el dominio que se usara para intercambiar datos, tokens y mensajes con la aplicación, mas adelante explicare que significa esto. Para indicar este Redirect Domain, deberemos de pinchar dentro de nuestra nueva aplicación creada dentro de Live Connect App management site y editar la sección de Settings. Una vez allí en el apartado de API settings, deberemos de indicar el Redirect Domain.

LiveConnect2

 

Nota: Este ultimo dato, el Redirect Domain, no es necesario gestionarlo si nuestra aplicación no va a utilizar single-sign-on o OAuth, simplemente se usara para indicarle al usuario a la hora de que este valide la autenticación o sign in de nuestra aplicación en Live, de que Uri se intenta acceder.

Muy importante en nuestro caso también, es que deberemos de marcar que la aplicación que se va a conectar con Live Connect es una aplicación Móvil.

Una vez que disponemos de estos dos datos, vamos a pegarnos con el código:

Tras instalar el developer preview de Live Connect, disponemos de dos nuevos espacios de nombres que debemos de utilizar y referenciar, se trata de Microsoft.Live y Microsoft.Live.Controls.

Lo primero que vamos a ver es como logearnos desde una de nuestras aplicaciones en Windows Live, para ello existen dos formas esencialmente de hacerlo:

  1. Control SignInButton: LiveConnect3
  2. Control visual perteneciente al namespace Microsoft.live.Controls, que es en si mismo un control Button pero con unas características muy interesantes. Esta opción digo yo que la hayan incorporado para el tema de la estandarización de experiencia de usuario, pero bueno.

La verdad es que el control es bastante personalizable, pudiendo cambiar el logo que aparece, bordes, background, fuentes, texto para iniciar sesión, cerrar sesión, etc…

Simplemente deberemos de indicar dos propiedades de este control nuevo añadido; por un lado el .ClientId: “Cadena de texto con el famoso ClientId, obtenido en el paso anterior” y por otro lado la propiedad .RedirectUri, que será también una cadena de texto con la URL que hemos introducido anteriormente en la pagina de settings de Live.

En un principio esto es lo único que deberemos de indicar al control para poder hacer Sign In. Pero aun nos queda otra cosa bastante importante, los Scopes (ámbitos).

El usuario debe de dar su consentimiento para que una aplicación acceda a la distinta información que tiene contenida en los servicios de Live, ya sea Hotmail, Skydrive o Windows Live Messenger. La Api de Live Connect divide estos permisos o consentimiento que el usuario otorga en distintos niveles o categorías, estos son lo que se denominada “Scopes”. Existen 3 tipos de Scopes y en cada tipo un scope para cada una de las cosas que nosotros queramos hacer, según esta tabla.

Core Scopes  
Scope Función
wl.basic Acceso de lectura a la información básica de la cuenta
wl.offline_access Capacidad de que una aplicación lea y actualice la información de la cuenta. Si no se indica este Scope, solo se podrá acceder cuando se inicie sesión en Live.
wl.signin Inicio de sesión único. Single Sign On.
Extended Scopes  
Scope Función
wl.birthday Acceso de lectura a la información del cumpleaños de un usuario, incluido el día de nacimiento, mes y año.
wl.contacts_birthday Acceso de lectura al día de nacimiento y mes de nacimiento de los contactos de un usuario.
wl.contacts_photos Acceso de lectura a los álbumes de un usuario, fotos y videos, y sus comentarios y etiquetas asociadas. También permite el acceso de lectura a cualquier álbum, foto o video que otro usuario haya compartido con el.
wl.emails Acceso de lectura a las direcciones de correo electrónico de un usuario.
wl.events_create Creación de eventos en el calendario.
wl.phone_numbers

Acceso de lectura a los números de teléfono del usuario.

wl.photos

Acceso de lectura a las fotos, videos y álbumes.

wl.postal_addresses

Acceso de lectura a la dirección postal del usuario.

wl.share Creación de actividad en el activity feed e indicar el mensaje de estado.
wl.work_profile Acceso de solo lectura a los datos de empleador y puesto de trabajo.
Developer Scopes  
Scope Función
wl.applications Acceso de lectura a las aplicaciones que los desarrolladores hayan creado para trabajar con Live Connect.
wl.applications_create Creación de nuevas aplicaciones con Live Connect en nombre de un desarrollador.

En este caso concreto, nosotros usaremos dos Scopes básicos, ya que de momento no queremos hacer mas que logearnos. Usaremos los scopes wl.basic y wl.signin.

Para ello en la propiedad .scopes de nuestro control indicaremos como una cadena de texto separadas por un espacio estos dos scopes.

signInButton1.Scopes = "wl.signin wl.basic";

Una vez que hemos hecho esto, al pulsar el botón "SigninButton”, nos aparecerá una pantalla de Windows Live, para que nos autentiquemos.

LiveConnect4

Si comprobamos la secuencia de pantallas de la imagen superior vemos que tras autenticarnos nos aparece una pantalla con los datos de nuestra aplicación y lo que deseamos hacer con la cuenta de Windows Live (según los scopes que hayamos indicado), para que el usuario de el visto bueno, en este caso como se ve nos dice que haremos: “Sign you in automatically”, correspondiente al scope wl.signin y “Access your name, gender, display picture, contacts and friends”, correspondiente al scope wl.basic.

  1. Programáticamente.

Como habíamos comentado anteriormente disponemos de dos formas de hacer sign in en la plataforma Live, la primera como hemos visto es a través del control personalizable SigninButton, pero existe también la opción de hacerlo de forma programática.

Para ello debemos de crearnos un objeto correspondiente a la clase LiveAuthClient, indicando en su construcción el ClientId y la RedirectUri, similar a lo que realizamos en el control físico.

Una vez hecho esto deberemos de crearnos un manejador al evento LoginCompleted de nuestro LiveAuthClient y disparar el método asíncrono .LoginAsync(), indicando como parámetro de entrada los o el scope que vamos a utilizar.

List<string> Scopes = new List<string>();

Scopes.Add("wl.basic");

Scopes.Add("wl.signin");

 

LiveAuthClient autenticado = new LiveAuthClient("00000000440XXXXX", "http://geeks.ms");

autenticado.LoginCompleted += new EventHandler<LoginCompletedEventArgs>(autenticado_LoginCompleted);

 

autenticado.LoginAsync(Scopes);

Una buena practica seria, utilizar el botón de Signin para la primera vez que realizamos la autenticación en Windows Live, tras esto cada vez que queramos autenticarnos de nuevo, lo realizaríamos ya de forma programática, ya que una vez autenticados no se nos va a volver a solicitar ni desde la pagina de Live el usuario y la contraseña, ni la aceptación de los scopes a usar, a no ser que estos cambien.

En el siguiente Post, trataremos la forma de manejar la información que de primeras nos proporciona el logueo con Live, para mas adelante adentrarnos en las posibilidades de integración con Skydrive.

Share

Materiales de mi charla en Málaga Dnug

Posteado el : 26-09-2011 | Por : tecnologia | En : Windows Phone 7

0

Lo primero me gustaría agradecer enormemente a la gente del grupo de usuario de Málaga Dnug, por darme la oportunidad de compartir mis conocimientos con la gente y sobre todo a Pablo Núñez por llevarme, traerme y compartir una agradable tarde-noche de cervezas y raciones….

El código de ejemplo que adjunto en este post no es el que use en la charla, sino lo que tenia en un principio preparado para hacer durante la misma. El problema es que como ya sabéis todos el tiempo se va volando y al final me tuve que conformar con hacer pequeños ejemplos de cada una de las cosas que iba comentando.

Bueno, pues lo dicho, espero que la charla gustara a todo el mundo que asistió y hasta la próxima..

Malaga DNug

 

PPT y código de ejemplo:

Share

Desde el Prototipado al Marketplace de una aplicación Windows Phone 7.5

Posteado el : 09-09-2011 | Por : tecnologia | En : Windows Phone 7

1

Tengo la intención de realizar, mejor dicho ya estoy en ello una serie de post, sobre la realización desde 0 de una aplicación completa y funcional del tipo TODO List.

Quisiera incluir obviamente código fuente de ejemplo y me gustaría mucho e intentare hacerlo, realizar algún que otro Screencast sobre alguno de los temas a tratar.

Básicamente el índice de temas a tratar punto por punto es el siguiente:

  1. Sketchflow, nociones básicas de prototipado de proyectos.
  2. Mini, mini introducción a M-V-VM
  3. Acceso a Servicios externos. Azure
  4. Persistiendo la información en el Isolated Storage.
  5. Poniendo información en un control Panorama.
  6. Creación dinámica de hojas en el control Pivot.
  7. Accediendo a la información de la agenda y contactos.
  8. Notificaciones.
  9. Jugando con los sensores.
  10. Integración con Social Media.
  11. Ganando un poco de pasta con el Microsoft Advertising SDK
  12. Procesos de certificación en el MarketPlace.
  13. Y ahora que?. Seguir las estadísticas de la aplicación.

La verdad es que me reservo el derecho a cambiar tanto el orden como el contenido de este índice, tanto añadiendo, como quitando artículos.

Espero que os guste y os sirva.

Share

Charla en Málaga Dnug sobre Windows Phone 7.5 “Mango”

Posteado el : 08-09-2011 | Por : tecnologia | En : Windows Phone 7, eventos

4

dnug

 

Tengo la gran suerte de que los chicos del club Málaga Dnug me hayan invitado a realizar el próximo día 21 de Septiembre en Málaga, una charla sobre las nuevas posibilidades y las nuevas características que incorpora la versión 7.5 de Windows Phone.

En esta charla hablaremos de Cloud, bases de datos locales en SQL CE, acceso a contactos, nuevas opciones de notificaciones Push, etc…

Lo dicho, os espero el día 21 sobre las 18:30h para estar un par de horas, o lo que el cuerpo aguante compartiendo charla sobre este gran dispositivo.

Aquí tenéis el link con el registro.

https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032493810&Culture=es-ES

Nos vemos.

 

Mango

Share