MAD.NUG: [Mesa Redonda] Arquitectura y Patrones

MAD.NUG

¿Cuántas veces te has tenido que enfrentar a un proyecto Software y no has sabido como encajar las piezas adecuadamente?. ¿Cuántas veces has creído saber encajar esas piezas pero luego te has dado cuenta de que las estabas situando desorganizadamente una encima de la otra sin orden ni concierto?. ¿Cuántas veces has creído saber y conocer los conceptos técnicos y como usarlos y te has encontrado que una cosa es la teoría y otra muy distinta la práctica y los proyectos reales?. ¿Sabes lo que son los patrones y anti-patrones y para qué los podemos usar?. ¿Tienes dudas respecto a algunas tecnologías o no sabes como aplicarlas o para qué sirven?.

Si alguna vez te has intentado preguntar algo con respecto a la Arquitectura de Software y Patrones, y no has sabido cómo o a quién hacerlo, ESTA ES TU OCASIÓN.

Desde MADNUG, os acercamos a un evento/mesa redonda, moderada por Unai Zorrilla (Microsoft MVP), en la que prepararemos un evento diferente y que nos ha dado muy buen resultado en otras ocasiones.

Un evento debate/colaborativo, dónde pondremos diferentes temas encima de la mesa (o los que puedan surgir) para que entre todos charlemos, demos nuestra opinión, e intercambiemos experiencias, recomendaciones y conocimientos. Recuerda que la máxima del grupo de usuarios es la de participar y compartir.

Seguro que 2 horas se nos quedan cortas, pero es una fantástica oportunidad para que aprendamos los unos de los otros.

Recuerda que el evento es gratuito. Unai Zorrilla será el encargado de moderar la mesa redonda y a buen seguro que nos resultará muy provechosa a todos.

Recuerda la fecha:

12 de Julio de 2012

Horario:

De 19:00 a 21:00.

Lugar:

Microsoft
Sala Margaret Mead
Paseo del Club Deportivo, 1
Centro Empresarial La Finca – Edificio 1 (Parking de pago, Edif 4 y 13 en sotano -2) Pozuelo de Alarcón Madrid 28223
España

Página Web de registro:

https://madriddotnet.wordpress.com/2012/07/04/mesa-redonda-arquitectura-y-patrones/

MAD.NUG: Windows 8 y Metro para desarrolladores .NET

Windows 8

Tema nuevo para MAD.NUG y tema de actualidad.

Al caer está Windows 8, y muchos son los cambios que van a llegar con él.

Los usuarios van a notar esos cambios en la interfaz de usuario, pero los desarrolladores debemos estar al tanto de esos cambios para poder crear aplicaciones que permitan sacar el mayor provecho a la nueva versión de Windows.

Roberto Luis Bisbe nos dará en esta ocasión una interesantísima charla en la que veremos las novedades que trae el nuevo sistema operativo de Microsoft para nosotros, desarrolladores e ingenieros de Software. Hablaremos del lenguaje de diseño Metro y como cambia la experiencia de usuario. Repasaremos las herramientas, características específicas y los lenguajes disponibles para hacer nuestros programas, y veremos qué cambios se nos presentan en .Net Framework para finalmente, ver cómo monetizar nuestras aplicaciones a través de Windows Store.

El evento tendrá lugar el próximo 28 de Marzo de 2012 en las oficinas de Microsoft en Pozuelo de Alarcón (Madrid) desde las 19:00 horas hasta las 21:00 horas.

El evento es gratuito.

¡No faltes!

Podrás registrarte en http://madriddotnet.wordpress.com/2012/03/14/evento-windows-8-y-metro-para-desarrolladores-net/.

P.D.: recuerda que tal y como ha hecho Roberto, sí quieres dar una charla en MADNUG, serás bienvenido. No dudes en ponerte en contacto con nosotros y proponnos un tema.

MAD.NUG: 1er. Coding Dojo de MadNUG

Hola a todos, y feliz año nuevo, ya volvemos con fuerzas renovadas. Y para empezar el año, os presentamos el 1er. Coding Dojo que organizamos en MadNUG, y será el 26 de Enero.

Para ser nuestro primer Coding-Dojo empezaremos con una kata sencillita (FizzBuzz) que nos servirá de toma de contacto. Además seguro que surgen debates y conversaciones muy interesantes. Y sí tenemos más tiempo, subiremos un poco el nivel y haremos otra un poquillo más complicada.

Para pasar un rato divertido:

Lo más importante, tú ;)
Traer tú portátil con Visual Studio y algún framework de test (VS Test, NUnit…)
Ganas de aprender y particpar.

Más información y registro en: http://madriddotnet.wordpress.com/2012/01/19/1er-coding-dojo-de-madnug/

Creación de aplicaciones trial

Una de la mejores características en el desarrollo de Windows Phone es la facilidad para generar versiones trial de nuestras aplicaciones, pudiendo activar la aplicación completa sin tener que mantener 2 versiones de la misma y por ende, tener diferentes proyectos de una aplicación.

