[en] The creation of mobile applications is a growing need. These applications usually are user interfaces which manage information stored in content Web servers. As a result, the development of mobile applications requires the employment of new technologies and tools which hasten the publication times of the applications as well as decrease the cost of their development, especially in a world with a variety of mobile platforms (iOS, Android, Windows Phone, Firefox OS, etc.), and so arises the need of managing the source code from a unique point of view. There is a wide range of tools and frameworks which facilitate the development of unique code and have their own peculiarities, thus the need to evaluate all their characteristics in order to decide which one is the most suitable for the development of each particular application. In this project, a study of several current technologies is conducted to determine their strengths and weaknesses. This project analyses the quality of the frameworks' visual representation of their basic components as well as the possibilities presented by the frameworks to access the APIs of the operating system and determines the easiness of working with them — analysing the available IDEs to use with each framework, the extension and quality of the documentation or the existence of developer communities which may provide help or additional modules. The license cost is also taken into consideration in this study. A spiral model life cycle is used to develop the prototypes. It allows facing the different problems posed during the project with the appropriate risk levels, being the main problem the initial lack of knowledge on the studied technologies. Three iterations are made to obtain the results and final conclusions of this project. The obtained results are essentially a group of successes and failures obtained under the hypotheses of selecting each one of the frameworks. These results are later analysed in order to put forward recommendations for using the different frameworks according to the different given starting situations. Furthermore, a reference application is developed with each one of the frameworks in order to evaluate their mode of use in a real project. Finally, the project is concluded with a series of possible future work.

[es] La creación de aplicaciones móviles es una necesidad en crecimiento. Estas aplicaciones suelen ser interfaces de usuario que gestionan información que se encuentra en servidores web de contenidos. Es por ello que el desarrollo de aplicaciones móviles necesita emplear nuevas tecnologías y herramientas que agilicen el tiempo de publicación de las aplicaciones a la vez que disminuyen el coste de desarrollo de las mismas, especialmente en un mundo en el que existe diversidad de plataformas móviles (iOS, Android, Windows Phone, Firefox OS, etc.) y se hace necesario gestionar el código fuente de aplicaciones desde un punto de vista único. Existe una amplia variedad de herramientas y frameworks que facilitan el desarrollo de código único y que cuentan con distintas peculiaridades, por lo que es necesario valorar todas las características que nos ofrecen para poder decidir cuál es la más idónea para el desarrollo concreto de cada aplicación. En este proyecto se realiza un estudio de varias de las tecnologías existentes en la actualidad con el objeto de determinar cuáles son los puntos fuertes y débiles de cada una de ellas. En el proyecto se estudia la calidad con la que el framework representa visualmente sus componentes básicos, se analizan las posibilidades que ofrece el framework para acceder a las API del sistema operativo y se determina la facilidad de trabajo con este sistema: analizando el IDE disponible para trabajar con el framework, la cantidad y calidad de la documentación o la existencia de comunidades de desarrolladores para ofrecer ayuda o módulos adicionales. El coste de la licencia es otro factor que se tiene en cuenta en los estudios realizados. Para los desarrollos de los prototipos, se emplea un ciclo de vida en espiral que permite afrontar los distintos problemas con adecuados niveles de riesgo en el proyecto, siendo el principal de ellos el desconocimiento previo de las tecnologías que se estudian. Se realizan tres iteraciones para obtener los resultados y conclusiones finales del proyecto. Los resultados logrados son fundamentalmente un conjunto de errores y aciertos obtenidos bajo la hipótesis de selección de cada uno de los frameworks. Estos resultados se analizan posteriormente para poder realizar las recomendaciones de utilización de los distintos frameworks según las distintas situaciones de partida dadas. También se ha realizado una aplicación de referencia con cada uno de los frameworks para poder apreciar la forma de empleo de éstos en un proyecto real. Por último se concluye el trabajo con una serie de posibles trabajos futuros que se pueden realizar.