Archive for October 2010


Un juego para Windows Phone 7 en 48 horas…

October 18th, 2010 — 10:57pm

Este fin de semana pasado se celebró en Madrid una Mini Codecamp de desarrollo de juegos en XNA para Windows Phone 7. Unas veinte personas de toda España reunidas en un hotel para pasárselo bien y conseguir sacar adelante un juego aceptable para la plataforma.

El resultado, mucho mejor de lo esperado. En un principio, cada uno de nosotros llevaba una idea ya planteada para desarrollar, yo había pensado en portar un juego como el Abduction para Android pero con otra idea más curiosa surgida de un fin de semana junto con los amigos en una casa rural. El nombre era “Penis Adventures”, así que ahí queda a la imaginación de cada uno pensar el argumento del mismo.

Sin embargo, la idea que traía ya Carles preparada de un juego basado en el clásico Simon resultó ser algo más sencillo y entretenido de hacer; sobre todo por hacerlo de forma conjunta con alguien.

Simon Says (WP7) from Carles on Vimeo.

El resultado fue el que veis, un gran trabajo de programación, sobre todo de Carles, partiendo de que no sabíamos nada de XNA antes de empezar este evento. La aplicación está subida al Marketplace y pendiente de pasar los tests para ver si la aceptan o la rechazan. En un futuro, probablemente la mejores con ideas que se quedaron en el tintero para esta versión.

Comment » | Windows Phone 7

El patrón MVVM y Windows Phone 7…

October 17th, 2010 — 3:39pm

El MVVM es un patrón de arquitectura que proviene de una especificación por parte de Microsoft del patrón Presentation Model de Martin Fowler. Es muy parecido al MVC aunque su uso se centra en el desarrollo de aplicaciones basadas en WPF y Silverlight.

Hasta que no he empezado a trabajar con Windows Phone 7 y Silverlight, no lo había usado nunca; sin embargo, una vez que lo comprendes y le coges el truco es una de las formas más cómodas de desarrollar aplicaciones. Gracias a las capacidades de databinding existentes en WPF/SL la creación de aplicacionse se vuelve bastante más sencilla y cómoda de llevar a cabo.

Aunque la implementación del patrón se puede realizar a mano, ya hay algunos toolkits que nos evitan volver a tener que crear los elementos básicos a la hora de trabajar con MVVM. El que he probado ha sido el MVVM Light Toolkit. Tal y cómo lo definen en su página web:

 The main purpose of the toolkit is to accelerate the creation and development of MVVM applications in WPF, Silverlight and in the Windows Phone 7.

Este toolkit ayuda a separar las Vistas del Modelo, lo que permite crear aplicaciones más sencillas y fáciles de mantener y extender. También facilita el desarrollo de aplicaciones que se puedan testear .

Si estáis interesados en aprender un poco más sobre ello os dejos la siguiente información:

Comment » | Microsoft, Windows Phone 7

Unit testing en Windows Phone 7…

October 7th, 2010 — 11:23am

Con la implantación cada vez más extendida de las prácticas de programación extrema (eXtremeProgramming) han surgido una serie de prácticas que han cambiado la forma en la que se venía desarrollando el software.

Una de las prácticas más importantes de esta nueva forma de desarrollar es el Desarrollo Guiado por Pruebas o TDD. Esta práctica engloba a otras dos:

  • Escribir las pruebas primero (Test First Development)
  • Refactorización (Refactoring)

Si queremos aplicar esta técnica en nuestros proyectos de Windows Phone 7 necesitaremos configurar algunas cosas para tener un proyecto de pruebas funcionando.

  1. Obtener la versión del Unit Test Framework compatible con Windows Phone 7.Están disponibles en esta entrada del blog de Jeff Wilcox o directamente desde el siguiente enlace.
  2. Crear un nuevo proyecto de aplicación para Windows Phone 7.Las pruebas que realicemos se ejecutarán directamente en el simulador para probar nuestro código. Por ello, es necesario que el proyecto que albergue las pruebas sea de este tipo.
  3. Añadir las referencias necesarias del Unit Test FrameworkÉstas serían:
    	Microsoft.VisualStudio.TestTools.UnitTesting;
    	Microsoft.Silverlight.Testing;
  4. Modificar el fichero de code behind de MainPage.xaml añadiendo el siguiente código:
    void MainPage_Loaded(object sender, RoutedEventArgs e)
    {
    SystemTray.IsVisible = false;
    var testPage = UnitTestSystem.CreateTestPage() as IMobileTestPage;
    BackKeyPress += (x, xe) => xe.Cancel = testPage.NavigateBack();
    (Application.Current.RootVisual as PhoneApplicationFrame).Content = testPage;
    }
  5. Añadir una nueva clase estandar.Aquí añadiríamos el código de los test que quisiéramos ejecutar, por ejemplo, uno que pruebe que todo está funcionando.
    using Microsoft.VisualStudio.TestTools.UnitTesting;
    using Microsoft.Silverlight.Testing;
     
    namespace SampleTest
    {
        [TestClass]
        public class SampleTest
        {
            [TestMethod]
            public void AlwaysPass()
            {
                Assert.IsTrue(true);
            }
        }
    }

Y ejecutando tendremos nuestro proyecto para pruebas unitarias en Windows Phone 7 en marcha :)

Unit Testing in Windows Phone 7

Algunos enlaces que te pueden resultar útiles:

1 comment » | Microsoft, Windows Phone 7

Back to top