Para ello Microsoft.Phone.Marketplace nos provee de la clase LicenseInformation, la cual nos expone la propiedad IsTrial, la cual devolviendo un valor booleano, podemos saber si la aplicación funciona en modo en modo “demo” o completo.

Un pequeño ejemplo, crearemos una aplicación :

Imports Microsoft.Phone.Marketplace

Partial Public Class MainPage
    Inherits PhoneApplicationPage

    ' Constructor
    Public Sub New()
        InitializeComponent()

        Dim InfoLicencia As New LicenseInformation

        If InfoLicencia.IsTrial Then
            MessageBox.Show("Ejecutando la aplicación en modo DEMO")
        Else
            MessageBox.Show("Ejecutando la aplicación en modo COMPLETO")
        End If
    End Sub
End Class

Nota: Este ejemplo de concepto no es funcional en el emulador, ya que la propiedad IsTrial siempre devuelve False, ya que para que realmente funcione la aplicación debe estar firmado por el marketplace.

Esto esta bien para una aplicación de ejemplo, pero si queremos hacer una buena implementación deberemos hacer que, por lo menos para pruebas, nos pregunte si queremos entrar en modo demo o completo. Para ello vamos a aprovechar el evento Launching y Activated del fichero App.xaml.vb para comprobar en que modo queremos iniciar la aplicación.

    ' Código para ejecutar cuando la aplicación se inicia (p.ej. a partir de Inicio)
    ' Este código no se ejecutará cuando la aplicación se reactive
    Private Sub Application_Launching(ByVal sender As Object, ByVal e As LaunchingEventArgs)
        Comprobar_ModoInicio()
    End Sub

    ' Código para ejecutar cuando la aplicación se activa (se trae a primer plano)
    ' Este código no se ejecutará cuando la aplicación se inicie por primera vez
    Private Sub Application_Activated(ByVal sender As Object, ByVal e As ActivatedEventArgs)
        Comprobar_ModoInicio()
    End Sub

En la rutina de Comprobar_ModoInicio vamos a preguntar por el modo de inicio de nuestra aplicación y vamos a guardarlo en una variable para futuras consultas, esto también vamos a colocarlo en el fichero App.xaml.vb.

    Public _EsDemo As Boolean

    Sub Comprobar_ModoInicio()
        Dim InfoLicencia As New LicenseInformation

#If DEBUG Then
        ' En modo de depuración, preguntamos como deseamos arrancar la aplicación

        ' Si pulsa sobre el botón de Ok entramos en modo demo y sino en modo completo
        If MessageBox.Show("Pulse Aceptar para entrar en modo DEMO o Cancelar para entrar en modo COMPLETO",
                           "Modo Inicio", MessageBoxButton.OKCancel) = MessageBoxResult.OK Then
            _EsDemo = True
        Else
            _EsDemo = False
        End If
#Else
        ' Si no estamos en depuración obtenemos el valor del certificado de la aplicación
        _EsDemo = InfoLicencia.IsTrial
#End If
    End Sub

 

Ahora ya podemos desde cualquier punto de nuestra aplicación comprobar el modo de inicio y limitar por tiempo, número de arranques o cualquier otro método que queramos implementar.

Quedando nuestro primer ejemplo de la siguiente manera.

Partial Public Class MainPage
    Inherits PhoneApplicationPage

    ' Constructor
    Public Sub New()
        InitializeComponent()

        If TryCast(Application.Current, App)._EsDemo Then
            MessageBox.Show("Ejecutando la aplicación en modo DEMO")
        Else
            MessageBox.Show("Ejecutando la aplicación en modo COMPLETO")
        End If
    End Sub
End Class

Con este pequeño ejemplo podemos utilizar el emulador para probar como se comporta nuestra aplicación de un modo u otro.

Podéis descargar el proyecto de ejemplo desde http://descarga.e-mision.net/test_trial.zip

MAD.NUG: IoC y Unity: juntos pero no revueltos, 27 de octubre

IoC y Unity, seguramente hayas escuchado hablar de ellos más de una vez pero… ¿quién es quién y qué hace cada uno? Si tienes dudas o si quieres ampliar tus conocimientos, el próximo Jueves, 27 de Octubre celebraremos una mesa redonda en la sala Marie Curie en Microsoft Ibérica sobre este tema, de 19:00 a 21:00.

Trataremos unos cuantos de los siguientes temas:

  • IoC y Dependency Inversion y Dependency Injection: quien es quien, cuando usar cada uno y cuando NO usarlos
  • Unity: ¿sólo para inyección de dependencias o algo más? ¿AOP?
  • Dónde construir el grafo de objetos
  • Configuración XML vs Definición por Código: ventajas y desventajas de cada enfoque.
  • Otros contenedores IoC del mercado.

Como siempre, el formato será abierto y dinámico, por lo que unos temas pueden quedarse fuera y otros entrar.

Además, contaremos con la presencia de César De La Torre, Architect Advisor en Microsoft Ibérica y responsable del Centro de Arquitectura de MSDN España.

