domingo, 12 de junio de 2011

Frameworks MVC de desarrollo. Propuesta de adopción de tecnologías de desarrollo web en la UITeS

Con el fin de establecer una arquitectura de desarrollo en la Unidad de Investigación en Telemedicina y e-Salud que permita una mayor eficiencia en el desarrollo de las aplicaciones en las que está inmersa la Unidad, el pasado 8 de junio presentamos un trabajo titulado "Frameworks MVC de desarrollo. Propuesta de adopción de tecnologías de desarrollo web en la UITeS" donde se analizaron diferentes patrones de diseño acordándose la adopción de alguno de ellos como principio de desarrollo en la Unidad. De los varios patrones que vimos, centramos nuestra atención en el patrón Modelo-Vista-Controlador identificándose las ventajas que nos aportaría desarrollar con este patrón como podrían ser las siguientes:
  • Desarrollo rápido
  • Reutilización de software
  • Diseño uniforme
Dentro de los frameworks que implementan o facilitan la implementación de este patrón o arquitectura MVC, analizamos algunos de ellos clasificándolos en dos grandes grupos atendiendo a los lenguajes de programación planteados en la Unidad. En UITeS existen dos grupos de investigación, cada uno de ellos con un lenguaje de programación atendiendo a diferentes criterios, por un lado el grupo de desarrollo en Java y por otro el grupo de desarrollo en PHP. Creemos que la existencia de dos grupos que codifiquen en diferentes lenguajes de programación y con la proyección que tienen tanto Java como PHP es positivo para la Unidad, teniendo además en cuenta que las aplicaciones existentes utilizan el protocolo SOAP para realizar peticiones a los distintos webServices que tanto un grupo como otro tienen desarrollados y publicados para toda la Unidad.

Tendiendo en cuenta esta premisa, se presentaron diferentes frameworks para cada uno de los lenguajes presentes, por un lado se analizó el framework Symfony para el lenguaje PHP5. Este framework automatiza la mayoría de los elementos comunes de los proyectos web como la internacionalización, las plantillas y layouts, la validación, gestión de caché, etc.

Por otro lado, respecto al lenguaje Java, se analizaron distintos frameworks con el fin de hacer la elección final lo más acertada posible. En este sentido se analizaron frameworks como Struts, JSF o el framework Play. Este último aportaba diferencias substanciales con respecto a los anteriores como ser completamente stateless(es decir, sin estado) o su fundamentación en HTTP lo cual le hace muy aconsejable para los desarrollos de aplicaciones RESTfull, entre otras.

Finalmente y teniendo en cuenta la necesidad presente y sobre todo en un futuro cercano de realizar aplicaciones para dispositivos móviles se analizaron diferentes frameworks para el desarrollo de aplicaciones, siempre en un entorno web, para diferentes dispositivos móviles como son los basados en Android o bien los iPhone. En este sentido se analizaron framework como JQuery Mobile, Sencha Touch o DHTMLX Touch, siendo este último frameworks en el que se fijaron las miradas debido en gran parte a su simplicidad, basado en librerías de HTML5 y Javascript y en su entorno gratuito de programación visual, acordándose estudiar su uso con posterioridad.

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites