Resumen:
|
[EN] It will be presented the frame where Waymate was born as a conceptual idea, an
application which offers solutions to travel from a city to another by different means of
transportation in an easy and smart way. This ...[+]
[EN] It will be presented the frame where Waymate was born as a conceptual idea, an
application which offers solutions to travel from a city to another by different means of
transportation in an easy and smart way. This platform supports web and mobile client
applications. However, this document describes the procedure for building up the clientside for the web app and the server-side, which is employed for all the different clients
The different techniques of Software Development Life Cycles will be described
and the selection of the different methods for the purpose which concerns the application
development justified.
There exist several platforms and technologies for building up such a complex
application for the client and server-side, but which of them are the most appropriate and
innovative?
This document will tackle the description of different alternatives for implementing
different features and functionalities required for this kind of applications, specifying the
upsides and downsides which present, the reasons because they’ve been selected and the
benefits which bring to the application functionality. All these features described in the
following points are considered in the vanguard from several developer communities:
Server-side framework. Ruby on Rails provides several features which allow
implementing a complete server and client-side, either included in the framework
or as external libraries. Among these features, it should be mentioned datastorage, RESTful services, internationalization, assets configuration, deployment,
testing and the Model/View/Controller pattern.
Client-side technologies. Libraries which include innovative patterns to organize
the code and the files within the project, as well as a highly interactive user
interface.
Deployment. Exposing the latest strategies and procedures to carry out this
process in a smart and reliable way. How to test before deploying, why using
multi-staging, test-monitoring once the new version is on the live system after
being deployed and how to configure all these frameworks.
Performance improvements of the application on the client-side by means of
different technologies employed.
Different procedures to test all the testable code, following the Test-Driven and
Behavior-Driven Development methodologies, for the client and server-side code,
as well as the workflow.
Regarding these technologies, technical insights and advices for their integration
and implementation will be described in a way that could help to a developer who wants
to use them.
Finally the workflow and the different stages along the application will be
described. For the different stages it’s been necessary to include external services to
facilitate the user experience along the process, such as Google APIs. The pros and cons of
all these features will be contrasted.
[-]
[ES] Se presentará el marco donde Waymate nació como idea conceptual, una
aplicación que ofrece soluciones para viajar de una ciudad a otra mediante diferentes
medios de transporte de una forma fácil en inteligente. Esta ...[+]
[ES] Se presentará el marco donde Waymate nació como idea conceptual, una
aplicación que ofrece soluciones para viajar de una ciudad a otra mediante diferentes
medios de transporte de una forma fácil en inteligente. Esta plataforma soporta
aplicaciones cliente para web y dispositivos móviles. Sin embargo, este documento
describe el procedimiento para crear la parte del cliente para la aplicación web, además de
la parte del servidor, la cual es empleada para los diferentes clientes.
Las diferentes técnicas del Ciclo de Vida de Desarrollo de Software serán descritas
y la selección de estos diferentes métodos para éste propósito que concierne al desarrollo
de la aplicación justificados.
Existen diversas plataformas y tecnologías para implementar una aplicación de tal
complejidad para la parte del cliente y del servidor, pero ¿cuáles de ellas son las adecuadas
e innovadoras?
Este documento abordará la descripción de diferentes alternativas para la implementación
de diferentes características y funcionalidades requeridas para este tipo de aplicaciones,
especificando las ventajas y desventajas que presentan, la razones porque han sido
elegidas y los beneficios que aportan a la funcionalidad de la aplicación. Todas estas
características descritas en los siguientes puntos, están consideradas a la vanguardia por
diferentes comunidades de desarrolladores:
Framework para el desarrollo de la parte del servidor. Ruby on Rails proporciona
diversas características que permiten la implementación de una completa
aplicación, en cuanto a cliente y servidor, ya sean incluidas en el mismo framework
o en librerías externas. Entre estas funcionalidades, cabría destacar el
almacenamiento de datos, servicios RESTful, internacionalización, configuración
de activos, despliegue de nuevas versiones, testeo y el patrón de diseño y
estructura de código MVC.
Tecnologías de la parte del cliente. Librería que incluyen patrones innovadores
para organizar el código y los archivos, como también una interfaz de usuario
altamente interactiva.
Despliegue de versiones. Exponiendo las últimas estrategias y procedimientos
para llevar a cabo este proceso de una forma inteligente y fiable.
Cómo testear antes de desplegar una nueva versión, porque usar multi‐staging,
monitorizar pruebas una vez la nueva versión es accesible a través de una URL a
todos los usuarios y como configurar estos frameworks.
Mejora del rendimiento de la aplicación en la parte del cliente gracias a diferentes
tecnologías empleadas.
Diferentes procedimientos para testear todo el código posible, siguiendo
metodologías de Desarrollo Guiado por Pruebas o por Comportamiento, para el
código del cliente y servidor, además del flujo de datos.
Con respecto a todas estas tecnologías, se proveerá de una descripción de consejos
para su integración e implementación, de forma que un desarrollador de software pueda
llevarlo a la práctica.
Finalmente el flujo de datos y las diferentes etapas a lo largo de la aplicación serán
descritos. Para las diferentes etapas ha sido necesario incluir servicios externos para
facilitar la experiencia del usuario, tales como APIs proporcionadas por Google. Sus
ventajas e inconvenientes también serán contrastados.
[-]
|