Puedes registrarte en http://madriddotnet.wordpress.com/2011/10/24/evento-ioc-y-unity-juntos-pero-no-revueltos-27-de-octubre/

Actualizar contador del tile

Una manera rápida de mostrar información al usuario es utilizando imagelos “tiles” anclados en el menú de inicio.

Entre la diferentes propiedades que podemos utilizar para mostrar información, está el contador o count, con el que podemos dar una rápida información al usuario.

El siguiente código muestra como actualizar el tile dentro de una aplicación con 2 botones btnSumar y btnRestar.

 

Partial Public Class MainPage
    Inherits PhoneApplicationPage

    Private contadorTile As Integer

    ' Constructor
    Public Sub New()
        InitializeComponent()
    End Sub

    Private Sub btnSumar_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles btnSumar.Click

        contadorTile += 1

        Actualizar_CountTile()

    End Sub

    Private Sub btnRestar_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles btnRestar.Click

        contadorTile -= 1

        Actualizar_CountTile()

    End Sub

    Sub Actualizar_CountTile()
        ' Se busca el primer Tile activo
        Dim appTile As ShellTile = ShellTile.ActiveTiles.First
        Dim tileData As New StandardTileData

        ' Se actualiza el valor del contador
        tileData.Count = contadorTile

        ' Se actualiza el Tile para que refresque la información
        appTile.Update(tileData)
    End Sub
End Class

Apariencia de la aplicación en funcionamiento.

Contador Tile

PD: Hay que recordar que la aplicación no está preparada para multitarea, por lo que si pulsamos sobre la flecha izquierda para salir de la aplicación, la información se perderá. Así que para ver el funcionamiento de está aplicación básica, debéis pulsar sobre la tecla central, tecla de Windows, para ir al menú principal y poder anclar la aplicación.

Podéis descargar el proyecto desde http://descarga.e-mision.net/PhoneApp6.zip

Instalando SDK Windows Phone 7.1

Ya está disponible la versión definitiva del SDK para Windows Phone 7.5, también conocida como Mango, aunque internamente marcada como 7.1.

Os dejo el enlace para la descarga: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=27570

Es un instalador “ligero” que se encargará de instalar todo lo necesario.

Destaca la instalación de:

  • Visual Studio 2010 Express Phone Edition, la versión gratuita de Visual Studio 2010
  • Expression Blend para Windows Phone
  • Silverlight 4 SDK
  • Windows Phone Emulator

Por supuesto todas estas herramientas son gratuitas, aunque para publicar aplicaciones en el MarketPlace hay que registrarse y pagar una cuota anual de 99 dólares (a esta fecha). Esta cuota permite la publicación de hasta 100 aplicaciones.

MAD.NUG: ¿Tienes dudas sobre Scrum con TFS? 21 de septiembre 2011

Pués entonces esperamos verte en el siguiente evento de Madrid.NET

El próximo miércoles, 21 de septiembre, en el Aula Vulcan (C/ Francisco Silvela, 54 Duplicado 1ºD 28028, Madrid) a partir de las 19:00, si tienes dudas de como llevar a cabo proyectos con Scrum y Team Foundation Server, te esperamos en este evento de Madrid.NET, dónde hablaremos de todos las cuestiones que os preocupen o tengáis acerca de implementar Scrum, y metodologías ágiles en general, con Team Foundation Server.

  • Hablaremos de temas como
  • gestión de las ramas en las iteraciones
  • retrospectivas útiles
  • que pasa con las historias de usuario inacabadas en una iteración
  • como hacer los despliegues
  • uso de gráficas como sprint burndown
  • planificación de iteraciones

Si estás interesado en compartir tus experiencias, o simplemente escuchar las experiencias de otros ¡¡¡te esperamos!!!

Podéis inscribiros en:

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

MAD.NUG: Salvando al Arcadian o mesa redonda sobre arquitectura

¡Hola a todos de nuevo!

Durante algún tiempo estamos probando una nueva forma de reunirnos y compartir conocimientos entre todos los asistentes a través de las mesas redondas ¡y parece que tiene éxito! Es por ello que este mes, con la llegada del veranito vamos a poder reunirnos una vez más para poder hablar en esta ocasión sobre arquitecturas en proyectos de desarrollo :D Si bien primarán aquellos proyectos en .NET, cualquier lenguaje es más que bienvenido :D

Esta mesa redonda tendrá lugar el miércoles 29 de Junio en el Aula Vulcan (Madrid) ¡Os esperamos!

Más información

Azure: Calculadora de precios

Una de las preguntas más comunes que he visto por los foros y cuando cuento que es Azure es, ¿pero cuanto cuesta esto?.

Hasta ahora teníamos una calculadora, no muy intuitiva con la que poder calcularlo, pero ahora Microsoft ha mostrado su evolución la cual podréis encontrar en http://www.microsoft.com/windowsazure/pricing-calculator/

Ahora será mucho más sencillo ver las previsiones de gasto con Windows Azure.

image