Half ToDo: Un caso de uso de ASP.net MVC4

Página principal

He de reconocer que me gustan los gestores de tareas, me imagino que será por lo mal que gestiono yo las mías. He probado muchos de los disponibles en el mercado y además quería hacer mi propia solución. Han sido varios intentos (MVCTask usando Azure, MetroTask para Windows 8, otro cliente por línea de comandos), pero creo que esta es la buena.

Las bases

La idea para desarrollar la aplicación era la siguiente:

  • Debía de ser simple
  • Debía de ser visualmente atractiva
  • Debía de resolver un problema

La idea era simple: Una práctica está dividida en varias tareas, y las tareas pueden tener dos estados, completada y sin completar. El porcentaje de terminación de una práctica está definido por el cociente entre las prácticas completadas dividido entre las prácticas totales.

Además, cada práctica estará enlazada a una persona concreta, de tal manera que yo solamente tenga acceso a las mías y no a las del resto de la gente (por aquello de la seguridad y tal).

Bajo el capó

Con esas tres premisas abrí Visual Studio y empecé un proyecto de nombre PracticasManager, ya que en un principio el proyecto va destinado a gestión de prácticas en la universidad.

Para realizar el proyecto me basé en la última versión de ASP.net MVC, la 4 que se encuentra en estos momentos en su fase de Developer Preview, ya que quería probar ciertas capacidades relativas al uso como aplicación móvil. El lenguaje de programación es C# y la interfaz para la creación de la aplicación es Razor.

El sistema ORM para el mapeo desde los objetos hasta la base de datos no podía ser otro que Entity Framework, usando el método Code-First, que permite definir nuestros objetos usando POCO (Plain Old C# object) y que las tablas de la base de datos se generen automáticamente.

La base de datos está gestionada por un SQL Server 2008 R2 que proporciona el proveedor del alojamiento.

Una cara bonita

Para la interfaz gráfica he usado Twitter Bootstrap, un conjunto de plantillas CSS y Javascript que permiten a los desarrolladores que no sabemos combinar colores que salga una interfaz decente. Finalmente la barra de progreso está creada con JQuery UI.

Detalle del listado de las tareas

También para móviles

Otra de las cosas que quería probar era el comportamiento de la aplicación en un móvil, así que usando las nuevas características de ASP.net MVC4, jQuery Mobile (y algun que otro paquete de nuget), pude implementar una interfaz básica de la aplicación para dispositivos móviles.

Detalle de la interfaz para dispositivos móviles

Alojamiento

Para el alojamiento decidí buscar algo diferente, tras probar Azure para otros proyectos (muy potente, y muy escalable, pero muy complejo para las necesidades de este proyecto) descubrí AppHarbor, un sistema de despliegue en la nube basado en Git (como Heroku, el sistema de despliegue preferido de las aplicaciones Ruby on Rails), completamente gratuito (para proyectos pequeños) y muy fácil de usar. La experiencia ha sido muy gratificante y recomiendo probarlo aunque sea con proyectos muy pequeños.

Detalle de interfaz de administración de AppHarbor

Conclusiones

Este proyecto me ha servido para poder lanzar una solución funcional para un problema concreto, así como la ocasión de probar tecnologías que no había visto hasta ahora, como JQuery Mobile, Bootstrap, el despliegue en AppHarbor entre otros.

Te animo a que la pruebes, está en una fase bastante experimental, así que puedes encontrar algún que otro fallo. Tanto si te gusta como si no, dejame un comentario y sabré qué puedo mejorar.

Enlace: Half todo en AppHarbor

10 pensamientos en “Half ToDo: Un caso de uso de ASP.net MVC4

  1. César

    Hola Roberto,

    Enhorabuena!!! tiene muy buena pinta tu aplicación :)

    ¿Cuando sale MVC4? ¡¡si acabo de empezar con MVC3!! XD

    Saludetes

    Responder
    1. Roberto Luis Autor de la entrada

      Está en fase developer preview, pero no deberías preocuparte, por lo que he visto hasta ahora no será tan rompedor como fue MVC3, ya que la interfaz seguirá siendo Razor. A ver si saco tiempo para escribir un poco sobre las novedades. Me alegro que te guste la app. Se aceptan comentarios! :)

      Responder
    1. Roberto Luis Autor de la entrada

      Hola Xema:

      De momento no, si tienes alguna duda de alguna sección concreta coméntamelo y escribo de ello. Si te gusta la app y necesitas alguna característica adicional hazmelo saber. Gracias por leerme, un saludo!

      Responder
  2. Pingback: 0x7DC: Retrospectiva | [email protected]

  3. zetaperu

    Estimado, porque no dejas el fuente para revisarlo y quizás mejorarlo o simplemente un tutorial del mismo paso a paso.

    Responder
  4. Iván Ramos

    Roberto, estaba realizando una aplicación móvil con MVVM, que no lo había visto en mi vida. Pero si he trabajado con MVC3, crees conveniente realizarla en MVC4? La verdad no se que diferencias hay entre MVC3 y MVC4, pero según tengo entendido con MVC4 se pueden desarrollar aplicaciones móviles verdad?

    Responder
    1. Roberto Luis Bisbé Autor de la entrada

      Hola Iván, MVC4 es una evolución sobre MVC3, te recomiendo, si no tienes ninguna limitación, siempre intentar trabajar con la última versión. Con MVC4 se han agregado novedades para hacer aplicaciones web para móviles.

      Aquí te dejo unos cuantos artículos (en español) de novedades:

      http://geeks.ms/blogs/jmaguilar/archive/2011/10/10/asp-net-mvc-4-developer-preview-un-primer-vistazo.aspx
      http://www.variablenotfound.com/2012/02/algunas-novedades-de-razor-para-mvc-4-y.html
      http://msdn.microsoft.com/es-es/magazine/hh975347.aspx

      Responder

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s