UNIVERSIDAD CATÓLICA DE SANTA MARÍA
FACULTAD DE CIENCIAS E INGENIERÍAS FÍSICAS Y FORMALES
PROGRAMA PROFESIONAL DE INGENIERÍA DE SISTEMAS
“APLICATIVO MÓVIL MULTIPLATAFORMA PARA LA
PROMOCIÓN DE UN DESTINO TURÍSTICO, CASO:
CENTRO HISTÓRICO DE AREQUIPA”
Tesis presentada por el Bachiller:
Alfonso Rodrigo Chicata Abarca
Para optar el título profesional de:
INGENIERO DE SISTEMAS
AREQUIPA – PERÚ
2014
DEDICATORIA
La presente Tesis está dedicada a Dios, por ser la luz que me ilumina por el buen
camino, gracias a él puedo dar esta alegría a mis seres queridos.
A mis padres Mayrene y Alfonso porque además de darme todo en la vida, son la fuente
de inspiración y motivación para el desarrollo de esta Tesis. Por estar siempre a mi lado
para darme su apoyo incondicional y guiarme para ser de mí cada vez una mejor
persona.
A mis padres, Rosa y Guido quienes son mi fuente de sabiduría, con su amor y
enseñanza han sembrado en mí, las virtudes que se necesitan para llegar a la felicidad.
A mis hermanos Jimena y Diego por ser mi mano derecha, con su compromiso, su
ejemplo y sus palabras de aliento me han impulsado para lograr este sueño.
A mi gran familia y el equipo de mis amores…FC De La Salle!!
ii
ÍNDICE
Pág.
RESUMEN
ABSTRACT
INTRODUCCIÓN
CAPÍTULO I: PLANTEAMIENTO TEÓRICO
1.1. Problema de Investigación 5
1.1.1. Enunciado del Problema 5
1.1.2. Descripción del Problema 5
1.1.3. Formulación Interrogativa del Problema 6
1.1.4. Justificación de la Investigación 6
1.1.5. Alcances y Limitaciones 6
1.2. Objetivos 7
1.2.1. Objetivo General 7
1.2.2. Objetivos Específicos 7
CAPÍTULO II: MARCO TEÓRICO
2.1. Estado del Arte 8
2.1.1. Antecedentes de la Investigación 8
2.1.2. Antecedentes de Dispositivos Móviles 12
2.1.3. Antecedentes de Aplicaciones Móviles 15
2.2. Situación Actual 16
2.2.1. Mercado de Dispositivos Móviles 16
2.2.2. Mercado de Aplicaciones Móviles 19
i
2.2.3. Turismo 21
2.2.4. Turismo en el Centro Histórico de Arequipa 24
2.2.5. Tecnología de Información en el Turismo 28
2.2.6. Aplicaciones Móviles para el Turismo 30
2.3. Sistemas Operativos Móviles 34
2.3.1. Sistema Operativo Android 34
2.3.2. Sistema operativo IOs 38
2.3.3. Sistema Operativo Windows 8.1 y Windows Phone 8 41
2.4. Desarrollo de Aplicaciones Móviles Multiplataforma 43
2.4.1. Principales Características de las Aplicaciones Móviles
Multiplataforma 44
a. Experiencia de usuario 44
b. Directrices para la satisfacción del usuario 44
c. Arquetipos para la innovación 46
d. Usabilidad 47
e. Métricas de usabilidad de una aplicación móvil 49
2.4.2. Tipos de aplicaciones móviles multiplataforma 51
[Link]. Aplicaciones basadas en desarrollo web 52
a. Ventajas de las aplicaciones basadas en desarrollo web 55
b. Desventajas de las aplicaciones basadas en desarrollo web 55
[Link]. Aplicaciones nativas 57
a. Características de las aplicaciones móviles nativas 58
b. Ventajas de las aplicaciones móviles nativas 59
c. Desventajas de las aplicaciones móviles nativas 59
ii
[Link]. Aplicaciones móviles híbridas 60
a. Características de las aplicaciones híbridas 61
b. Ventajas de las aplicaciones híbridas 61
c. Desventajas de las aplicaciones híbridas 62
2.5. Frameworks para el desarrollo de aplicaciones móviles
multiplataforma 62
2.5.1. JQuery Mobile 62
a. Anatomía de una App Sencha 64
2.5.2. Phonegap 65
a. Ventajas 66
b. desventajas 67
2.5.3. Titanium Appcelerator 67
2.5.4. Strawberry 69
2.5.5. Qt 5.2 72
a. Flexibilidad 74
2.5.6. Xamarin 74
2.5.7. Código Compartido 77
2.6. Computación en la Nube para Aplicaciones Móviles 77
2.6.1. La Fiabilidad y el Tiempo de Actividad 78
2.6.2. Apoyo Técnico 78
2.6.3. Espacio de Almacenamiento 79
2.6.4. Facilidad de Uso 79
2.6.5. Los Enfoques de la Computación en la Nube 79
2.6.6. Infraestructura como Servicio 79
iii
2.6.7. Software como Servicio 80
2.6.8. Plataforma como Servicio 81
2.6.9. Backend como Servicio 81
2.6.10. Propósito 82
2.6.11. Modelo de Negocio 82
2.6.12. Windows Azure 83
a. Características de Windows Azure 84
b. Componentes Azure Platform 85
c. Beneficios de Windows Azure 87
d. Microsoft Azure Storage 88
e. Windows Azure Mobile Services 91
f. Escenarios Reales con los Servicios móviles de Windows Azure 92
CAPÍTULO III: DESARROLLO DEL APLICATIVO MÓVIL
3.1. Metodología de Desarrollo 95
3.2. Análisis de Requerimientos 96
3.2.1. Requerimientos Funcionales 97
3.2.2. Requerimientos no Funcionales 98
3.3. Diagrama de Casos de Uso 98
3.4. Especificación de Casos de Uso 99
3.4.1. Caso de Uso Registrar Usuario 99
3.4.2. Caso de Uso Iniciar Sesión 100
3.4.3. Caso de Uso Seleccionar Destino 101
3.4.4. Caso de Uso Escribir Comentario 102
3.4.5. Caso de Uso Valorar Destino Turístico 103
iv
3.4.6. Caso de Uso Notificar Nuevo Comentario 104
3.4.7. Caso de Uso Ir a la Vista de Lectura 105
3.5. Diagrama de Clases 106
3.6. Wireframes 107
3.7. Arquitectura 110
3.7.1. Aplicación del Patrón de Diseño MVVM 110
a. Modelo 110
b. Vista 111
c. Modelo de Vista 112
3.7.2. Estrategia de Organización de un Proyecto 112
a. Librerías de clase portables o PCL 112
3.7.3. Ventajas y Desventajas de Utilizar una Librería de Clases Portable 113
a. Ventajas 113
b. Desventajas 114
3.7.4. Proyecto Compartido 114
3.7.5. Enlace de Datos entre Capas 115
3.7.6. Interfaces Importantes 117
3.7.7. Definición de la Arquitectura 119
3.7.8. Capas de la Aplicación 121
CAPÍTULO IV: PRUEBAS Y RESULTADOS
4.1. Capturas de Pantalla de la Aplicación 123
4.1.1. Registro e Inicio de Sesión 123
4.1.2. Escribir un Comentario 126
4.2. Usabilidad e Interactividad del Aplicativo 127
v
4.3. El Contenido del Aplicativo 129
4.4. Análisis de los Resultados 130
4.4.1. Rendimiento 135
4.4.2. Puntos Crash 136
4.4.3. Conectividad 136
CONCLUSIONES 137
RECOMENDACIONES 139
REFERENCIAS BIBLIOGRÁFICAS
ANEXOS
GLOSARIO DE TÉRMINOS
vi
ÍNDICE DE TABLAS
Pág.
Tabla 1: Tipos de destinos turísticos 23
Tabla 2: Tipos de turista 24
Tabla 3: Actividades realizadas por el turista nacional 25
Tabla 4: Actividades realizadas por el turista extranjero 26
Tabla 5: Llegada de visitantes al monasterio de Santa Catalina. Enero
2005 – Diciembre 2012. 27
Tabla 6: De métricas utilizadas para la evaluación de características
móviles. 50
Tabla 7: Requerimiento funcional 97
Tabla 8: Requerimiento no funcional 98
Tabla 9: Caso de uso registrar usuario 99
Tabla 10: Caso de uso iniciar sesión 100
Tabla 11: Caso de uso seleccionar destino 101
Tabla 12: Caso de uso escribir comentario 102
Tabla 13: Caso de uso valorar destino turístico 103
Tabla 14: Caso de uso notificar nuevo comentario 104
Tabla 15: Caso de uso ir a la vista de lectura 105
vii
ÍNDICE DE FIGURAS
Pág.
Figura 1: Participación de páginas visitadas desde diferentes dispositivos
móviles 16
Figura 2: Porcentaje de usuarios por sistema operativo 18
Figura 3: Participación por marcas en el mercado global de tabletas, 2012-
2016 19
Figura 4: Participación de marcas de dispositivos móviles en el mercado
peruano 21
Figura 5: Aplicación turística Be your Guide- Toledo 32
Figura 6: Aplicación turística: Perú Natural 33
Figura 7: Aplicación turística del centro histórico de Lima 33
Figura 8: Arquitectura del sistema operativo Android 37
Figura 9: Logo de la tienda virtual de Android 39
Figura 10: Arquitectura del sistema operativo IOs 39
Figura 11: Arquitectura del sistema operativo Windows Phone 42
Figura 12: Flujo de la definición de usabilidad de una aplicación móvil 48
Figura 13: Soluciones Multiplataforma para dispositivos móviles 53
Figura 14: Arquitectura de una aplicación móvil basada en la web 54
Figura 15: Arquitectura de una aplicación móvil multiplataforma nativa 66
Figura 16: Logo de JQuery 63
Figura 17: Arquitectura de una aplicación Sencha 64
Figura 18: Logo de PhoneGap 66
viii
Figura 19: Logo AppCelerator 68
Figura 20: Logo Strawberry 70
Figura 21: Logo QT 72
Figura 22: Logo Xamarin 75
Figura 23: Arquitectura de una aplicación móvil en Xamarin 76
Figura 24: Tipo de servicios en la nube 80
Figura 25: Arquitectura de una aplicación móvil multiplataforma utilizando
Azure 84
Figura 26: Servicios de Windows Azure Storage 90
Figura 27: Arquitectura de Windows Azure Services 92
Figura 28: Mapa conceptual de la metodología de desarrollo del aplicativo
móvil 95
Figura 29: Diagrama de Casos de uso. 98
Figura 30: Diagrama de clases 106
Figura 31: Wireframe de la vista principal 107
Figura 32: Wireframe de la vista de comentarios 108
Figura 33: Wireframe de la vista de mapas 108
Figura 34: Wireframe de la vista principal de comentarios 109
Figura 35: Wireframe de la vista de lectura 109
Figura 36: Equivalentes para telefonos 110
Figura 37: Arquitectura del patrón Model View ViewModel 112
Figura 38: Proyecto Compartido 115
Figura 39: Código base para los enlaces de datos 116
Figura 40: Código de interface namespace 118
ix
Figura 41: Código de interface namespace 118
Figura 42: Arquitectura propuesta para la aplicación Móvil multiplaforma 119
Figura 43: Vista de login y registro 124
Figura 44(a): Inicio de sesión y registro 124
Figura 44(b): Inicio de sesión y registro 125
Figura 45: Login y registro con Facebook en teléfonos inteligentes 125
Figura 46: Vista multimedia principal 126
Figura 47: Usabilidad e interactividad del aplicativo 127
Figura 48: Funcionalidad de la interactividad de la aplicación. 128
Figura 49: Funcionalidad de la interactividad de la aplicación. 128
Figura 50: Vista de Contenido informativo brindado por el aplicativo 129
Figura 51: Vista de Mapa del Centro Histórico 129
Figura 52: Vista de Contenido informativo brindado por el aplicativo 130
Figura 53: ¿La aplicación móvil multiplataforma cumple con lo propuesto,
para promocionar un destino turístico? 131
Figura 54: ¿Cómo evalúa el diseño de interfaz de usuario de la aplicación? 132
Figura 55: ¿Cómo evalúa el desempeño de la aplicación en un dispositivo real? 132
Figura 56: ¿Cómo evalúa la usabilidad de la aplicación en una tableta? 133
Figura 57: ¿Cómo evalúa la usabilidad de la aplicación en un teléfono
inteligente? 134
Figura 58: ¿Usarías la aplicación en tus viajes? 135
x
RESUMEN
Al día de hoy, millones de usuarios utilizan asiduamente sus dispositivos móviles
para interactuar con su entorno. En la mayoría de los casos, el proceso de interacción
está gestionado por una aplicación software específica. Debido a las características de
este tipo de aplicaciones, en la mayoría de casos deben de ser desarrolladas como
aplicaciones nativas para cada plataforma móvil destino. Tomando esto como premisa,
uno de los retos a los que la informática móvil ha sido llamada, es superar la
fragmentación de dispositivos y sistemas operativos móviles.
Cuando se trata de desarrollo nativo de una aplicación para varias de las
plataformas existentes requiere una inversión grande en cuanto a recursos destinados
para el desarrollo. A través de la introducción del desarrollo multiplataforma, los
desarrolladores pueden crear aplicaciones para múltiples plataformas utilizando un
mismo código base, reutilizable entre las diferentes plataformas.
Para solucionar los problemas de compatibilidad entre las diferentes plataformas,
las herramientas de desarrollo multiplataforma ofrecen las mismas ventajas que un
desarrollo aislado para cada plataforma, tales como performance, acceso a los
accesorios del dispositivo, independencia de una conexión a internet, también se aprecia
que el desarrollo multiplataforma era más barato y lleva menos tiempo.
En esta investigación se desarrolla un aplicativo móvil para la promoción del centro
histórico de Arequipa, aplicación disponible en español y desarrollado para las tres
plataformas más importantes del mercado global (Android, Windows y IOs), utilizando
los servicios de la nube para la gestión de usuarios, así como las redes sociales para la
promoción del aplicativo móvil.
1
ABSTRACT
Nowadays millions of users regularly use their mobile devices to interact with their
environment. In most cases, the interaction process is managed by a specific software
application. Because the features of this type of application, in most cases must be
developed as native applications on each mobile platform destination. Taking this as a
premise, one of the challenges that mobile computing has been called for, is to
overcome the fragmentation of mobile operating systems and devices.
When it comes to native application development for multiple of existing platforms
requires a large investment in terms of resources for development. Through the
introduction of cross-platform development, developers can build applications for
multiple platforms using a single code base, reusable between the different platforms.
To fix the compatibility problems between different platforms, cross-platform
development tools offer the same advantages as isolated development for each platform,
such as performance, access device accessories, regardless of an internet connection,
also shows that the platform development was cheaper and takes less time.
In this research a mobile application for the promotion of the historic center of
Arequipa, application available in Spanish and developed for the three major platforms
of the global market (Android, Windows and IOs) was developed, using cloud services
for managing users and social networks to promote mobile application.
2
INTRODUCCIÓN
Las aplicaciones para dispositivos móviles, aplicaciones móviles, están en la etapa
en que deben existir para múltiples plataformas de manera que cubran la mayor cantidad
de usuarios posibles.
El desarrollo nativo para múltiples plataformas requiere la inversión más grande
recursos de desarrollo de software, algo que resulta demasiado costoso. A través de
desarrollo multiplataforma, los desarrolladores pueden crear aplicaciones para múltiples
plataformas utilizando el mismo código base.
Los escenarios de las aplicaciones móviles se han convertido en uno de los más
variados campos, el campo de la computación móvil trajo consigo aplicaciones de
movilidad y conectividad completa. El turismo es una actividad económica que está
muy relacionada con el desarrollo de aplicaciones móviles, este avance tecnológico es
importante para la mejora de sus procesos, así como para la promoción efectiva de sus
productos y servicios.
Las aplicaciones pueden ser desarrolladas haciendo uso de una gran variedad de
herramientas que existen actualmente, metodologías variadas de desarrollo usando la
metodología tradicional y también nuevas metodologías que surgen de la evolución de
la computación móvil. El número de herramientas que prometen una vista limpia y sin
problemas, acelerando el proceso de desarrollo. Las aplicaciones móviles pueden
dividirse en dos tipos principales que son aplicaciones nativas y aplicaciones
multiplataforma.
3
En el capítulo I, Planteamiento Teórico, se plantea el problema que motivó a la
realización de la arquitectura, así como también los objetivos trazados para obtenerlo.
En el capítulo II, Marco Teórico, se abordan los antecedentes de los dispositivos
móviles así como de los aplicativos móviles, también se expone como se encuentra la
situación actual del mercado de los mismos. Por otro lado se explica el turismo en
general y local, así como la tecnología de la información que se aplica en esta actividad
económica y por último las aplicaciones móviles que existen en el turismo.
En este capítulo se explica también los aspectos teóricos de los sistemas operativos,
el desarrollo de aplicaciones móviles multiplataforma, los frameworks para el desarrollo
de aplicaciones móviles y la computación en la nube para aplicaciones móviles.
En el capítulo III, Desarrollo del Aplicativo Móvil, se describe la metodología de
desarrollo, el análisis de requerimientos, los diagramas de casos de uso, las
especificaciones de los mismos, los diagramas de clases, los wireframes y la
arquitectura de la solución.
En el capítulo IV, Pruebas y Resultados, se prueban los escenarios creados usando
la arquitectura propuesta.
Finalmente, se expone las conclusiones, recomendaciones y hacia donde se enfoca
este trabajo en el futuro.
4
CAPÍTULO I: PLANTEAMIENTO TEÓRICO
1.1. Problema de Investigación
1.1.1. Enunciado del Problema
“Aplicativo móvil multiplataforma para la promoción de un destino turístico caso:
Centro Histórico de Arequipa”
1.1.2. Descripción del Problema
La forma más óptima de desarrollar aplicaciones móviles es haciendo uso de
herramientas nativas. Sin lugar a dudas el rendimiento de la aplicación tanto en uso de
recursos y de la interacción del usuario será de las mejores, pero cabe señalar que el
costo profesional para su desarrollo será relativamente alto, cuando se trata de tener la
misma aplicación en la mayor cantidad de dispositivos posibles.
Uno de los principales retos del desarrollo nativo es la existencia de una variedad
de plataformas y dispositivos en el mercado móvil, haciendo que el desarrollo de
aplicativos móviles termine siendo muy fragmentado y costoso es sus estrategias de
desarrollo de software.
Una aplicación móvil multiplataforma es ampliamente adaptable, lo que significa
que se desarrolla una sola vez y puede ser desplegada en cualquier dispositivo, o en una
variedad importante de los mismos. Actualmente el mercado provee una vertiginosa
cantidad de herramientas de desarrollo móvil multiplataforma.
5
1.1.3. Formulación Interrogativa del Problema
El desarrollo de aplicaciones móviles nativas para múltiples sistemas operativos
móviles, genera diferentes costos en las estrategias de desarrollo de aplicaciones
móviles. Además el tiempo empleado crece proporcionalmente a la cantidad de sistemas
operativos para lo que se desea desarrollar la aplicación multiplataforma. ¿Cómo se
puede optimizar estos recursos para la elaboración de aplicativos móviles
multiplataforma sin afectar las características que se obtienen al desarrollar
nativamente?
1.1.4. Justificación de la Investigación
El desarrollo móvil multiplataforma compartido propicia la optimización de la
construcción y un mayor aprovechamiento del conocimiento para lo cual se plantea una
arquitectura que permite la reutilización de código fuente.
1.1.5. Alcances y Limitaciones
El presente trabajo de investigación, desarrollará un aplicativo móvil para la
promoción del centro histórico de Arequipa. Esta aplicación va estar disponible en
idioma español y se va a desarrollar para las tres plataformas más importantes del
mercado global (Android, Windows y IOs). Además se utilizará los servicios de la nube
para la gestión de usuarios así como las redes sociales para la promoción del aplicativo
móvil.
Una vez analizados los alcances es necesario considerar las limitaciones que se
presentan ante un proyecto de estas características. En primer lugar nos encontramos
frente a tecnologías relativamente nuevas, con terminales móviles de última generación.
6
En segundo lugar, la inestabilidad de los framework de desarrollo multiplataformas
existentes y por último la constante actualización de las versiones de los sistemas
operativos móviles, lo cual implica tener en cuenta nuevas características en el
desarrollo
1.2. Objetivos
1.2.1. Objetivo General
Proponer un prototipo de aplicación móvil multiplataforma para el despliegue de
una guía turística para la promoción del Centro Histórico de Arequipa.
1.2.2. Objetivos Específicos
- Aplicar el patrón de diseño MVVM (Modelo, Vista, Modelo de Vista) al desarrollo
de un aplicativo multiplataforma que permita compartir código fuente entre las
diferentes plataformas, de tal forma que el desarrollo sea óptimo.
- Implementación de un back-end compartido en la nube, que permita el inicio de
sesión de usuarios y compartir opiniones sobre el aplicativo.
- Implementar interfaces de usuario interactivas que tengan impacto en la interacción
de usuario y un óptimo uso de las ventajas del hardware de los dispositivos.
7
CAPÍTULO II: MARCO TEÓRICO
2.1. Estado del Arte
2.1.1. Antecedentes de la Investigación
- Desarrollo de aplicaciones para dispositivos móviles sobre la plataforma Android
de Google
Autor: Jaime Aranaz Tudela
Institución: Universidad Carlos III de Madrid
Año: 2009
El presente proyecto busca conocer y comprender las características y el
funcionamiento de este nuevo sistema operativo, averiguando sus posibilidades y
ventajas frente a otras alternativas. Además, abarca el desarrollo completo de una
aplicación de nombre ContactMap, que permite localizar a los contactos mediante
mapas y con la que se busca ilustrar de forma práctica la construcción y naturaleza de
las aplicaciones para Android.
- “Propuesta metodológica para implementar aplicaciones móviles utilizando Java
me partir del Threat modeling”
Autor: Edwin Junior Martínez Pacheco
Institución: Universidad Católica de Santa María
Año: 2011
8
En esta tesis, el autor propone un planteamiento metodológico que cubra todas las
cuestiones posibles inherentes al desarrollo de aplicativos móviles. De una manera
sencilla y clara, se propone un enfoque proactivo, donde se cubran y mitiguen posibles
riesgos en el diseño de aplicaciones, mediante la utilización del concepto de
modelamiento de amenazas más conocido como “threat modeling”. Se desarrollará y
evaluará un aplicativo de prueba utilizando el enfoque propuesto con el objetivo de
ejemplificar el uso de la metodología. Se identificarán partes esenciales del aplicativo
para su correcto análisis y prueba. De esta manera el autor prueba que la metodología
propuesta es viable en cada una de las etapas que propone.
- “Propuesta de un sistema de monitoreo en dispositivos móviles sobre la plataforma
Android para un sistema de ventas en empresas distribuidoras”
Autor: Antony Escobar Mamani, Luis García Santillana
Institución: Universidad Católica de Santa María
Año: 2011
La tesis propone un sistema de monitoreo desarrollado sobre la plataforma Android
en dispositivos móviles para ayudar a la gestión de una empresa distribuidora y de esta
manera lograr un mejor acceso a la información para mejorar la toma de decisiones.
Esta herramienta brinda la posibilidad de visualizar en cualquier momento reportes y
gráficos de manera online con datos actualizados de los movimientos que hay en la
empresa, también cuenta el trazo y mapeo de los movimientos de nuestros trabajadores
que realizan todos los días y de esta manera facilitar el análisis de cada proceso para
poder optimizarlo.
9
- Native cross-platform mobile application development using voind
Autor: Mathieu Bruning
Institución: Delft University of Technology, Netherlands
Año: 2011
Esta tesis es el resultado de la investigación que se centra en cómo hacer frente a la
heterogeneidad de los dispositivos móviles, mientras que el desarrollo de aplicaciones
móviles. Dado que las soluciones actuales de desarrollo multiplataforma de aplicaciones
móviles de la industria no ofrecen la flexibilidad, ya que tienden a tener un carácter
estático en términos de plataformas y funciones compatibles, un nuevo prototipo marco
de desarrollo de plataforma cruzada se presenta en esta tesis. Utilizando el framework
de desarrollo llamado Voind, las aplicaciones móviles se pueden definir en un modelo
abstracto con el fin de utilizar este modelo para la generación de múltiples versiones
para diferentes plataformas móviles.
- Cross-platform mobile application development: A pattern-based approach
Autores: Christian G. Acord, Corey C. Murphy
Institución: Naval Postgraduate School - Monterey, California
Año: 2012
En esta tesis se compara y contrasta dos plataformas, iOS y Android smartphones, y
analiza cómo se podría aplicar el patrón Modelo, Vista, Controlador de patrón con el fin
de minimizar las diferencias inherentes entre las plataformas. Por otra parte, esta tesis
10
describe el proceso de diseño unificado que se puede utilizar para implementar iOS y
Android aplicaciones nativas de un solo proceso de diseño. Este proceso de diseño reduce
la cantidad de tiempo requerido para el desarrollo de aplicaciones y mantiene estilos de
interfaz de usuario específicos de la plataforma para las diferentes plataformas.
Los autores utilizan este proceso para diseñar y construir un prototipo funcional de
la aplicación NPS Muster en ambas plataformas. Esta aplicación es capaz de mostrar
anuncios y permite a los estudiantes de NPS para realizar los pases de revista diarias.
- “Método para optimizar el consumo de energía utilizando conocimiento del
contexto asociado a cada aplicación en dispositivos móviles”
Autor: José Carlos Valdivia Bedregal
Institución: Universidad Católica de Santa María
Año: 2013
La siguiente tesis busca dar una solución a cómo ahorrar el consumo de baterías de
smartphones, la propuesta que presenta es el aprendizaje del contexto del usuario: las
aplicaciones que utiliza, el consumo de cada una de estas aplicaciones por los
componentes del dispositivo móvil y el tiempo que estas aplicaciones están siendo
utilizadas en primer plano. Con esta información se realizan acciones automatizadas con
el fin de optimizar el consumo de energía en el dispositivo móvil.
- “Propuesta de una estrategia de elección de redes basada en un contexto para
mejorar el ahorro de energía en dispositivos móviles con sistema operativo Android
en la ciudad de Arequipa”
11
Autor: Brenda Tamayo Oporto
Institución: Universidad Católica de Santa María
Año: 2013
La tesis mencionada, presenta una propuesta de estrategia de elección de la interfaz de
red con menor consumo energético para el envío de datos desde un dispositivo móvil
Android. La solución muestra la elección adecuada de la red, de acuerdo a las características
del contexto de conectividad, pueden llevar a un ahorro de energía en la batería.
2.1.2. Antecedentes de Dispositivos Móviles
Los dispositivos móviles son aquellos aparatos suficientemente pequeños para ser
transportados y empleados durante su transporte. Normalmente se sincronizan con un
sistema de sobremesa para actualizar aplicaciones y datos. Fernández (2006).
Estos dispositivos contribuyen a la sociedad, para que esta se mantenga comunicada
en todo momento y en cualquier lugar. Los dispositivos móviles están diseñados
básicamente para ser portátiles y a menudo los podemos movilizar ajustado en la palma
de la mano o en el bolsillo. Algunos dispositivos móviles son más potentes y permiten
hacer muchas de las mismas cosas que puedes hacer con un ordenador de sobremesa o
portátil. Algunos de los ejemplos de estos dispositivos pueden ser: (a) Paginadores, (b)
comunicadores de bolsillo, (c) Smartphone, (d) PDA´s , (e) Tablets, (f) E-Book, etc.
Otra característica importante es la conexión a una red inalámbrica. Esta
particularidad es denominada con el término en inglés "wireless" (en español,
inalámbrico). Un dispositivo inalámbrico es aquel que es capaz de comunicarse o
12
acceder a una red sin cables. Por ejemplo, un teléfono móvil, una Tablet, un PDA, etc.
Este tipo de dispositivos se comportan como si estuvieran directamente conectados a
una red mediante un cable, dando la impresión al usuario que los datos están
almacenados en el propio dispositivo.
El lanzamiento de los dispositivos móviles fue un icono revolucionario que
rápidamente se convirtió en una tendencia en la sociedad. La evolución de los mismos crece
exponencialmente a nivel nacional y mundial. Con el pasar de los años la tecnología ha
superado dificultades que los dispositivos presentaban como por ejemplo: (a) El tamaño y
peso del dispositivo, (b) El inalcanzable precio, (c) Desarrollo de baterías enormes y de
poca duración, (c) Pantallas poco nítidas y con menor variedad de colores y (d) Sistemas
operativos complejos, etc. Sin embargo en la actualidad estos retos fueron superados a nivel
de hardware y, teniendo como resultado dispositivos móviles con tecnología más
desarrollada que facilita la utilidad de estos aparatos electrónicos.
De acuerdo con Fidler (1997), existen varias razones importantes y determinantes
para justificar el éxito en la adopción de una nueva tecnología. Además de las
motivaciones tradicionales como mantener la conexión y comunicación entre
familiares/amigos y reducir el aislamiento en zonas alejadas, podemos decir que
también son importantes las motivaciones de movilidad y entretenimiento Williams,
Dordick y Jesuale (1985), la sensación de más seguridad personal Dimmick, Sikand y
Patterson (1994) y la moda/estatus Souza (2006).
En el año 2005, las empresas DuPont Global Mobility Innovation Team y T38
propusieron los siguientes estándares para la clasificación de dispositivos móviles en
función al tamaño de sus pantallas y las funcionalidades de sus equipos: (a)
13
Computadores PC portátiles y Netbooks, (b) Tabletas PC (Tablet), (c) PDAs, Palm PC y
Pokec PC, (d) Reproductores multimedia y pocket-book, (e) Videoconsola de juegos, y
(f) Teléfonos móviles. Estos equipos avanzados incorporan sistemas operativos tales
como Symbian, Android, iOS (p.e. iPhone), Windows Phone y BlackBerry. Fombona &
Pascual & Madeira (2012).
Tanto los dispositivos como los sistemas operativos que hacen posible su
funcionamiento han ido evolucionando según las necesidades de los usuarios finales. En
la actualidad existe otra manera de clasificarlos, estos son principalmente dos tipos de
dispositivos móviles: los que cuentan con un teclado y aquellos que están basados en
una pantalla táctil, para la introducción de datos.
Al sustituir todo el teclado por un lápiz que se utiliza sobre la propia pantalla, el
peso y tamaño del dispositivo se pueden reducir, así como el consumo de energía, lo
cual contribuye a la mayor duración de las baterías. Se plantea, sin embargo, el
problema de la introducción de datos. Existen básicamente dos opciones: utilizar un
teclado en pantalla, sobre el cual se puede ir pulsando con el propio lápiz, o bien
reconocer la escritura directa del usuario.
Uno de los mayores problemas que plantean los dispositivos móviles es el
mecanismo a utilizar para que el usuario pueda introducir información. Si las
dimensiones no son suficientes para incluir un teclado útil, las soluciones posibles son
varias: reconocimiento de escritura, un teclado en pantalla o incluso un teclado externo.
El teclado en pantalla, en el que se pulsa con la punta de un pequeño lápiz, es una
eficaz alternativa al teclado físico representando, un considerable ahorro de espacio,
peso y en menor medida, energía.
14
Así mismo, también se tiene el método que podría considerarse más natural: la
escritura directa sobre la pantalla del dispositivo. Para que esto sea posible, no obstante,
el dispositivo debe contar con un software de reconocimiento de caracteres
suficientemente eficiente ya que, de lo contrario, se perderá más tiempo en efectuar
correcciones que en la propia introducción de datos.
Sin embargo, en la actualidad podemos decir que la función principal de cualquier
dispositivo móvil es servir como plataforma para aplicaciones móviles que puedan
resolver inquietudes o problemas a los usuarios finales.
2.1.3. Antecedentes de Aplicaciones Móviles
Las aplicaciones móviles se han convertido en una herramienta indispensable en
nuestra vida cotidiana, tanto es así que la primera pregunta que se hace un desarrollador
de aplicaciones móviles es: ¿Qué problema puedo solucionar con esta App?, es decir
que la función principal de una aplicación móvil es resolver una inquietud o problema
que se le presenta a una persona.
A finales de los años 90s se desarrollaron las primeras aplicaciones móviles, eran
aplicaciones que cumplían funciones muy elementales, por tal motivo su diseño era
básico, por ejemplo teníamos aplicaciones como la agenda, arcade games, editores de
ringtone, etc. Sin embargo su evolución creció rápidamente gracias a la tecnología WAP
y la transmisión de data (EDGE). Cornella (2014).
Uno de los principales problemas en el crecimiento de las aplicaciones móviles
fueron las restricciones de los fabricantes de los dispositivos móviles, no permitían
desarrolladores externos de sus sistemas operativos. Sin embargo, en el año 2007 se
15
lanzó el Iphone de Apple, con la característica revolucionaria de aceptar aplicaciones
móviles externas por medio de su tienda App Store. (Cornella, 2014).
Hace algunos años el acceso a internet estaba dominado por los ordenadores
personales, en la actualidad las visitas a internet están siendo realizadas en mayor
cantidad desde un dispositivo móvil, por tal motivo se proyecta con mayor expectativa
el crecimiento del mercado de aplicaciones móviles.
2.2. Situación Actual
2.2.1. Mercado de Dispositivos Móviles
Según el informe realizado en junio del 2014 por Comscore “En el Perú y América
latina existe una gran oportunidad de crecimiento en acceso a internet desde dispositivos
móviles” en nuestro país, el mayor porcentaje de visitas a internet realizadas desde
diferentes dispositivos móviles son realizadas desde los Smartphone y las tabletas, Ver
Figura 1.
Figura 1: Participación de páginas visitadas desde diferentes dispositivos móviles.
Fuente: Comscore, Device Essentials, Abril 2014.
16
Un teléfono inteligente (smartphone) es un término comercial para denominar
a un teléfono móvil que ofrece más funciones que un teléfono móvil común. Casi
todos los teléfonos móviles inteligentes se comportan como un organizador
personal de un cliente, por ejemplo tienen incorporado una agenda o su correo
electrónico.
Una de las características más importante de casi todos los teléfonos inteligentes es
que permiten la instalación de programas para incrementar el procesamiento de datos y
la conectividad. Estas aplicaciones pueden ser desarrolladas por el fabricante del
dispositivo, por el operador o por un tercero.
El mercado actual de smartphones está dominado por Android y por iOS. Los
pronósticos de la consultora IHS iSupply afirman que durante el año 2013 ambas
plataformas concentraron el 76% del mercado. El resto es compartido por sistemas
operativos como Symbian, Windows Phone, BlackBerry, Bada, Firefox y otras
plataformas menores. SEGITUR (2014). A principios del 2012, los países con más
penetración de smartphones fueron China, USA, UK, España, Japón, Francia y
Alemania, alcanzando un total de 470 millones de dispositivos, independientemente del
sistema operativo. Ver Figura 2.
17
Figura 2: Porcentaje de usuarios por sistema operativo.
Fuente: Comscore, Go-Mó[Link]. [Link], Análisis Interno TADG.
Al igual que las computadoras portátiles, las tabletas se han diseñado para ser
portátil. Sin embargo, proporcionan una experiencia informática muy diferente. La
diferencia más obvia que tienen con las computadoras personales es que las tabletas no
tienen teclados, en cambio sí tienen pantallas táctiles, toda la pantalla es sensible al tacto,
que le permite escribir en un teclado virtual y utilizar su dedo como puntero del ratón.
Los dispositivos Tablet están diseñados principalmente para los medios de
comunicación que consumen, y están optimizados para tareas como la navegación web,
multimedia, leer libros electrónicos y los juegos. Para muchas personas, un equipo
"regular" como un escritorio o portátil sigue siendo necesario para poder utilizar
algunos programas. Sin embargo, la comodidad de una computadora tableta significa
que puede ser ideal como un segundo ordenador.
Según el estudio de mercado de apps turísticas realizado por SEGITUR, en el año
2012, se alcanzaron los 118 millones de tablets vendidos a nivel mundial. Apple cede cada
año su cuota de mercado, respecto al 2011 ha perdido un 8%. A finales de 2012, su cuota se
18
sitúa en un 43%. Samsung es su competidor más directo con el 15% del mercado, seguido
de los tablets de Amazon 12%, Asus 6% y Barnes & Noble 2%. Ver Figura 3
Figura 3: Participación por marcas en el mercado global de tabletas, 2012-2016.
Fuente: [Link], [Link], Análisis interno TADG, [Link], Flurry.
2.2.2. Mercado de Aplicaciones Móviles
Las aplicaciones móviles permiten crear experiencias sensoriales y emocionales
que van más allá de la simple información. Además son capaces de capturar la atención
del usuario, invitándolo a interactuar constantemente y a mantenerse en contacto con la
marca por medio de su App Store. El éxito de una aplicación depende del análisis y
creatividad que surge a partir de la necesidad del cliente.
La tendencia en el uso de los “móviles inteligentes” o Smartphone, ha provocado la
apertura de un nuevo nicho de negocio, hablamos del mercado de aplicaciones móviles.
En el Perú, la industria registra un constante crecimiento y las cifras apuntan a que
seguirá ese camino: Según la Oficina Comercial de Washington, el mercado de
aplicaciones móviles (‘apps’) en el Perú crece 80% al año, con lo cual se estima que se
alcanzarían a desarrollar un total de 1,500 apps durante el 2015. (Canal TI)
Estos números alentadores incentivan la apertura de nuevas empresas
desarrolladoras de aplicativos móviles en el Perú, según (Canal TI), En la actualidad
19
muchas corporaciones en el Perú han identificado una gran oportunidad para el
desarrollo de su modelo de negocio en las apps, especialmente el sector textil,
financiero, de salud y, por supuesto, las startups. No sólo para poder tener un mayor
acercamiento con sus empleados y potenciales clientes, quienes tienen fácil acceso o ya
disponen de un smartphone, sino también, para optimizar sus procesos empresariales y
tener un mayor control de todo lo que sucede dentro de la organización.
En el ecosistema móvil, las aplicaciones representan actualmente la segunda mayor
fuente de ingresos por detrás del consumo de datos, tanto por pago de contenidos como
por publicidad. En el 2011 se descargaron más de 23.000 millones de aplicaciones en
todo el mundo. (SEGITUR, EM).
El App Store de Apple ha superado los 40.000 millones de descargas en enero del
2013. Sólo en el 2012 se han producido casi 20.000 millones de descargas (tasa de
crecimiento de 2.000 millones de descargas al mes), el 50% del total de descargas en
toda su historia. (SEGITUR, EM).
Mientras tanto el mercado Android ha superado los 10.000 millones de descargas
en febrero del 2012, con una tasa de crecimiento de 1.000 millones de descargas al mes
desde julio del 2011. Android espera alcanzar la cifra alcanzada por el App Atore de
Apple en 2016. (SEGITUR, EM).
Según Laudon (2012), las principales áreas de crecimiento en el comercio
electrónico móvil son los servicios basados en la ubicación, con cerca de $ 215 millones
de ingresos en 2010, las ventas de aplicaciones de software en tiendas como iTunes
(cerca de $1.8 mil millones); las descargas de entretenimiento compuestas por tonos de
llamadas, música, video y programas TV (cerca de $1 mil millones); los anuncios
20
móviles ($ 784 millones); los servicios de compra directa como Slifter ($200 millones),
y las ventas de libros electrónicos ($ 338 millones).
El sistema operativo Android es el más utilizado entre los usuarios peruanos
seguidamente los sistemas operativos iOS y Windows Phone. comScore (2014). Ver
Figura 4.
Figura 4: Participación de marcas de dispositivos móviles en el mercado peruano.
Fuente: Comscore, Device Essentials, Abril 2014
La aparición de los smartphones ha generado un cambio en la industria de la
telefonía móvil. Actualmente la decisión de comprar un celular pasa por el sistema
operativo o plataforma móvil que tenga este dispositivo, las aplicaciones potencian y
dan un valor agregado a estos terminales móviles.
2.2.3. Turismo
El turismo es considerado como una de las principales actividades de desarrollo para
diferentes países que cuentan con potencialidades turísticas y que constituyen la motivación
para que muchos visitantes elijan dentro de la diversidad de destinos, aquellos que
21
representan una especial motivación e interés ante la necesidad de conocer y aprovechar el
tiempo disponible, en aquellos que se denomina actualmente la cultura del ocio.
Climent (2003) señaló que el turismo es la actividad o hecho de viajar por placer,
el conjunto de los medios conducentes y finalmente el conjunto de personas que
realiza este tipo de viajes. Para la OMT (2005), el turismo es un fenómeno social,
cultural y económico relacionado con el movimiento de las personas a lugares que se
encuentran fuera de su lugar de residencia habitual por motivos personales y/o
profesionales.
Valls (2007) definió el destino turístico como el espacio geográfico determinado,
con rasgos propios de clima, raíces culturales-étnicas, infraestructuras y servicios y con
cierta capacidad administrativa para desarrollar instrumentos comunes de planificación.
Este espacio atrae a turistas con productos perfectamente.
Según Mochón (2004) las formas básicas de clasificar la práctica del turismo, según
la procedencia del viajero son: (1) turismo interior, el de los residentes del país que viajan
dentro del interior del país, (2) turismo receptor, el de los no residentes que viajan dentro
del país en cuestión, (3) turismo emisor, el de los residentes del país cuando viajan a otro
país, (4) turismo interior, que incluye el turismo interno y el turismo receptor, (5) turismo
nacional, que incluye el turismo interno y el turismo emisor, (6) turismo internacional,
que se compone de turismo receptor y turismo emisor.
Según los autores Bigné, E., Font, X. & Andreu, L. (2000). Clasifican los destinos
turísticos de la siguiente manera:
22
Tabla 1
Tipos de destinos turísticos
Tipo de destino Clientes Ejemplos de atractivos y actividades
Urbano Negocios-RICF Reuniones, incentivos, congresos, ferias
Educación, religión, salud
Ocio Visitar lugares de interés, ir de compras, eventos
culturales, pasar el fin de semana
De costa Negocios-RICF Reuniones, incentivos, congresos, ferias
Ocio Sol, playa, sexo, deportes
De montaña Negocios-RICF Reuniones, incentivos, congresos, ferias
Ocio Esquí, deportes de montaña, salud
Rural Negocios-RICF Reuniones, incentivos, congresos, ferias
Ocio Relajación, agricultura, deporte, aprender
actividades de campo
Sin explorar Negocios-RICF Explorar nuevas oportunidades de negocio,
incentivos
Ocio Aventura, autenticidad, misiones y otros
especializados
Único, exótica, Negocios-RICF Reuniones, incentivos
exclusivo
Ocio Ocasión especial, luna de miel, aniversario
Nota: Bigné, E., Font, X. & Andreu, L. (2000). Marketing de destinos turísticos: Análisis y estrategias de
desarrollo. ISBN 84-7356 –262 -3. ESIC Editorial. Madrid, España.
La organización mundial de turismo (OMT) divide al tipo de turista en dos tipos:
(a) turista internacional y (b) turista interno. Dentro de estos dos tipos presenta
cuatro clases de turistas de acuerdo con las características y el tiempo de
permanencia.
23
Tabla 2
Tipos de turista
Turismo internacional Turismo interno
Residente Permanece al menos 12 meses Permanece al menos 6 meses
consecutivos consecutivos
Visitante Persona que permanece menos de Persona que permanece menos de
un año un año
Turista Persona que pernocta por lo Persona que pernocta por lo
menos una noche menos una noche
Excursionista Persona que permanece menos de Persona que permanece menos de
24 horas sin pernoctar en el 24 horas sin pernoctar en el
destino turístico destino turístico
Nota: Tipo de turistas. Jiménez, L & Jiménez, W. (2013). TURISMO: Tendencias globales y
planificación estratégica. 1Ed.- Bogotá, Colombia: Ecoe Ediciones.
De acuerdo a la información brindada en los párrafos anteriores podemos deducir
que el centro histórico de Arequipa es un destino Urbano debido a sus atractivos
turísticos como la catedral, templos o lugares culturales. De igual manera podemos decir
que los destinos urbanos atraen visitas educativas, así como al turista vacacional que
aprovecha los fines de semana o las vacaciones para poder visitar nuevas ciudades.
2.2.4. Turismo en el Centro Histórico de Arequipa
El centro de la ciudad de Arequipa presenta diversos atractivos turísticos y es
considerada como una zona histórica y monumental de la nación, su delimitación
comprende espacios y lugares arquitectónicos como la plaza de armas, la catedral, las
iglesias, los monasterios, el barrio de San Lázaro, las casonas o solares, el trazo de las
calles, los puentes, etc.
24
En la Tabla 3 podemos apreciar que las actividades que más realiza el turista
nacional son el turismo de cultura, donde visita Iglesias, catedrales, conventos y
museos. De igual manera en la Tabla 4 se puede observar que el turista extranjero
realiza el mismo tipo de visitas en la ciudad de Arequipa.
Tabla 3
Actividades realizadas por el turista nacional
Nota: Actividades realizadas, Perfil del vacacionista nacional 2013, Vacacionistas que
visitaron el departamento de Arequipa. PROMPERÚ 2013.
25
Tabla 4
Actividades realizadas por el turista extranjero
Nota: Actividades realizadas, Perfil del turista extranjero 2012, Turistas extranjeros
que visitaron el departamento de Arequipa. PROMPERÚ 2012.
También es importante mencionar el incremento en los últimos años de visitas a
estos lugares culturales en la ciudad de Arequipa, por ejemplo en la tabla 5 se puede ver
que en el año 2005 la cantidad total de turistas que visitan el monasterio de santa
catalina fue de 125047 turistas, mientras que en el año 2012 la cantidad de turistas fue
de 173781 entonces se puede decir que hubo un incremento del 38.9 % de visitantes al
convento arequipeño.
26
Tabla 5
Llegada de visitantes al monasterio de Santa Catalina. Enero 2005 – Diciembre 2012.
Nota: Monasterio de Santa Catalina – Promociones Turísticas del Sur. Elaboración: MINCETUR/SG/OGEE- Oficina de Estudios Turísticos y Artesanales. Con
información disponible a enero de 2013.
27
2.2.5. Tecnología de Información en el Turismo
Las tecnologías de información han revolucionada el panorama de los negocios en
el mundo. Las tecnologías han modificado las industrias hoteleras, de restaurantes, de
servicios de viajes, del sector de intermediarios como touroperadores y agencias de
viajes y ahora juegan un papel fundamental en las reglas que rigen el mundo de
negocios y en la forma de acercarse a los clientes. Las ventajas de las nuevas
tecnologías en cuanto a incremento de la competitividad, reducción de errores y
creación de nuevas funcionalidades son incuestionables en cualquier sector, incluyendo
el turístico.
Según (Cornella, 2014), dos hechos permiten pensar en una estrecha interrelación
entre la industria turística y la informática, por un lado el hecho del que el turismo al ser
la primera industria mundial se convierte, potencialmente en el principal cliente de la
industria informática, y por otro lado el hecho de que la información está en los mismos
cimientos de la industria turística. Además la industria turística era y es atractiva para el
desarrollo de tecnologías de información: el turismo es una actividad interterritorial que
promociona y comercializa actividades ofrecidas lejos del lugar donde se encuentra el
cliente y por otro lado, al formar parte de una industria que involucra ocio y
entretenimiento, necesita medios de promoción basados en medios audiovisuales que
resulten atractivos.
Según Cornella (2014) la relación entre la tecnología de información y el turismo
empieza en los años 50, con el desarrollo de sistemas computarizados para administrar
la información que este nuevo medio de transporte genera, son los “Computer
Reservation Systems” (CRSs), que permiten la gestión automática de las reservas.
28
A partir de los años setenta y debido al hecho de que los agentes de viajes necesitan
acceder a diferentes CRS pertenecientes a muchas compañías, se plantea la necesidad de
articular los diferentes sistemas de reserva, desarrollándose los “Global Distribution
Sistems” (GDSs) o Sistemas de Distribución Global. Estos sistemas engloban diferentes
compañías como por ejemplo: AMADEUS con Lufthansa, Air France, Iberia y
Continental Airlines; GALILEO opera con United Airlines, British Airways, Swiss Air,
KLM Royal Dutch Airlines, US Air, Alitalia, Olimpic, Air Canada, TAP Air Portugal,
Austrian Airlines, Aer Lingun; WORLDSPAN al que están afiliadas Delta Airlines,
Northwest Airlines, TransWorld Airlines y Abacos.
A partir de los años 90 cabe destacar a Internet como elemento revolucionario en el
mundo del turismo. Este desarrollo tecnológico, así como las comunicaciones móviles,
banda ancha, satélites, etc. – están produciendo cambios significativos en la estructura
económica y social, y en el conjunto de las relaciones sociales.
El sector del turismo está aprendiendo rápidamente que Internet puede satisfacer
mucho mejor que cualquier otra tecnología actual la necesidad de los usuarios de recibir
información de calidad que sea confiable. Las empresas turísticas tienen las
oportunidades de crear propios sitios web así como aplicativos móviles que son de gran
importancia para la comunicación de marketing en Internet ya que disponen del
potencial de proveer de altos niveles de información, crear imagen de marca, conseguir
una respuesta directa y además de crear experiencias virtuales del producto. Las
empresas que se encuentran más favorecidas son los PYMEs porque ellos pueden ocupar
nichos del mercado para alcanzar un mayor porcentaje de su grupo destinatario y de
expandir su radio de alcance. Cornella (2014).
29
El sector turístico está viviendo un crecimiento espectacular en los últimos años y
ya supone más del 10% del Producto Interior Bruto Mundial. Su desarrollo ha supuesto
también que se produzcan variaciones notables en el mercado laboral. En la actualidad,
el Turismo genera más de 200 millones de empleos. Esa evolución va acompañando con
el creciente desarrollo y significación de las tecnologías informáticas en este sector.
2.2.6. Aplicaciones Móviles para el Turismo
El uso de dispositivos móviles se extiende y aumenta a gran velocidad. La
sociedad utiliza estos dispositivos como herramientas de trabajo, ocio y comunicación,
por tal motivo se ha incrementado la utilización y descarga de aplicativos móviles que
facilitan la vida del usuario. En el caso del turismo es importante la incorporación de
aplicativos móviles porque suma a la mejora de sus proceso y además es de gran
ayuda para la promoción de sus productos y servicios. Además, las aplicaciones para
dispositivos móviles, tanto smartphones como tablets, tienen un papel destacado, ya
que cada vez dan más servicio al turista en la organización del viaje durante las
distintas etapas.
Según SEGITUR EM el TOP 20 DE LAS APPS MÁS DESCARGADAS DE
TURISMO está conformado con mayor numero por las aplicaciones de
recomendaciones, buscadores de hoteles y vuelos. Google Maps registra el mayor
número de descargas con 227 millones. Tripadvisor y Kayak son las apps dedicadas al
viajero más descargadas.
La Sociedad Estatal para la Gestión de la Innovación y las Tecnologías Turísticas,
S. A. (SEGITTUR) en colaboración con la feria internacional del turismo (FITUR)
organizaron en España el primer concurso de apps turísticas, denominado “The
30
Apptourism Awards 2014”. El objetivo de este proyecto es mejorar los nuevos
mecanismos para impulsar la innovación en los destinos, con el despliegue y desarrollo
de las TICS, de forma que se puedan crear servicios diferenciales y altamente
competitivos. SEGITUR (2014)
El concurso se dividió en dos categorías: nacional (España) e internacional. La
categoría nacional se subdividía a su vez en: “Sol y playa”, “Turismo activo”, “Turismo
cultural” y “Servicios turísticos”; mientras que la categoría internacional se subdividía
en “Guía por destino” y “Mejora de la experiencia del turista en el viaje”.
Postularon 125 apps, de las cuales 84 se registraron en la categoría nacional y 41 en
la internacional. En la categoría nacional resultaron ganadores las siguientes
aplicaciones: (a) Be Your Guide, una completa guía de Toledo, fue la ganadora en la
categoría de Turismo cultural (ver Figura 5); (b) NaturApps dedicada a rutas se alzó con
el premio de Turismo Activo; (c) AsturPlaya ha logrado el premio en Sol y Playa y (d)
[Link] recibió el galardón en la categoría de Servicios Turísticos. Mientras que en
la categoría internacional, (e) Visitnorway fue la ganadora como guía de destino; y (f)
skyscanner fue reconocida como Mejora de la experiencia del turista. EUROPAPRESS
(2014).
31
Figura 5: Aplicación turística Be your Guide- Toledo
Fuente: Aplicación turística Be your Guide- Toledo recuperado de
[Link]
[Link]
A nivel nacional nos encontramos con una gran escasez de aplicativos móviles
dirigidos al turismo o a la promoción de destinos turísticos, sin embargo es importante
mencionar algunos de los aplicativos móviles que se encuentran en el Perú como por
ejemplo: (a) Perú Natural, esta herramienta de información contiene fotos, videos,
mapas y datos claves en español e inglés, para que todos los usuarios puedan acceder y
planificar un viaje singular a sitios únicos como las Áreas Naturales Protegidas. (Ver
Figura 6); (b) Audioguías, esta aplicación contiene información visual y auditiva del
centro histórico de lima. Ver Figura 7; (c) Servicios turísticos, es una herramienta que
ayuda a encontrar servicios turísticos como hoteles, restaurantes, etc., alrededor de
donde te encuentres, todos ellos geo-referenciados; y (d) Pisco Perú, te proporciona
información para preparar el famoso Pisco Sour por medio de recetas y videos.
32
Figura 6: Aplicación turística: Perú Natural.
Fuente: Aplicación turística: Perú Natural recuperado de
[Link]
Figura 7: Aplicación turística del centro histórico de Lima
Fuente: Aplicación turística del centro histórico de Lima, recuperado de
[Link]
33
Además hay empresas privadas como Sony y Movistar, que se encuentran
desarrollando campañas para el desarrollo de aplicaciones móviles para el turismo, la
campaña XPERIA PERÚ es una aplicativo que permite comentar y compartir
experiencias de viajes de los turistas. También existen aplicaciones móviles
relacionadas con la realidad aumentada.
Es importante mencionar que a comparación de España nos encontramos muy por
debajo de la cantidad de aplicaciones móviles desarrolladas en el sector Turismo.
Asimismo, la mayoría de aplicaciones móviles para el turismo a nivel mundial se
enfocan en un solo sistema operativo.
2.3. Sistemas Operativos Móviles
El sistema operativo (S.O.) es el puente de conexión que existe entre el hardware
(dispositivo móvil) y el usuario. Actualmente existen diferentes sistemas operativos en los
dispositivos móviles, entre los cuales podemos encontrar principalmente a los siguientes
S.O.: (a) Android, (b) IOs y (c) Windows 8.1 y Windows Phone 8.
2.3.1. Sistema Operativo Android
Android es un sistema operativo móvil basado en Linux y Java. Se enfoca en dar
facilidades al programador proporcionando un modelo estandarizado de programación
que simplifique las labores de creación de aplicaciones móviles. Asimismo, busca que los
programadores desarrollen sus aplicativos una sola vez para que así sean compatibles con
varios terminales. Otra característica de este S.O. es que proporciona una plataforma de
desarrollo gratuita y flexible en el desarrollo de aplicaciones móviles.
34
Según Gonzales (2012) el diseño de la arquitectura del sistema operativo Android
cuenta con las siguientes características:
- Busca el desarrollo rápido de aplicaciones, que sean reutilizables y verdaderamente
portables entre diferentes dispositivos.
- Los componentes básicos de las aplicaciones se pueden sustituir fácilmente por otros.
- Cuenta con su propia máquina virtual, Dalvik, que interpreta y ejecuta código
escrito en Java.
- Permite la representación de gráficos 2D y 3D.
- Posibilita el uso de bases de datos.
- Soporta un elevado número de formatos multimedia.
- Servicio de localización GSM.
- Controla los diferentes elementos hardware: Bluetooth, Wi-Fi, cámara fotográfica o
de vídeo, GPS, acelerómetro, infrarrojos, etc., siempre y cuando el dispositivo
móvil lo contemple.
- Cuenta con un entorno de desarrollo muy cuidado mediante un SDK disponible de
forma gratuita.
- Ofrece un plug-in para uno de los entornos de desarrollo más populares, Eclipse, y
un emulador integrado para ejecutar las aplicaciones.
En la primera capa se encuentra el núcleo de Android (Linux 2.6). Android utiliza el
núcleo de Linux 2.6 como una capa de abstracción para el hardware disponible en los
35
dispositivos móviles. Esta capa contiene los drivers necesarios para que cualquier
componente hardware pueda ser utilizado mediante las llamadas correspondientes.
La elección de Linux 2.6 se debe principalmente a su naturaleza de código abierto y
libre. Esto se ajusta al tipo de distribución que se buscaba para Android. Otra razón es
que este kernel de Linux incluye de por sí numerosos drivers, además de contemplar la
gestión de memoria, gestión de procesos, módulos de seguridad, comunicación en red y
otras muchas responsabilidades propias de un sistemas operativo.
La segunda capa se corresponde con las librerías utilizadas por Android. Éstas han
sido escritas utilizando C/C++ y proporcionan a Android la mayor parte de sus
capacidades más características. Junto al núcleo basado en Linux, estas librerías
constituyen el corazón de Android.
Al mismo nivel que las librerías de Android se sitúa el entorno de ejecución. Éste lo
constituyen las CoreLibraries, que son librerías con multitud de clases de Java, y la
máquina virtual Dalvik.
Los dos últimos niveles de la arquitectura de Android están escritos enteramente en
Java. El framework de aplicaciones representa fundamentalmente el conjunto de
herramientas de desarrollo de cualquier aplicación. Toda aplicación que se desarrolle
para Android, ya sean las propias del dispositivo, las desarrolladas por Google o terceras
compañías, o incluso las que el propio usuario cree, utilizan el mismo conjunto de API y
el mismo framework, representado por este nivel.
El último nivel del diseño arquitectónico de Android son las aplicaciones. Éste nivel
incluye tanto las incluidas por defecto de Android como aquellas que el usuario vaya
36
añadiendo posteriormente, ya sean de terceras empresas o de su propio desarrollo. Todas
estas aplicaciones utilizan los servicios, las API y librerías de los niveles anteriores.
Figura8: Arquitectura del sistema operativo Android.
Fuente: [Link]
La tienda de aplicaciones Android conocida como «Android market» retribuye a los
desarrolladores el 70% del precio de su aplicación. Asimismo, el desarrollo de
aplicaciones para Android no requiere aprender lenguajes complejos de programación.
Todo lo que se necesita es conocimiento aceptable de Java y estar en posesión del kit de
desarrollo de software o «SDK» provisto por Google el cual, se puede descargar
gratuitamente.
37
Figura 9: Logo de la tienda virtual de Android.
Fuente: [Link]
2.3.2. Sistema Operativo IOs
El IOS es el sistema operativo que utiliza el iPhone y el iPod touch e Ipad. Es un
derivado de Mac OS X, que a su vez está basado en Darwin BSD. La arquitectura de
IOS tiene 4 capas de abstracción: la capa del núcleo del sistema operativo, la capa de
Servicios Principales, la capa de Medios de Comunicación y la capa de Cocoa Touch.
El sistema operativo móvil iOS brinda como medio de desarrollo el kit iPhone SDK
con el objetivo de incentivar el desarrollo de aplicaciones nativas para iOS, no solo de
particulares sino también por terceros. El lenguaje de programación principal es el
Objective-C, un lenguaje orientado a objetos basado en C.
Según Martínez (2011) el SDK se puede descargar gratis, pero para publicar el
software es necesario registrarse en el Programa de Desarrollo del iPhone, un paso que
requiere el pago y la aprobación por parte de Apple. Durante el proceso, se entregan al
38
desarrollador unas claves firmadas que permiten subir una aplicación a la tienda de
aplicaciones de Apple.
Las aplicaciones pueden ser distribuidas a través de la App Store de Apple, por
parte de una empresa a sus empleados, o sobre una red “Ad-hoc” de hasta 100 iPhones.
Los desarrolladores de aplicaciones para iOS pueden determinar el precio quedándose el
70% del dinero que produzca la aplicación, el 30% restante se lo quedaría la compañía.
Los desarrolladores también pueden optar por ofrecer sus aplicaciones gratis y no pagar
así nada por la distribución del programa más allá de la cuota de socio. Martínez (2011).
Figura 10: Arquitectura del sistema operativo IOs.
Fuente: [Link]
Las principales características que tiene el IOs son:
‐ Notificaciones:
Desde la parte superior de la pantalla, deslice el dedo hacia abajo para ver el
centro de notificaciones.
39
Las notificaciones nuevas aparecen brevemente en la parte superior de la pantalla.
Puede ver las notificaciones desde la pantalla bloqueada.
‐ Quiosco:
Las suscripciones a periódicos y revistas se ordenan automáticamente en la pantalla
de inicio.
‐ Recordatorios para gestionar listas de tareas:
Sincronización con iCloud, iCal y Outlook.
‐ Previsión del tiempo hora a hora.
‐ Valores bursátiles en tiempo real.
‐ Sincronización inalámbrica con iTunes.
‐ Mejoras de accesibilidad:
En el iPhone, cree secuencias de vibración personalizadas para las llamadas
entrantes.
Nueva interfaz para usar IOS junto con dispositivos pensados para ayudar a
personas con movilidad reducida.
‐ Mejoras en Exchange ActiveSync:
Sincronice las tareas remotamente.
Marque los mensajes como leídos/no leídos o con un indicador.
40
Mejor rendimiento cuando no está conectado.
‐ Activación y configuración desde el mismo dispositivo con el asistente de
configuración.
‐ Actualizaciones de software disponibles de forma remota sin necesidad de conectar
el dispositivo al ordenador.
2.3.3. Sistema Operativo Windows 8.1 y Windows Phone 8
Es la versión actual del sistema operativo de Microsoft Windows, producido por
Microsoft para su uso en ordenadores personales. Su interfaz de usuario ha sido
modificada para hacerla más adecuada para su uso con pantallas táctiles, además de los
tradicionales ratón y teclado. Este cambio puede provocar que algunos usuarios se sientan
perdidos a la hora de utilizar y moverse por el nuevo sistema operativo de Windows.
Se basa en el núcleo del sistema operativo Windows CE y cuenta con un conjunto
de aplicaciones básicas utilizando las API de Microsoft Windows. Está diseñado para
ser similar a las versiones de escritorio de Windows estéticamente. Singh (2012).
Además, existe una gran oferta de software de terceros disponible para Windows
Mobile, la cual se puede adquirir a través de Windows Marketplace for Mobile.
Originalmente apareció bajo el nombre de Pocket PC, como una ramificación de
desarrollo de Windows CE para equipos móviles con capacidades limitadas. En la
actualidad, la mayoría de los teléfonos con Windows Mobile vienen con un estilete
digital, que se utiliza para introducir comandos pulsando en la pantalla. Martínez (2011)
41
Como todo sistema operativo la arquitectura está diseñada por 2 áreas fundamentales,
el kernel y nonkernel (traducción a gusto de lector); El kernel posee obviamente el núcleo, 2
sistemas de archivos (IMGFS y TexFAT), render gráfico y actualización de sistema,
mientras la parte nonkernel contiene las aplicaciones, la shell y espacio de usuario.
Figura 11: Arquitectura del sistema operativo Windows Phone
Fuente: [Link]
Las características principales de este sistema operativo son:
‐ Su interfaz es bastante fácil e intuitiva; su sistema de ventanas modulares ofrece
animaciones actualizaciones y avisos mucho más atractivos que la competencia.
‐ Sincronización posibilidad de interacción con los archivos office.
‐ Sistema de seguridad desde nuestro PC, podremos llamar a nuestro teléfono en caso
de haberlo perdido, bloquearlo, localizarlo e incluso borrar parte de su contenido de
forma remota.
42
‐ Cada Hub (Marketplace, Office, gente, retratos, Xbox Live y Zune) tiene una
estrecha integración con las aplicaciones nativas y de terceros.
2.4. Desarrollo de Aplicaciones Móviles Multiplataforma
El desarrollo de aplicaciones móviles multiplataforma se refiere a la práctica de
escribir una sola base de código fuente para aplicaciones que finalmente serán utilizadas
en diferentes sistemas operativos móviles. Aklilu (2012). Los sistemas operativos de los
dispositivos móviles más importantes, como Android, iOS y Windows 8.1 son
estructuralmente diferentes en su arquitectura. No es de extrañar, por lo tanto, que el
desarrollo causa problemas masivos para los desarrolladores que tratan de hacer que las
aplicaciones que puedan ser utilizadas desde las distintas plataformas, por lo que es muy
difícil para los programadores escribir una sola base de código que sea eficiente en las
plataformas mencionadas. Aranaz (2009). También significa que los desarrolladores
tendrán que reescribir el código y seguir ajustando a trabajar para todas plataformas.
En el proceso de desarrollo de aplicaciones móviles, la preocupación de los
desarrolladores es elegir la mejor manera de desarrollar una aplicación en múltiples
plataformas sin ajustar código para cada plataforma, la mejor forma de controlar las
versiones de las aplicaciones es no perder de vista la semántica implícita y el propósito
de la aplicación. Por estas razones y muchas más, la demanda de desarrollo de
aplicaciones móviles multiplataforma está en constante crecimiento en el mercado.
La necesidad básica para los programadores en cualquier plataforma es la
compatibilidad. Un marco de aplicación móvil puede servir de base para múltiples aspectos
de una aplicación. Los siguientes aspectos técnicos a menudo se pueden encontrar:
43
2.4.1. Principales Características de las Aplicaciones Móviles Multiplataforma
a. Experiencia de usuario
La creación de una experiencia eficaz y agradable para esos cientos de millones de
usuarios es una gran oportunidad de tener éxito o no en el mundo del desarrollo del
software de hoy.
Con el gran número de aplicaciones descargables que existe en la actualidad, se
podría pensar que los desarrolladores ya deberían haber perfeccionado el diseño ideal
para la experiencia móvil del usuario. Aklilu (2012). Pero los expertos en interfaces y
usabilidad en general están de acuerdo con que todavía queda mucho por hacer, que no
existen estándares, que se promocionan las mejores prácticas pero a menudo se las
ignora y que demasiados desarrolladores prefieren concentrarse en la cuestión técnica
en vez de pensar en qué es lo mejor para el usuario.
Los desarrolladores han progresado mucho y varios de ellos desarrollaron
aplicaciones excepcionalmente útiles para los usuarios. Pero todavía nos encontramos
en los comienzos del software para dispositivos móviles y todos los desarrolladores de
aplicaciones tienen la oportunidad de dar con la fórmula ideal para crear la mejor
experiencia de usuario. Singh (2012).
b. Directrices para la satisfacción del usuario
Los fabricantes de Android, iPhone, Windows phone, y otras plataformas móviles,
utilizan directrices de interfaz de usuario. Les proporcionan algunas reglas a los
desarrolladores para trabajar con un sistema operativo o un en particular (como por
ejemplo los tamaños de los botones y los widgets); y a veces les proporcionan buenas
44
prácticas para el diseño de una experiencia de usuario ideal. Reunir estas directrices es
una buena forma de familiarizarse con algunos de los principios de diseño centrado en
el usuario. Wargo (2012).
- Permitir al usuario comenzar una tarea o un proceso de inmediato.
- No permitir que los elementos de diseño opaquen el contenido.
- El texto debe ser breve, conciso, que pueda leerse de un vistazo.
- Ubicar las operaciones utilizadas con mayor frecuencia al principio de un menú o
de una lista.
- Mantener al mínimo la entrada de datos por parte del usuario.
- La navegación debe ser previsible.
- Hacer posible el uso con una sola mano o sin manos.
- Utilizar gráficos impresionantes para “el deleite la gente” tal como sugiere Apple.
- Hacer que las búsquedas sean fáciles y rápidas.
- Evitar el manejo de archivos.
- Asegurarse de que los elementos de la interfaz sean coherentes.
- Asegurarse de que sea sencillo tocar el botón correcto.
- Hacer posible que los usuarios puedan manejar el contenido de una forma que se
sienta natural.
45
- Probar los elementos de interfaz con usuarios reales.
- Comenzar a realizar pruebas desde la fase de prototipo.
- Hacer un bosquejo de varios flujos de trabajo para cada tarea, probar cada uno con
los usuarios.
- Recordar que la gente siempre está ocupada cuando utiliza las aplicaciones.
c. Arquetipos para la innovación
Los arquetipos pueden ser útiles como un modo de concentrarse en la función y el
diseño de una aplicación. Es posible concebir una interfaz o un modelo de interacción
totalmente nuevos. Entre estos arquetipos se encuentran:
‐ El centrado en la aplicación: Las herramientas son las que hacen útil al dispositivo.
La experiencia de usuario comienza con una gran variedad de aplicaciones en el
dispositivo.
‐ El centrado en la actividad: Lo que le da forma al diseño es aquello que el usuario
desea lograr, las actividades constituyen la experiencia de interacción.
‐ El centrado en la secuencia: El usuario maneja datos con el tiempo como foco
principal.
‐ El centrado en el proceso o en la tarea: Permite al usuario cumplir con ciertas tareas
describiendo el proceso de modo secuencial.
46
‐ El centrado en las personas: Basado en la identidad. La función principal es
permitir actividades relacionadas con redes sociales, como por ejemplo
actualizaciones de estados.
d. Usabilidad
Las aplicaciones o productos de software cuando son lanzados al mercado se espera
que tengan cierto grado de aceptación entre los usuarios, ese grado va a depender de las
características particulares que cada usuario considere importantes. Resulta relevante
para los desarrolladores de software poder medir esa calidad o realizar pruebas de
calidad a las aplicaciones construidas, pero para poder medir se necesita saber qué es lo
que hay que medir y cómo. Huang (2012).
Debido a que en los últimos años el uso de dispositivos móviles (teléfonos móviles,
reproductores de audio portátil, asistentes personales digitales, navegadores gps, tablets,
cámaras digitales, etc.) se ha incrementado de manera considerable, es importante disponer
de metodologías y herramientas que permitan realizar estudios de usabilidad Aklilu (2012).
La usabilidad en general tiene que ver con la forma en que se usa algún elemento
(herramienta, dispositivo electrónico, etc.), es la facilidad con que se usa y si permite
hacer lo que se necesita. Particularmente la usabilidad de una aplicación de software se
refiere a la facilidad con que los usuarios pueden utilizar la misma para alcanzar un
objetivo concreto. Glera (2013). Este nivel de usabilidad no puede medirse o ser
evaluado directamente, debido a que depende de diferentes factores.
De la definición anterior se puede observar que la usabilidad está relacionada con
los atributos de una aplicación o sistema, así como también de su contexto; se entiende
47
por atributo la característica o propiedad de una aplicación de software. En la norma
mencionada anteriormente los atributos considerados son los siguientes:
‐ Efectividad: Está relacionada con la precisión y completitud con la que los usuarios
utilizan la aplicación para alcanzar objetivos específicos. La calidad de la solución
y la tasa de errores son indicadores de efectividad.
‐ Eficiencia: Es la relación entre efectividad y el esfuerzo o los recursos empleados para
lograr el objetivo. Indicadores de eficiencia incluyen el tiempo de finalización de tareas
y tiempo de aprendizaje. A menor cantidad de esfuerzo o recursos, mayor eficiencia.
‐ Satisfacción: Es el grado con que el usuario se siente satisfecho, con actitudes
positivas, al utilizar la aplicación para alcanzar objetivos específicos. La satisfacción es
un atributo subjetivo, puede ser medido utilizando escalas de calificación de actitud.
Figura 12: Flujo de la definición de usabilidad de una aplicación móvil.
Fuente: Wargo (2012)
48
e. Métricas de usabilidad de una aplicación móvil
Una métrica (medida) es un valor numérico o nominal asignado a características o
atributos de un objeto, calculado a partir de un conjunto de datos observables y
consistentes. Una métrica debe cumplir con ciertas características, las cuales
enumeramos a continuación. Wu (2012):
- Debe tener características matemáticas deseables para su medición.
- Una métrica representa una característica que aumenta cuando se presentan rasgos
positivos o que disminuye al encontrar rasgos negativos, el valor de la métrica debe
aumentar o disminuir en el mismo sentido.
- Cada métrica debe validarse empíricamente en una amplia variedad de contextos
antes de publicarse o aplicarse en la toma de decisiones.
En la siguiente tabla se muestra los atributos de usabilidad y las métricas comúnmente
asociadas a los aplicativos móviles, para poder cuantificarlos y evaluar sus
características más importantes.
49
Tabla 6
De métricas utilizadas para la evaluación de características móviles.
ATRIBUTOS MÉTRICAS UTILIZADAS
Efectividad ‐ Tareas resueltas en un tiempo limitado.
‐ Porcentaje de tareas completadas con éxito al
primer intento.
‐ Número de funciones aprendidas.
Eficiencia ‐ Tiempo empleado en completar una tarea.
‐ Número de acciones realizadas para completar
una tarea.
‐ Tiempo transcurrido en cada pantalla.
‐ Eficiencia relativa en comparación con un
usuario experto.
Satisfacción ‐ Nivel de dificultad.
‐ Agrada o no agrada.
‐ Preferencias.
Facilidad de Aprendizaje ‐ Tiempo usado para terminar una tarea la
primera vez.
‐ Cantidad de entrenamiento.
‐ Curva de aprendizaje.
Memorabilidad ‐ Número de pasos, toques o vistas usadas para
terminar una tarea después de no usar la
aplicación por un periodo de tiempo
Errores ‐ Número de errores
Contenido ‐ Cantidad de palabras por vista.
‐ Cantidad total de imágenes.
‐ Número de páginas.
Accesibilidad ‐ Tamaño de letra ajustable.
‐ Cantidad de imágenes con texto alternativo.
50
Seguridad ‐ Control de usuario.
‐ Número de incidentes detectados.
‐ Cantidad de reglas de seguridad.
Portabilidad ‐ Grado con que se desacopla el software del
hardware.
‐ Nivel de configuración.
Contexto ‐ Grado de conectividad.
‐ Ubicación.
‐ Características del dispositivo.
Baker (2011).
Dependiendo de la naturaleza de la aplicación a estimar, en las pruebas se
consideran relevantes y diferentes atributos. La usabilidad del sistema no es una simple
adición del valor de estos atributos, sino que se define para cada sistema como un nivel
a alcanzar por cada uno de los atributos especificados para ese sistema. Huang (2012).
2.4.2. Tipos de Aplicaciones Móviles Multiplataforma
El desarrollo de aplicaciones móviles continúa en expansión, más personas cuentan
con un dispositivo móvil y descubren las bondades de tener tecnología al alcance de sus
dedos, más personas vuelcan sus miradas a desarrollar nuevas aplicaciones que puedan
utilizarse dentro de estos dispositivos, para así llegar a más consumidores. Glera (2013).
Los desarrolladores de aplicaciones móviles deben orientar a los usuarios a escoger
de manera adecuada que rumbo coger en su siguiente aplicación, dentro de las tres
opciones disponibles:
‐ Aplicaciones web optimizadas para móviles.
51
‐ Aplicaciones móviles nativas.
‐ Aplicaciones híbridas.
[Link]. Aplicaciones basadas en desarrollo web
El desarrollo móvil web multiplataforma es prácticamente el desarrollo de
aplicaciones web regulares, pero optimizadas para ser visualizadas desde un dispositivo
móvil. Por definición, estas aplicaciones son accedidas utilizando el navegador que
viene por defecto dentro de los dispositivos: ya sea Safari (o algún otro) en iPhone o
iPad, digamos Dolphin o Google Chrome (entre otros) para Android, y Bing o Inernet
Explorer en Windows 8 y Windows Phone 8. Acord (2012).
Una aplicación móvil web o webapp es la desarrollada con lenguajes muy
conocidos por los programadores, como es el HTML, Javascript y CSS. La principal
ventaja con respecto al desarrollo convencional es la posibilidad de programar
independiente del sistema operativo en el que se usará la aplicación. De esta forma se
pueden ejecutar en diferentes dispositivos sin tener que crear varias aplicaciones, esta es
la manera como se hace multiplataforma. Glera (2013).
52
Figura 13: Soluciones multiplataforma para dispositivos móviles.
Fuente: Wargo (2012).
53
Existen algunas características por las que se considera una aplicación móvil a este
tipo de aplicaciones; en realidad la gran diferencia con una aplicación desarrollada de
forma convencional es que no necesita instalación por lo que no pueden estar visibles en
la diferentes tiendas de aplicaciones móviles y la promoción y comercialización debe
realizarse de forma independiente. Acord (2012). De todas formas se puede crear un
acceso directo que sería emular el proceso de instalación de la aplicación móvil en el
dispositivo.
Las apps web móviles son siempre una buena opción si nuestro objetivo es adaptar
la web a formato móvil, en la siguiente imagen mostramos la arquitectura de una
aplicación móvil multiplataforma basada en desarrollo web. Saks (2012).
Figura 14: Arquitectura de una aplicación móvil basada en la web
Fuente: (Diep, 2013)
54
Una de las principales ventajas de los dispositivos móviles es que todos tienen un
navegador HTML5, por lo que podemos, simplemente, crear una aplicación web y
usarla desde el navegador de uno de estos móviles. Glera (2013). Esto tiene sus ventajas
y desventajas:
a. Ventajas de las aplicaciones basadas en desarrollo web
Fácil diseño: no hay que pensar en desarrollar una aplicación para móviles si no
queremos. Basta con hacer un diseño adaptado a una pantalla y resolución más
pequeñas, que puede ser simplemente adaptando un CSS por cada dispositivo o
podemos rediseñar la navegación al completo. Además, las aplicaciones web se pueden
personalizar para que parezcan aplicaciones nativas: icono de aplicación, pantalla
completa, splash screen, barra de estado. Akkiraju (2011).
Fácil implementación: las aplicaciones web pueden ser desarrolladas en cualquier
tecnología de servidor, así que podemos usar nuestro lenguaje favorito (Java, Grails,
Php, Ruby, Python, etc.) con la seguridad de que la aplicación se verá igual en todos los
terminales. Aklilu (2012).
Seguridad: el desarrollador controla el acceso a la aplicación, se puede actualizar
sin tener que pedir permiso. Nadie va a acceder ilegalmente a la versión premium de tu
aplicativo, ni va a vetar la entrada a las tiendas virtuales de aplicaciones porque no
cumple los requisitos.
b. Desventajas de las aplicaciones basadas en desarrollo web
APIs nativas: No hay acceso completo a todas las Apis nativas del móvil. Aunque la
cámara y el micro son accesibles con Flash, todos sabemos que esa tecnología está
55
vetada en IOS. Desde HTML5 y Javascript, es posible acceder a las coordenadas del
GPS, pero no en tiempo real ni de la misma manera que si pudiéramos acceder a la Api
del móvil directamente. Y olvídate de usar el acelerómetro, la agenda, la brújula, etc.
Difícil de usar, fácil de olvidar: para usar una aplicación web en un móvil, es
necesario que el usuario abra el navegador y teclee la dirección, ya sea porque la sepa,
la haya encontrado en Google o la haya recibido por correo o chat. Una vez abierta la
aplicación, debe añadirla a favoritos o, mejor todavía, crear un icono de acceso directo
en el móvil para acceder a ella. Saks (2012). Confiar en que nuestros posibles usuarios
acaben haciendo todo esto para poder acceder cómodamente a nuestra aplicación en
futuras ocasiones es pecar de ingenuo. Es mucho más fácil descargar una aplicación y
que aparezca directamente como un icono en nuestro móvil. Saks (2012).
Lentitud de renderizado: sin contar que renderizar HTML e interpretar Javascript es
sin duda más costoso en uso de hardware que ejecutar una aplicación nativa, cada
petición que hagamos en nuestra aplicación implicará una recarga de la página o un
acceso, en mayor o menor medida, contra nuestro servidor. Cualquier espera por
pequeña que sea impacta en la experiencia de usuario. Una aplicación nativa tiene todos
los recursos y procesos guardados en local, y solo accede al servidor para obtener o
enviar datos si es que los necesita. Por tanto, una aplicación web no tiene la fluidez y
velocidad de manejo que una aplicación nativa, ni nunca la tendrá. Aranaz (2009).
Peor monetización: es más fácil que un usuario pague por nuestros servicios si
simplemente cobramos una cierta cantidad por nuestra aplicación al descargarla del App
Store, que no hacer que el usuario se tenga que registrar y efectuar el pago en nuestra
web, introduciendo manualmente todos sus datos como el número de tarjeta, dirección,
56
etc. Si el usuario ya tiene sus datos guardados en el App Store, para comprarla solo tiene
que poner su contraseña y confirmar la compra. Saks (2012).
Tenemos que ser conscientes de que los mercados de aplicaciones son una realidad:
Apple tiene su App Store para IOS y MacOS, Google su Chrome Web Store, Google
Apps Marketplace y el Android Market, Amazon su Amazon Appstore, incluso hay
markets alternativos como OpenAppMkt. Cada vez más empresas invierten en crear un
entorno fácil y cómodo para que el usuario pueda descargar, probar y comprar
aplicaciones, repartiéndose los beneficios. Pensar que podemos competir con todo esto
con una aplicación web para móviles, que simplemente se puede acceder desde una
dirección en un navegador, es una ilusión. Bruning (2012).
[Link]. Aplicaciones nativas
Una aplicación nativa es una aplicación que ha sido desarrollada específicamente
para ejecutarse en el sistema operativo de un dispositivo y que se instala en dicho
dispositivo. Este tipo de aplicaciones son diseñadas de forma específica para cada
terminal, es decir, se desarrollan en diferentes lenguajes de programación en función del
sistema operativo en el que van a ser utilizadas.
Por ejemplo, aquellas aplicaciones que sean desarrolladas para iOS, es decir para el
sistema operativo de iphone e ipad, son diseñadas con los lenguajes: Objetive C. Por
otro lado las que son desarrolladas para el sistema operativo de Android utilizan el
lenguaje Java. Aklilu (2012).
57
a. Características de las aplicaciones móviles nativas
Serán descargadas desde el mercado de aplicaciones para el sistema operativo, el
AppStore, Google Play o Windows Store.
Es una aplicación distinta por sistema operativo: una para Android, otra para iOS y
otra más para Windows.
Se desarrollan con lenguajes como Java (Android) u Objective-C (iOS), pero hay
alternativas como Appcelerator que permiten desarrollarlas utilizando JavaScript
puro, para ambas plataformas.
Como ya se ha mencionado antes, las aplicaciones nativas tienen acceso total a las
utilidades del sistema operativo del dispositivo: Dispositivos de almacenamiento,
cámara, gps, acelerómetro, etc. Esto hace que la experiencia de usuario sea la más
completa. Saks (2012). Todo esto deberá ser considerado en la arquitectura de la
aplicación móvil multiplataforma.
Además del total acceso a los elementos del teléfono las aplicaciones nativas no
requieren de conexión web para ser ejecutadas (aunque esto tiende a cambiar) Aklilu
(2012). Por último es importante destacar que las aplicaciones nativas tendrán mucha
más visibilidad ya que se distribuyen a través de las tiendas de aplicaciones de los
fabricantes. Glera (2013).
Por otra parte, el desarrollo móvil nativo es el desarrollo de aplicaciones que serán
instaladas en el sistema de archivos de cada dispositivo y serán distribuidas por los
mercados de aplicaciones móviles, como el AppStore (iOS), el Play Market (Android) o
el Windows Store.
58
b. Ventajas de las aplicaciones móviles nativas
Posibilidad de utilizar funcionalidades nativas: siempre puedes utilizar
funcionalidades nativas, como la cámara, el acelerómetro, etc.
Nuevas alternativas para desarrollar multiplataforma: Aun cuando lo regular es
desarrollar estas aplicaciones utilizando las herramientas oficiales (como el Android
SDK y Java en Android), han surgido varias nuevas tecnologías para llegar a varios
dispositivos con casi el mismo código fuente, como Titanium Appcelerator.
Performance: Típicamente llegan a desempeñarse mejor que las aplicaciones web.
Hay un mercado para estas aplicaciones: Las personas pueden encontrar tu
aplicación utilizando el AppStore o el Play Market. en cualquiera de los casos, estas
aplicaciones pueden ser puestas a la venta.
Modo offline: Tu aplicación puede utilizarse sin necesidad de una conexión a internet.
c. Desventajas de las aplicaciones móviles nativas
Típicamente son más costosas de llevar a cabo: Por lo general, son más costosas de
llevar a cabo, ya que se necesita invertir mucho más tiempo.
Mayores costos de mantenimiento: De igual forma, mantener varias versiones de la
aplicación es costoso.
Actualizaciones y aprobaciones: Poner una aplicación en el AppStore es tedioso,
puede llevar hasta más de una semana. De igual forma, si tienes una nueva
59
funcionalidad o descubriste un bug que quieres arreglar, debes esperar otra semana
para que los chicos de Apple aprueben tus cambios.
Aun cuando hay opciones como Appcelerator, no llegas a todos: Appcelerator, por
ejemplo, permite desarrollar para Android, iPhone, iPad y móvil-web (nuevo).
[Link]. Aplicaciones móviles híbridas
Estas aplicaciones son una combinación de los dos tipos de aplicaciones anteriores:
aplicaciones nativas y aplicaciones web. El concepto de aplicación híbrida consiste en
una página basada en HTML mediante las herramientas estándar HTML5, CSS3 y
JavaScript que posteriormente es envuelta en código nativo, de modo que el paquete
resultante puede ser distribuido, al igual que las aplicaciones nativas, a través de los
canales de compra de aplicaciones. Saks (2012).
Figura 15: Arquitectura de una aplicación móvil multiplataforma nativa
Fuente: (Diep, 2013)
60
La idea es fácil: utilizar el desarrollo nativo cuando es mejor o es necesario (para
utilizar la cámara, por ejemplo), pero utilizar tecnologías web y el desarrollo web
cuando es más práctico (por ejemplo en interfaces más complejas).
a. Características de las aplicaciones híbridas
Todas las listas infinitas en la aplicación son nativas.
Todas las ventanas son nativas, estas funcionan como contenedores de vistas web.
Todas las páginas que son detalles con información son JavaScript y HTML, por su
fácil desarrollo.
b. Ventajas de las aplicaciones híbridas
La principal ventaja es que son multiplataforma, permiten que el código fuente se
pueda ejecutar en diferentes plataformas.
Estas aplicaciones permiten acceder a todos los recursos del móvil, como pueden
ser la cámara o el sistema GPS.
No es necesaria conexión a internet para ejecutar la aplicación a excepción de
partes concretas de la aplicación que requieran dicha conexión.
Aúnan lo mejor de los dos tipos de aplicaciones, de modo que se tratan de una
buena alternativa cuando existe duda en qué tipo de aplicación realizar.
No es necesario utilizar un lenguaje específico para crear la aplicación íntegra, solo
es necesario para la plataforma contenedor. La mayor parte utiliza HTML5, un
61
leguaje más sencillo y por lo tanto el desarrollo de estas aplicaciones no supone
tanto tiempo.
c. Desventajas de las aplicaciones híbridas
Las actualizaciones son manuales, el usuario debe acceder al canal de compra de
aplicaciones de las distintas plataformas para conseguir las actualizaciones de la
aplicación.
Al igual que en el caso de las aplicaciones nativas para poder distribuir las híbridas
en los market place es necesario pasar unos procesos de validación que en
ocasiones pueden resultar duros.
La parte nativa que envuelve el código fuente basado en HTML, si debe ser
programado con un lenguaje específico para las distintas plataformas.
2.5. Frameworks para el Desarrollo de Aplicaciones Móviles Multiplataforma
2.5.1. JQuery Mobile
Es un framework de desarrollo móvil multiplataforma basado en HTML5, y esta
optimizado para dispositivos móviles táctiles. Este framework es de fácil uso y cuenta
con una documentación amplia sobre su interface de desarrollo. Como su nombre
indica, está desarrollado bajo jQuery y jQuery UI, cuenta con un código ligero de poco
peso basado en mejora progresiva, esto al momento del desarrollo. Greenberg(2012).
Este framework permite utilizar la herramienta de diseño web ThemeRoller para el
diseño de interfaces, las cuales luego se adaptaran perfectamente a las pantallas táctiles.
62
Figura 16: Logo de JQuery.
Fuente: Wargo (2012)
Este framework permite también hacer aplicaciones con funciones en el lado del
servidor, esta es una técnica muy común en sitios web, instalar jQuery Mobile
enlazando directamente a los archivos almacenados en la nube, se recomienda
ampliamente no aplicar esa técnica para aplicaciones que utilicen la combinación con
PhoneGap. Muy frecuentemente la aplicación será utilizada sin ninguna conexión a
internet o con conexión intermitente. Si los archivos de jQuery están enlazados a
documentos en la nube, la aplicación quedaría posiblemente inutilizable. Acord (2012).
Sencha Touch 2 es un framework para desarrollo de aplicaciones móviles basado en
HTML5. Este framework permite construir aplicaciones móviles para los sistemas
operativos iOS, Android, BlackBerry, Kindle Fire y otros. El framework de desarrollo
se puede descargar gratuitamente. Se ha de instalar de manera local y es necesario tener
un servidor local ejecutándose. Wargo (2012).
Las aplicaciones en Sencha Touch funcionan mejor cuando siguen estructuras
simples que el mismo framework proporciona. Son un conjunto de estándares,
convenciones y clases que hacen que el código sea mantenerle, especialmente cuando el
trabajo es parte de un equipo. Bruning (2012).
Sencha Touch está optimizado para la creación de aplicaciones que funcionan a
través de múltiples plataformas. Para escribir aplicaciones lo más simple posible,
proporcionamos una sencilla pero potente arquitectura de aplicación que aprovecha el
63
patrón Model View Controller (MVC). Este enfoque mantiene su código limpio,
comprobable, y fácil de mantener, y proporciona una serie de beneficios a la hora de
escribir sus aplicaciones:
Historia de Apoyo: Permite navegar dentro de sus aplicaciones utilizando de nuevo
el apoyo botón y acceder a cualquier parte de su aplicación que puede estar relacionado.
Deep Linking: Permite compartir enlaces profundos que abren cualquier pantalla en
su aplicación, al igual que la vinculación a una página web.
Perfiles de dispositivo: Permite personalizar fácilmente la interfaz de usuario de su
aplicación para móviles, tablets y otros dispositivos, mientras que compartir código común.
a. Anatomía de una app sencha
Una aplicación es una colección de modelos, vistas, controladores, Tiendas y perfiles,
además de metadatos adicionales para las entidades relacionadas de aplicaciones, tales
como iconos de aplicaciones e imágenes de pantalla de lanzamiento. Wargo (2012).
Figura 17: Arquitectura de una aplicación Sencha
Fuente: McWherter (2012)
64
‐ Modelos: representan un tipo de objetos de datos en su aplicación – puede ser una
aplicación de comercio electrónico que podría tener modelos de usuario, del
producto, y Orden.
‐ Vistas: se encargan de mostrar los datos de sus usuarios y para el aprovechamiento
de los componentes integrados en Sencha Touch.
‐ Controladores: manejan la interacción con la aplicación, por la escucha de las
interacciones del usuario, tales como grifos y golpes, y tomar medidas en consecuencia.
‐ Tiendas: son responsables de la carga de datos en su aplicación y de los
componentes que alimentan tales como Listas y DataViews.
‐ Perfiles: le permiten personalizar fácilmente la interfaz de usuario de su aplicación
para las tabletas y los teléfonos, mientras que compartir tanto código como sea posible.
2.5.2. Phonegap
El desarrollo de una aplicación en Phonegap se realiza en HTML5, CSS3 y
Javascript. Son aplicaciones web empaquetadas para ser tratadas como aplicaciones
móviles. Es importante diseñarlas pensando en la usabilidad y experiencia de usuario de
un móvil y no una web convencional. Phonegap lo que hace es embeber la aplicación
en el navegador web del dispositivo. Esto facilita el soporte de muchas plataformas pero
a la vez las aplicaciones no se suelen ver igual en todas las plataformas ya que se
depende del navegador de cada una. Springer (2013).
Además Phonegap dispone de un servicio en la nube para compilar y crear la
aplicación para las diferentes plataformas. Este servicio facilita la compilación de las
65
aplicaciones de Phonegap y libera de esta tarea al desarrollador que debería configurar
los entornos de cada plataforma y compilar la aplicación una por una. Aklilu (2012).
Figura 18: Logo de PhoneGap
Fuente: McWherter, (2012)
a. Ventajas
Independientemente de la plataforma del lado del servidor y la experiencia del
lenguaje de programación, un número significativo de los desarrolladores tienen
experiencia con HTML, JavaScript y CSS.
PhoneGap sigue una arquitectura de plugin, lo que significa que el acceso a las API
nativas de los dispositivos se puede ampliar de forma modular. Hay muchos plugins
PhoneGap para elegir - permitiendo a los desarrolladores centrarse en las
habilidades basadas en la web que ya tienen. (Esta es una debilidad, así, como
veremos posteriormente).
Soluciones PhoneGap existían en este espacio desde el principio, y han madurado
hasta el punto en el que las ofertas de valor añadido en la parte superior de la CPT
básica son la norma. Por ejemplo, PhoneGap tanto de Adobe Build o Icenium de
Telerik, permite a los desarrolladores construir plataformas de destino soportados en la
nube, sin SDKs locales (es decir, los usuarios de Mac no pueden construir aplicaciones
66
de iOS). Además de la nube de Icenium construir servicios, Telerik también ofrece
Kendo UI Mobile (un marco MVVM objetivo para el rendimiento en el móvil),
análisis de aplicaciones a través de EQATEC y un backend-as-a-Service (BAAS)
ofreciendo llamado everlive. Adobe ha integrado PhoneGap Build capacidades en
soportes (un IDE basado en la web) y Dreamweaver.
b. Desventajas
Por supuesto, ser libre no es garantía de éxito. La fuerza de ser de código abierto - y el
aprovechamiento de las características de una amplia gama de contribuyentes - es a la
vez una bendición y una maldición. Si necesita extender su aplicación con una
costumbre PhoneGap plugin, más probable es que se encuentra uno. Sin embargo,
puede estar fuera de fecha y es compatible con las plataformas de destino que usted
necesita. Springer (2013).
El rendimiento de aplicaciones PhoneGap ha sido a menudo criticado. La interfaz de
usuario nativa siempre superará a una solución híbrida, pero las mejoras en el hardware
del dispositivo y las implementaciones web han reducido la brecha. Sus desarrolladores
web tendrán que prestar mucha atención al rendimiento, lo que significa que su
conocimiento de las herramientas de perfiles, así como que los marcos de interfaz de
usuario web son móviles-amigable es esencial Springer (2013).
2.5.3. Titanium Appcelerator
El desarrollo con el framework Titanium Appcelerator se realiza en Javascript. Dispone
de un entorno de desarrollo propio (Titanium Studio) basado en Eclipse que facilita el
desarrollo, la configuración y compilación de las aplicaciones.
67
Appcelerator, a diferencia de Phonegap, al compilar traduce a código nativo. Esto
hace que normalmente las aplicaciones con Appcelerator tengan mejor experiencia de
usuario y mejor rendimiento. A cambio, la curva de aprendizaje es más costosa ya que
no es programación web como Phonegap. Acord (2012).
Figura 19: Logo AppCelerator
Fuente: [Link]
Un entorno de desarrollo abierto y extensible para la creación de hermosas
aplicaciones nativas a través de diferentes dispositivos móviles y sistemas operativos,
incluyendo iOS, Android y BlackBerry, así como híbridos y HTML5. Incluye una
fuente abierta SDK con más de 5.000 APIs de dispositivos y del sistema operativo para
móviles, Studio , un potente IDE basado en Eclipse, aleación , un framework MVC y
servicios en la nube para un backend móvil listo para su uso. Glera (2013).
Titanium es el entorno de desarrollo móvil líder de la opción para cientos de miles de
desarrolladores. Con más de 74.000 aplicaciones móviles desplegadas en 250 millones de
dispositivos, el galardonado entorno de titanio ayuda a las organizaciones a obtener en el
mercado un 60% más rápido y lograr una ventaja competitiva significativa. Sommer (2012).
68
Titanium simplifica el desarrollo con una sola base de código. Rápidamente construir,
probar, empaquetar y publicar aplicaciones móviles utilizando sólo JavaScript y una sola
base de código. Ahora, los desarrolladores con conocimientos de desarrollo web pueden
construir de inmediato ricas aplicaciones móviles, nativas. Usted ya no tendrá que gestionar
múltiples conjuntos de herramientas para desarrolladores, lenguajes y metodologías.
Greenberg (2012).
Cerca del 70-80% de nuestro código se puede reutilizar en aplicaciones. Eso nos
ahorra un montón de tiempo y mucha habilidad. Es muy difícil encontrar diferentes
características nativas y combinarlos en un solo equipo, pero es relativamente fácil
superar la curva de aprendizaje de JavaScript. (Marijn Deurloo, CEO, imgZine)
2.5.4. Strawberry
El desarrollo de aplicaciones en Strawberry se programa: la lógica en C++ y el
diseño en HTML/CSS. De esta manera se separa completamente el diseño de la
programación y facilita la separación de roles: maquetador y desarrollador.
Strawberry permite obtener el máximo rendimiento: utiliza la aceleración por
hardware OpenGL y está programado íntegramente en C++. Strawberry dispone de su
propio renderizador lo que ayuda a que las aplicaciones se visualicen igual en todas las
plataformas y dispositivos.
69
Figura 20: Logo Strawberry
Fuente: [Link]
Strawberry SDK es una herramienta de desarrollo que permite a los desarrolladores
a reducir el costo de desarrollo de aplicaciones multiplataforma.
No existe la necesidad de tener que desarrollar para cada plataforma por
separado. El SDK de Strawberry es una herramienta multiplataforma que puede
compilar sus aplicaciones y juegos para Android, iOS y Mac OS X con el mismo
código utilizando un solo proyecto. Sommer (2012). El desarrollador no necesita
aprender nada nuevo, Strawberry SDK está escrito en C ++ y OpenGL ES 1.0, así como
un desarrollador puede escribir todo el código en C ++, exprimir el potencial de código
nativo en cada plataforma. Para la creación de los diseños ha creado un HTML
personalizado y CSS. Haciendo que la vida del diseñador sea mucho más fácil.
Greenberg (2012).
70
Con Strawberry SDK se pueden crear diseños personalizados que se ven
exactamente igual en todas las plataformas. Se puede crear diferentes interfaces de
usuario si desea crear la mejor UX para cada plataforma. La obtención de los resultados
deseados siempre que lo desee es ahora sin esfuerzo y la iluminación rápida. Es más,
con strawberry SDK puede crear aplicaciones nativas que aprovechan al máximo las
capacidades del hardware del dispositivo, así como por medio de sensores como el GPS
y el acelerómetro de una manera fácil. Usted obtendrá el máximo rendimiento: perfecto
para juegos y aplicaciones pesadas.
Strawberry SDK no es sólo una herramienta para los desarrolladores y diseñadores,
también es una nueva metodología de trabajo se centró en el dinamismo y el trabajo
en paralelo. Diseño de la disposición está completamente separado del código (Glera,
2013). De esta manera ajustar la interfaz de usuario no va a interferir con la
programación, o viceversa. Gracias a este marco, es mucho más simple de optimizar los
tiempos de desarrollo, mediante los desarrolladores y diseñadores de la interfaz de
usuario funcionan en paralelo. Sommer (2012).
Strawberry SDK facilita y mejora la comunicación entre el desarrollador y el
diseñador de la interfaz de usuario ya que no es una herramienta única para los
techies. Ha hecho que sea más fácil de iterar sobre los diseños y la facilidad de uso sin
necesidad de programación lógica, no se utilizara mayor tiempo ajustar la interfaz de
usuario y la compilación de una y otra vez.
Gracias al player Strawberry (incluido en Strawberry SDK) puede crear diseños para
juegos y aplicaciones a velocidad de la luz a través de nuestro HTML y CSS
personalizado especialmente creado para el diseño de diseño. Para la creación de diseños
71
sólo se necesita un editor de texto y luego ver lo que está realizando con la Strawberry
Player. Piense en ello como un navegador para sus interfaces de usuario que le permite
crear el diseño perfecto con precisión de píxel perfecto.
Como el código es completamente independiente del esquema de trazado, Strawberry
SDK le ofrece diseño súper flexible que le permite implementar fácilmente las cosas
interesantes como las pruebas, diferentes diseños para teléfonos, tabletas y ordenadores
por cada plataforma, o incluso modificar completamente el diseño de interfaz de usuario
de un aplicación o el juego sin tener que preocuparse sobre el código fuente.
Strawberry SDK le ayudará a reducir las aplicaciones y juegos tiempo de desarrollo
en un 42%. Como marco de plataforma cruzada, se utiliza el mismo código en Android,
iOS y Mac OS, con lo que sus productos más rápido a sus usuarios y lo que es más fácil
de mantener el código.
2.5.5. Qt 5.2
Figura 21: Logo QT
Fuente: [Link]
El mercado nos está diciendo experiencia de usuario multiplataforma es una necesidad
absoluta ahora. Estamos escuchando. Creemos que el desarrollo de software moderno tiene
que tener esto en cuenta -. Pensar fuera de la caja de un sistema operativo o una plataforma
72
de su estrategia de tecnología debe incluir la capacidad de fácilmente crear dispositivos
conectados , el IEU y aplicaciones que se ejecutan en cualquier lugar en cualquier
dispositivo, en cualquier sistema operativo en cualquier momento. Greenberg (2012).
Con Qt puede crear interfaces de usuario innovadoras y únicas para los adaptados para
su público objetivo, ya sea para un panel de operador industrial o una interfaz de usuario del
auricular llamativo. Lo que hace este rápido desarrollo es el conjunto de altamente
intuitivos clases C ++ biblioteca , de hecho, proporciona una gama completa de
funcionalidad. Sommer (2012). No sólo son fáciles de aprender y utilizar, sino también el
marco es significado modular puede seleccionar sólo las clases que necesita, haciendo la
depuración y pruebas más rápido y su huella de dispositivo más pequeño, de desarrollo
rápido y rendimiento rápido. La aceleración de la productividad aún más también se puede
lograr con los controles Qt Empresa prediseñadas y personalizables. Anglin (2013).
Estas clases ofrecen más que apenas diseño GUI. Usted también consigue clases de
plataforma cruzada para cosas como, sólo para nombrar unos pocos: el acceso de base
de datos, roscado, multimedia, y la creación de redes que permite centrarse en que las
competencias clave y diferenciadores de productos en lugar de los fundamentos.
Reutilización de código para el desarrollo de aplicaciones y creación de dispositivos.
Qt es un framework multiplataforma utilizado para crear dispositivos con interfaces
impresionantes y potentes aplicaciones nativas. Es una elección inteligente para cualquier
tipo de desarrollo de software. Imagínense poder renderizar o mostrar que también funciona
básicamente en todas partes sin tener que reescribir el código. Si desea la diversidad entre
las plataformas, como un diseño de interfaz de usuario sensible para diferentes tamaños de
pantalla, esto es fácil de implementar con Qt, también. Se puede pensar que esto es
73
demasiado bueno para ser verdad, pero no hay soluciones de compromiso con Qt. Aranaz
(2009). Se pueden crear interfaces de usuario impresionante y obtener un rendimiento
increíble mientras que apunta múltiples pantallas, dispositivos, sistemas operativos,
plataformas, cualquier palabra que desea utilizar para describir que Qt corre por todas
partes.
a. Flexibilidad
La flexibilidad en el desarrollo de software en muy importante, con Qt usted puede
elegir su método de desarrollo. Se puede optar por el uso de las API altamente intuitivas
Qt para el lenguaje de programación C ++ o utilizar el lenguaje declarativo Qt, QML, lo
que hace que está comenzando súper rápido. No es ninguna coincidencia que la
tecnología se llama Qt Quick. De igual manera no se tiene que elegir uno u otro, se
puede tener ambas cosas. Usar Qt / C ++ para su lógica de la aplicación backend y QML
para el diseño de su interfaz de usuario. Aranaz (2009).
2.5.6. Xamarin
Al considerar cómo construir aplicaciones iOS, Android o Windows 8.1, muchas
personas piensan que los lenguajes nativos de desarrollo, Objective-C y Java,
respectivamente, son la única opción. Sin embargo, en los últimos años, ha surgido un
nuevo ecosistema entero de plataformas para crear aplicaciones móviles. Peppers (2014).
Xamarin es único en este espacio, ofreciendo un solo lenguaje de programación el
C #, la biblioteca de clases, y el tiempo de ejecución que funciona a través de las tres
plataformas móviles de iOS, Android, Windows 8 y Windows Phone sin dejar de
74
compilación nativa (no -interpretado) aplicaciones que tienen el performance suficiente
incluso para los juegos más exigentes. Peppers (2014).
Figura 22: Logo Xamarin –
Fuente: [Link]
Xamarin es único, ya que combina toda la potencia de las plataformas nativas y
añade una serie de características de gran alcance de su cuenta, incluyendo:
- Completo enlace para los SDK Nativos: Xamarin contiene enlaces durante casi todo
el SDK de la plataforma subyacente tanto en iOS y Android. Además, estos enlaces
están fuertemente-mecanografiadas, lo que significa que son fáciles de navegar y
usar, y proporcionar la comprobación de tipos en tiempo de compilación robusto y
durante el desarrollo. Esto conduce a un menor número de errores en tiempo de
ejecución y las aplicaciones de mayor calidad.
- Interoperabilidad con Objective-C, Java, C y C ++: Xamarin ofrece instalaciones
para invocar directamente las bibliotecas de Objective-C, Java, C y C ++, que le da
el poder de utilizar una amplia gama de tercera código partido que ya se ha creado.
Esto le permite tomar ventaja de iOS existentes y bibliotecas Android escritos en
Objective-C, Java o C / C ++. Peppers (2014).
- Lenguaje de programación moderno: Xamarin aplicaciones están escritas en C #, un
lenguaje moderno que incluye mejoras significativas en Objective-C y Java, tales
75
como funciones de idioma dinámico, las construcciones funcionales como
Lambdas, LINQ, características de programación en paralelo.
- Entorno de desarrollo integrado y moderno (IDE) - Xamarin utiliza Xamarin Studio en
Mac OS X, y también Xamarin Studio o Visual Studio 2013 en Windows. Se trata de
dos de IDE modernas que incluyen características tales como la finalización de código
automático, un proyecto sofisticado y sistema de gestión de soluciones, una biblioteca
completa plantilla de proyecto, control de código fuente integrada, y muchos otros.
- Soporte Móvil Multiplataforma: Xamarin ofrece sofisticado soporte multiplataforma
para las tres principales plataformas móviles de iOS, Android y Windows Phone. Las
aplicaciones pueden ser escritas para compartir hasta el 90% de su código, y nuestra
biblioteca Xamarin. Mobile ofrece una API unificada para acceder a recursos
comunes en las tres plataformas. Esto puede reducir significativamente los costes de
desarrollo y el tiempo de comercialización para los desarrolladores móviles que se
dirigen a las tres plataformas móviles más populares.
Figura 23: Arquitectura de una aplicación móvil en Xamarin
Fuente: Marin (2012)
76
2.5.2. Código Compartido
Aplicaciones Xamarin están escritas enteramente en C # y tener pleno acceso a la
NET Framework en cada plataforma. Esto significa que puede escribir código que utiliza
cualquiera de las funciones de NET, incluyendo las operaciones de archivos, acceso a la
Web, el almacenamiento de base de datos, manipulación de XML y más, a continuación,
compartir ese código a través de iOS, Android y Windows. Peppers (2014).
2.6. Computación en la Nube para Aplicaciones Móviles
Con el crecimiento del almacenamiento en la nube y servidores de la nube, se ha
hecho más fácil que nunca para copia de seguridad de todos sus archivos importantes de
la computación en línea. Por este motivo, y para satisfacer las necesidades de los
sistemas de computación más exigentes, se ha producido una interesante evolución de
las arquitecturas de cálculo, basada fundamentalmente en la ejecución simultánea de
procesos en múltiples equipos informáticos. Aranaz (2009).
Ahora se le da la flexibilidad de acceder a todos sus archivos desde cualquier parte
del mundo, con la ventaja de saber que todas sus fotografías importantes, vídeos,
música, archivos, documentos, así como otros programas y los datos se almacenan de
forma segura y disponible la 24 horas al día 7 días a la semana.
A lo largo del presente estudio se ha optado por emplear el término en idioma
inglés cloud computing y no el de computación en nube, en idioma español tal y
como lo traduce la Unión Internacional de Telecomunicaciones (UIT) y la Unión
Europea debido a que es el término en idioma inglés el que aparece citado con
mayor frecuencia en la mayor parte de la literatura especializada y en la mayor
77
parte de las numerosas publicaciones consultadas durante la elaboración del
mismo. Peppers (2014).
Se destaca principalmente lo que es más importante para el consumidor, con
categorías tales como la cantidad de espacio de almacenamiento que ofrece la empresa,
así como el grado de fiabilidad de la empresa de almacenamiento de archivos de la
nube. Se muestra a continuación las características más importantes de los servicios de
almacenamiento en la nube:
2.6.1. La Fiabilidad y el Tiempo de Actividad
Esta característica se basa en datos estadísticos relacionados con el tiempo de
actividad del servicio. Se espera que las compañías de almacenamiento en la nube
tengan un tiempo de actividad del 99,9%; sin embargo algunos pueden caer por debajo
de que, debido a circunstancias imprevistas. Peppers (2014). El consumidor debe ser
consciente de que, para que puedan tomar la decisión más informada en la selección de
su proveedor de servicios de almacenamiento en línea.
2.6.2. Apoyo Técnico
El soporte técnico y servicio al cliente están estrechamente relacionados; sin
embargo, esta característica es una calificación de la capacidad técnica del personal de
soporte técnico. Ciertamente, una cosa es tener un agente de soporte técnico amable,
servicial y otra muy distinta es tener uno que es todo eso y realmente resuelve el
problema rápidamente.
78
2.6.3. Espacio de Almacenamiento
Esta característica es una comparación de la cantidad de espacio de
almacenamiento ofrecido por la empresa. El espacio de almacenamiento también es un
factor en el costo de mantenimiento que significa tener un servidor propio. Peppers
(2014).
2.6.4. Facilidad de Uso
Al probar los servicios de almacenamiento en la nube, el usuario debe comprobar lo
fácil que es utilizar el servicio. Esto se compara con un punto de referencia de los
usuarios en general y usuarios técnicamente competentes. Una buena calificación
representa una mediana entre la facilidad de uso para los usuarios generales y técnicos.
2.6.5. Los Enfoques de la Computación en la Nube
La idea detrás de cualquier propuesta de la computación en nube es que usted sólo
paga por lo que usa, la ampliación o hacia abajo de acuerdo con las necesidades del
negocio. Los proveedores de apoyo cloud computing pueden interpretar esta declaración
de manera diferente, proporcionando diferentes niveles de servicios para lograr este
resultado. Los tres enfoques de la computación en la nube son Infraestructura como
Servicio (IaaS), Software como Servicio (SaaS) y Plataforma como servicio (PaaS).
Peppers (2014).
2.6.6. Infraestructura como Servicio
Modelo de distribución de infraestructura de computación como un servicio,
normalmente mediante una plataforma de virtualización. En vez de adquirir servidores,
79
espacio en un centro de datos o equipamiento de redes, los clientes compran todos estos
recursos a un proveedor de servicios externo. Una diferencia fundamental con el hosting
virtual es que el aprovisionamiento de estos servicios se hace de manera integral a
través de la web. Ejemplos: Amazon Web Services EC2 y GoGrid.
Figura 24: Tipo de servicios en la nube
Fuente: Marin (2012)
2.6.7. Software como Servicio
En español Software como Servicio. Modelo de distribución de software donde una
empresa sirve el mantenimiento, soporte y operación que usará el cliente durante el
tiempo que haya contratado el servicio. El cliente usará el sistema alojado por esa
empresa, la cual mantendrá la información del cliente en sus sistemas y proveerá los
recursos necesarios para explotar esa información. Ejemplos: Salesforce, Basecamp.
80
2.6.8. Plataforma como Servicio
Aunque suele identificarse como una evolución de SaaS, es más bien un modelo en
el que se ofrece todo lo necesario para soportar el ciclo de vida completo de
construcción y puesta en marcha de aplicaciones y servicios web completamente
disponibles en la Internet. Peppers (2014). Otra característica importante es que no hay
descarga de software que instalar en los equipos de los desarrolladores. PasS ofrece
múltiples servicios, pero todos provisionados como una solución integral en la web.
Aunque algunos servicios de Amazon Web Services como SimpleDB y SQS yo los
considero PaaS, esta afirmación puede ser discutida. Otro ejemplo es Google App
Engine.
2.6.9. Backend como Servicio
También conocido como Backend as a service (BaaS) por su nombre en inglés, es
un modelo para proporcionar a los desarrolladores web y de aplicaciones móviles una
forma de vincular estas aplicaciones al almacenamiento en nube (cloud storage),
servicios analíticos y/o otras características tales como la gestión de usuarios, la
posibilidad de enviar notificaciones push y la integración con servicios de redes sociales
Sommer (2012). Estos servicios se prestan a través de la utilización de kits
personalizados de desarrollo de software (SDK) y las interfaces de programación de
aplicaciones (API). BaaS es un modelo relativamente reciente en la computación en la
nube, donde la mayoría de empresas datan del 2011 o posterior. Peppers (2014).
81
2.6.10. Propósito
Las aplicaciones web y móviles requieren un conjunto similar de características en
su backend, incluyendo notificaciones push, analíticas, integración con redes sociales y
almacenamiento en la nube. Cada uno de estos servicios tiene su propia API que debe de
ser incorporada individualmente a una aplicación, proceso que puede ser largo y
complicado para los desarrolladores de aplicaciones. Los proveedores BaaS forman un
puente entre el frontend de una aplicación y varios servicios backend en la nube a través
de una API y SDK unificada.
Proporcionar una forma coherente para gestionar los datos del backend significa
para los desarrolladores no tener que desarrollar su propio backend para cada uno de los
servicios que sus aplicaciones necesitan acceder, ahorrando potencialmente tiempo y
dinero. Peppers (2014).
Aunque es similar a otras herramientas de desarrollo web de computación en la
nube, como el software como servicio (SaaS), infraestructura como servicio (IaaS)
y plataforma como servicio (PaaS), BaaS se distingue de estos otros servicios ya que
está específicamente dirigido a las necesidades de la computación en la nube de la web
y de los desarrolladores de aplicaciones móviles, proporcionando un medio unificado de
conectar sus aplicaciones a servicios en la nube.
2.6.11. Modelo de Negocio
Los proveedores de BaaS generan ingresos de sus servicios de diversas maneras, a
menudo utilizando un modelo freemium. Bajo este modelo, un cliente recibe un
determinado número de usuarios o llamadas API al mes y paga una cuota por cada usuario o
82
llamada que excede este límite. Como alternativa, los clientes pueden pagar una cuota fija
por un paquete que permita un mayor número de llamadas o usuarios activos por mes,
Peppers (2014).
2.6.12. Windows Azure
Microsoft Azure (anteriormente Windows Azure y Azure Services Platform) es
una plataforma ofrecida como servicio y alojada en los Data Centers de Microsoft.
Anunciada en el Professional Developers Conference de Microsoft (PDC) del 2008 en
su versión beta, pasó a ser un producto comercial el 1 de enero del 2010. Windows
Azure es una plataforma general que tiene diferentes servicios para aplicaciones, desde
servicios que alojan aplicaciones en alguno de los centros de procesamiento de datos de
Microsoft para que se ejecute sobre su infraestructura (Cloud Computing) hasta
servicios de comunicación segura.
Windows Azure utiliza un sistema operativo especializado, llamado de la misma
forma, para correr sus Capas— un cluster localizado en los servidores de datos de
Microsoft que se encargan de manejar los recursos almacenados y procesamiento para
proveer los recursos(o una parte de ellos) para las aplicaciones que se ejecutan sobre
Windows Azure. Peppers (2014).
Windows Azure se describe como una “capa en la nube” funcionando sobre un
número de sistemas que utilizan Windows Server, estos funcionan bajo la versión 2008
de Windows Server y una versión customizada de Hyper-V, conocido como
el Hipervisor de Windows Azure que provee la virtualización de los servicios. La capa
controladora de Windows Azure se encarga de escalar y de manejar la confiabilidad del
sistema evitando así que los servicios se detengan si alguno de los servidores de datos
83
de Microsoft tiene problemas y a su vez maneja la información de la aplicación web del
usuario dando como ejemplo los recursos de la memoria o el balanceo del uso de esta.
Dentro de la plataforma, el servicio de Windows Azure es el encargado de
proporcionar el alojamiento de las aplicaciones y el almacenamiento no relacional. Dichas
aplicaciones deben funcionar sobre Windows Server 2008 R2. Pueden estar desarrolladas
en .NET, PHP, C++, Ruby, Java. Además del servicio de ejecución, dispone de diferentes
mecanismos de almacenamiento de datos: tablas NoSQL, blobs, blobs para streaming,
colas de mensajes o 'drives' NTFS para operaciones de lectura / escritura a disco.
Figura 25: Arquitectura de una aplicación móvil multiplataforma utilizando Azure.
Fuente: Marin (2012)
a. Características de Windows Azure
- Proceso: el servicio de proceso de Windows Azure ejecuta aplicaciones basadas
en Windows Server. Estas aplicaciones se pueden crear mediante .NET
Framework en lenguajes como C# y Visual Basic, o implementar sin .NET
en C++, Java y otros lenguajes. Peppers (2014).
84
- Almacenamiento: objetos binarios grandes (blobs) proporcionan colas para la
comunicación entre los componentes de las aplicaciones de Windows Azure y
ofrece un tipo de tablas con un lenguaje de consulta simple. Martínez (2011).
- Controlador de tejido: Windows Azure se ejecuta en un gran número de máquinas.
El trabajo del controlador de tejido es combinar las máquinas en un solo centro de
datos de Windows Azure formando un conjunto armónico. Los servicios de proceso
y almacenamiento de Windows Azure se implementan encima de toda esta eficacia
de procesamiento. Martínez (2011).
- Red de entrega de contenido (CDN): el almacenamiento en caché de los datos a los
que se accede frecuentemente cerca de sus usuarios agiliza el acceso a esos datos.
- Connect: organizaciones interactúan con aplicaciones en la nube como si estuvieran
dentro del propio firewall de la organización.
b. Componentes Azure Platform
- Windows Azure Compute es una plataforma para hospedar y administrar
aplicaciones en los centros de datos de Microsoft. Una aplicación de Windows
Azure consta de uno o varios componentes denominados ‘roles.’ Los roles pueden
ser de tres tipos: rol web, rol de trabajo y rol de máquina virtual (VM).
- Windows Azure Storage tiene servicios de básicos como parte de la cuenta de
almacenamiento de Windows Azure. Los blobs, tablas y colas están accesibles a
aplicaciones o instancias de aplicaciones simultáneamente. Marin (2012).
85
- Microsoft SQL Azure es un servicio de base de datos en la nube basado en las
tecnologías de SQL Server. Los servicios de SQL Azure incluyen: Base de datos
SQL Azure, SQL Azure Reporting y SQL Azure Data Sync Aspectos destacados de
la base de datos de SQL Azure.
- Content Delivery Network (CDN) de Windows Azure coloca copias de los datos
cerca de donde estos se encuentran. La CDN de Windows Azure entrega
actualmente muchos productos de Microsoft, como Windows Update, vídeos de
Zune y Bing Maps, que los clientes conocen y usan todos los días. Gracias a la
incorporación de la CDN a los servicios de Windows Azure, ahora esta red a gran
escala está disponible a todos los usuarios de Windows Azure. Marin (2012).
- Azure AppFabric El servicio de Appfabric (en fase beta se llamaba .NET Services)
ofrece diferentes servicios para aplicaciones. Los servicios de autenticación,
autorización y mensajería permiten la comunicación segura entre aplicaciones y
servicios desplegados tanto en la nube y en local. Los diferentes servicios que
ofrece el servicio de AppFabric se pueden dividir en dos grandes bloques:
AppFabric Service Bus y AppFabric Access Control.
- Azure Market Place es un mercado en línea global compartir, comprar y vender
aplicaciones SaaS completas y conjuntos de datos. La sección de datos de Windows
Azure Marketplace incluye datos, imágenes y servicios Web en tiempo real de
proveedores de datos comerciales, líderes en el sector y orígenes de datos públicos
acreditados. Singh (2012).
- Azure Virtual Network es una serie de funciones de red. Windows Azure Connect
es la primera característica de Azure Virtual Network que configura la conectividad
86
de red basada en IP entre recursos locales y de Windows Azure. Windows Azure
Traffic Manager equilibra la carga del tráfico en servicios hospedados.
c. Beneficios de Windows Azure
- Ejecutar procesos genéricos en la nube.
- Crear, modificar y distribuir aplicaciones escalables con un mínimo de recursos
internos.
- Realizar almacenamiento de alto volumen, procesamiento de lotes y cómputos
intensos o de alto volumen.
- Crear, evaluar, depurar y distribuir servicios web con rapidez y de forma accesible.
- Llevar sus ideas al mercado con mayor rapidez y paga cuando lo obtiene.
- Reduce costes de generación y extensión de recursos internos.
- Reduce el esfuerzo y los costes de administración de TI Responde con rapidez a los
cambios de las necesidades de su empresa y sus clientes.
- Amplía y reduce sus recursos de TI en función de sus necesidades.
- Consume recursos de informática SOLO cuando surgen la necesidad.
- Se enfoca menos en administrar restricciones y recursos operativos.
- Elimina la necesidad de administrar hardware.
- Utiliza sus actuales habilidades de desarrollo para crear aplicaciones en la nube.
87
d. Microsoft Azure Storage
La computación en la nube permite nuevos escenarios para las aplicaciones que
requieren de almacenamiento escalable, duradero y de alta disponibilidad para sus
datos, que es exactamente el por qué Microsoft desarrolló Azure Storage. Scott (2013).
Además de hacer posible que los desarrolladores puedan crear aplicaciones de gran
escala para apoyar a estos nuevos escenarios, Azure Storage también proporciona la
base de almacenamiento para equipos virtuales de Azure, un testimonio más de su
solidez. Singh (2012).
Azure Storage es masivamente escalable, por lo que puede almacenar y procesar
cientos de terabytes de datos para apoyar los escenarios de grandes datos requeridos por el
análisis científico, financiero, y aplicaciones multimedia. Scott (2013). O usted puede
almacenar pequeñas cantidades de datos necesarios para un sitio web de pequeñas
empresas. Donde quiera que caigan sus necesidades, usted sólo paga por la información
que almacena. Azure Storage almacena en la actualidad decenas de miles de millones de
objetos únicos de los clientes, y maneja millones de peticiones por segundo en promedio.
Azure Storage es elástica, por lo que puede diseñar aplicaciones para una gran
audiencia global, y escalarlas según sea necesario - tanto en términos de la cantidad de
datos almacenados y el número de solicitudes formuladas en su contra. Usted sólo paga
por lo que usa, y sólo cuando lo utiliza.
Azure Storage utiliza un sistema de auto-partición que da forma automática y
equilibra la carga de los datos en función del tráfico. Esto significa que a medida que las
demandas de la aplicación crezcan, Azure Storage asigna automáticamente los recursos
adecuados para cumplir con ellos.
88
Azure Storage se puede acceder desde cualquier parte del mundo, desde cualquier
tipo de aplicación, ya sea que se ejecuta en la nube, en el escritorio, en un servidor en
las instalaciones, o en un dispositivo móvil o tablet. Usted puede utilizar Azure Storage
en escenarios móviles donde la aplicación almacena un subconjunto de los datos del
dispositivo y los sincroniza con un conjunto completo de los datos almacenados en la
nube. Singh (2012).
Azure Storage apoya a los clientes que utilizan un conjunto diverso de sistemas
operativos (incluyendo Windows y Linux) y una variedad de lenguajes de programación
(incluidas. NET, Java y C ++) para el desarrollo conveniente. Azure Storage también
expone sus recursos de datos a través de las API REST, que están disponibles para
cualquier cliente capaz de enviar y recibir datos a través de HTTP / HTTPS.
Introducción a los servicios Azure Storage.- Los servicios de Azure de
almacenamiento son el almacenamiento Blob, almacenamiento en Tablas (Table
Storage), almacenamiento de colas (Queue Storage), y el almacenamiento de archivos
(File Storage).
- Blob Storage Un blob puede ser cualquier tipo de texto o datos binarios, como un
documento, archivo multimedia, o el instalador de la aplicación.
- Table Storage: Almacenamiento de la tabla es un almacén de datos clave-atributo
NoSQL, lo que permite el rápido desarrollo y el acceso rápido a grandes cantidades
de datos.
- Queue Storage: proporciona mensajería confiable para el procesamiento de flujo
de trabajo y para la comunicación entre los componentes de servicios en la nube.
89
- File Storage: ofrece almacenamiento compartido para las aplicaciones heredadas
que utilizan el protocolo estándar SMB 2.1. Máquinas virtuales y Azure servicios en
la nube pueden compartir datos de archivos a través de componentes de la
aplicación a través de acciones montadas, y las aplicaciones on-premise pueden
acceder a los datos de archivo en un recurso compartido a través de la API del
servicio de archivos.
Blob, Table, y Queue se incluyen en cada cuenta de almacenamiento, mientras que
el almacenamiento de archivos está disponible por solicitud a través de la página Azure
Vista previa.
La cuenta de almacenamiento es un espacio de nombres único que te da acceso a
Azure Storage. Cada cuenta de almacenamiento puede contener hasta 500 TB de blob
combinado, la cola, tablas y los datos de archivo. Scott (2013).
La imagen de abajo muestra las relaciones entre los recursos de almacenamiento de
Azure:
Figura 26: Servicios de Windows Azure Storage
Fuente: Marin (2012)
90
e. Windows Azure Mobile Services
Mobile Services es un servicio de Windows Azure diseñado para facilitar la
creación de aplicaciones móviles altamente funcionales. Mobile Services reúne un
conjunto de servicios Azure que habilitan diferentes posibilidades para las aplicaciones
como: almacenamiento de datos, implementación de servicios y lógica del negocio
(backend). Singh (2012).
Mobile Services provee las siguientes características para apoyar el backend de una
aplicación móvil:
- Manejo simple de tablas para almacenamiento.
- Integración con servicios de notificación para entrega de notificaciones push a la
aplicación móvil.
- Integración con proveedores de autenticación bien renombrados.
- Control granular para el acceso a tablas.
- Personalización de la lógica de negocios en el lado del servidor.
- Integración con otros servicios en la nube.
- Soporta la habilidad de escalar la infraestructura.
- Monitoreo de servicios y logs.
91
Figura 27: Arquitectura de Windows Azure Services
Fuente: [Link]
f. Escenarios reales con los servicios móviles de Windows Azure
Notificaciones Push
Notificaciones Push son un componente vital de aplicaciones conectadas. Permiten
a los servicios de back-end para enviar actualizaciones frecuentes y oportunas a los
usuarios y los dispositivos específicos que luego pueden aparecer como cambios de
baldosas, notificaciones tostadas, actualizaciones insignia, y más. Como tal,
notificaciones push son quizás el más poderoso mecanismo de participación del cliente
a disposición de los desarrolladores de aplicaciones a través de teléfonos, tabletas y
ordenadores.
La razón principal de esto es que las notificaciones push se entregan a los
dispositivos por los servicios específicos de la plataforma. Por ejemplo, usted tiene que
utilizar el servicio de notificación de Windows (WNS) para empujar las notificaciones a
92
Windows Store aplicaciones, Push Notification Service de Microsoft (MPNS) para
empujar a Windows Phone, el servicio Apple Push Notification (APN) para iOS y
Google Cloud Mensajería (GCM) para Android. Scott (2013).
Hub de Notificaciones
En este momento existe una vista previa del servicio Hubs de notificaciones con las
siguientes capacidades:
Soporte de notificaciones Push multiplataforma: Los Hubs de notificación
proporcionan una API común para enviar notificaciones push a múltiples plataformas de
dispositivos. Su aplicación puede enviar notificaciones en formatos específicos de la
plataforma o de forma independiente de la plataforma. A partir de enero de 2013, de
notificación Hubs son capaces de notificaciones push a Windows 8 aplicaciones y
aplicaciones de iOS. Soporte para Android y Windows Phone se añadirán en breve.
Singh (2012).
Escalabilidad: El Hub de notificación permite llegar a millones de dispositivos sin
tener que rediseñar o fragmentar su aplicación. El mecanismo pub/sub routing le
permite transmitir las notificaciones de una manera muy eficiente. Esto hace que sea
increíblemente fácil para enrutar y entregar mensajes de notificación a millones de
usuarios sin tener que construir su propia infraestructura de enrutamiento.
Utilizable desde el Backend de cualquier Aplicación: Los Hubs de notificación
se pueden integrar fácilmente en cualquier aplicación de servidor back-end. Se trabajará
sin problemas con aplicaciones integradas con Windows Azure Mobile Services.
También puede ser utilizado por aplicaciones de servidores alojados en IaaS máquinas
93
virtuales (ya sea Windows o Linux), servicios en la nube o sitios web. Esto hace que sea
fácil para que usted tome ventaja de ello de inmediato, sin tener que cambiar el resto de
la arquitectura de su aplicación backend. Scott (2013).
El uso de las redes sociales: Las aplicaciones pueden utilizar la red social del
usuario para implementar características como la emisión de los retos a los amigos. Para
ello, la aplicación puede insertar un nuevo registro en una tabla apropiada servicio
móvil. Dentro de la secuencia de comandos de inserción, el servicio de consulta su base
de datos para los amigos adecuados del usuario actual, a continuación, envía las
notificaciones a las URIs de los canales. Criterios adicionales de consulta describen el
aspecto exacto de un juego, el tipo particular de ejercicio, y así sucesivamente.
94
CAPÍTULO III: DESARROLLO DEL APLICATIVO MÓVIL
3.1. Metodología de Desarrollo
En este proyecto se ha utilizado una metodología en cascada centrada en la
planificación del proyecto, ya que se cuenta con una visión clara del proyecto. Para este
desarrollo se consideran cuatro etapas, cada una depende de la conclusión de sus
antecesoras. Las fases consideradas en el desarrollo, como se muestra en el siguiente
gráfico, son las siguientes:
Figura 28: Mapa conceptual de la metodología de desarrollo del aplicativo móvil
Fuente: Elaboración propia
- Fase preliminar, se identifica la necesidad de crear una aplicación para dispositivos
móviles, quiénes serán los usuarios, la plataforma para la que se desarrollará y el
alcance de la aplicación. En esta etapa es importante considerar el dispositivo al que
está destinada la aplicación, es decir, capacidad de memoria, generación del equipo,
peso de la aplicación, conectividad y tamaño del dispositivo.
95
- Fase de planeación, se realizan la indagaciones sobre la aplicación, de tal manera
que sea posible recopilar información relevante que permita delimitar el alcance de
la aplicación y diseñar un bosquejo de la misma, este bosquejo puede elaborarse en
papel o cualquier aplicación que nos permita tener la idea del diseño de las
pantallas. El objetivo es conocer las rutas de navegación que tendrá la aplicación, la
cual debe ser simple y con el menor número de gestos táctiles (tales como Tap,
Pinch, Swipe) posible para acceder a la información.
- Fase de desarrollo, una vez elaborado y aprobado el bosquejo, es necesario
centrarse en el desarrollo de la aplicación, en cada una de las plataformas, se debe
tomar en cuenta las especificaciones de diseño con respecto a la interfaz de usuario.
Se sugirió agregar una etapa de pruebas locales de la aplicación antes de continuar
con la implementación.
- Fase de implementación, en esta etapa se pone a disposición de los usuarios la
aplicación realizada, publicándola en los medios que proporcionan los diferentes
proveedores, en este caso las tiendas virtuales de capa plataforma móvil.
3.2. Análisis de Requerimientos
Debido a la importancia de contar con una aplicación móvil de promoción turística
del destino Arequipa que este a la vanguardia en tecnología y considerando el aumento
de usuarios de dispositivos móviles; se decidió desarrollar una aplicación que sustituya
al tradicional libro de mano, que carga siempre un turista; a continuación describimos
los requerimientos obtenidos a partir de un análisis de un ejemplar físico de este libro de
mano del turista y de un estudio sobre el estado del arte de aplicaciones similares
96
aplicadas al rubro de promoción turística, obteniendo los siguientes requerimientos
funcionales y no funcionales:
3.2.1. Requerimientos Funcionales
Tabla 7
Requerimiento funcional
RI-001 Un usuario puede ser de un solo tipo.
Un usuario debe poder crear una cuenta e iniciar sesión con su nombre
RI-002
usuario y contraseña.
Un usuario con sesión iniciada podrá acceder a la información completa
RI-003
de la guía.
Un usuario con sesión iniciada podrá escribir un comentario sobre el
RI-004
contenido de la guía.
Un usuario con sesión iniciada podrá valorar mediante un puntaje el
RI-005
contenido de la guía.
Un usuario con sesión iniciada podrá publicar un comentario sobre la
RI-006
guía en las redes sociales.
Un usuario podrá navegar mediante un mapa la ubicación de los destinos
RI-007
turísticos.
La información deberá estar ordenada jerárquicamente para la facilidad
RI-008
de exploración.
97
3.2.2. Requerimientos no Funcionales
Tabla 8
Requerimiento no funcional
En esta parte se define los atributos de calidad que debe tener la aplicación.
RNF-001 Accesibilidad al sistema: Este o no el dispositivo móvil conectado a una
red de internet.
RNF-002 Portabilidad del sistema: Soportar plataformas móviles Android, iOS y
Windows.
RNF-003 Interfaz de usuario amigable: El uso del aplicativo debe ser intuitivo y la
curva de aprendizaje de uso mínima.
RNF-004 Información confiable: La información que se brinde a través del
aplicativo debe ser correcta.
RNF-005 Escalabilidad del sistema: Permitir que el número de usuarios y cantidad
de información sea escalable.
RNF-006 Flexibilidad del sistema y recuperación ante fallos, ya sean de
conectividad o de energía.
3.3. Diagrama de Casos de Uso
Figura 29: Diagrama de casos de uso.
Fuente: Elaboración propia
98
3.4. Especificación de Casos de Uso
3.4.1. Caso de Uso Registrar Usuario.
Tabla 9
Caso de uso registrar usuario
Nombre Registrar usuario
Descripción El usuario ingresa sus datos para poder registrarse en la
aplicación, esto permitirá que pueda acceder a las
características completas de la aplicación.
Requisitos asociados RN-001
Pre-condición El registro de usuario se realiza mediante el sistema de
autentificación de Facebook.
Participantes El actor usuario y el actor servidor
Secuencia normal 1. El usuario ingresa la información necesaria para el registro.
2. El sistema verifica que los datos ingresados no corresponde
a un usuario ya registrado.
3. Se almacena los datos del usuario en la base dataos en la
nube.
4. El sistema navega hacia la vista principal.
Secuencia alternativa No Existe
Post- condición El usuario está registrado en la aplicación
Excepciones 1. Si el usuario no ingresa toda la información necesaria para
el registro, el sistema notificara al usuario el error en esta
acción.
2. Si el usuario intenta registrarse con información no válida
para el registro.
Importancia Vital
Comentarios La navegación a la vista de registro se realiza desde la vista
inicio de sesión mediante los servicios de autentificación de
Facebook.
99
3.4.2. Caso de Uso Iniciar Sesión
Tabla 10
Caso de uso iniciar sesión
Nombre Iniciar sesión
Descripción El usuario ingresa los datos necesarios para poder iniciar
sesión en el sistema.
Requisitos asociados RN-001, RN-002
Pre-condición El inicio de sesión se realiza mediante el sistema de
autentificación de Facebook.
Participantes El actor usuario.
Secuencia normal 1. El usuario ingresa su ID y contraseña
2. El usuario presiona el botón de acceso.
3. El sistema de autentificación verifica y valida los datos
ingresados.
4. El sistema navega hacia la vista principal
Secuencia alternativa No existe
Post- condición El usuario esta con sesión iniciada y se encuentra en la vista
principal
Excepciones Si los datos son incorrectos no se iniciara sesión.
Importancia Vital
Comentarios Si el usuario se encuentra registrado en el sistema, no se
guardara en la base datos los nuevos datos obtenidos.
100
3.4.3. Caso de Uso Seleccionar Destino
Tabla 11
Caso de uso seleccionar destino
Nombre Seleccionar destino
Descripción El usuario selecciona el destino el cual desea explorar
Requisitos asociados RN-001, RN-002, RN-004
Pre-condición El usuario debe encontrarse en la vista principal
Participantes El actor usuario
Secuencia normal 1. El usuario realiza la búsqueda del destino que quiere
explorar.
2. El usuario presiona sobre el destino que quiere explorar.
3. El sistema navega hacia la vista general del destino
seleccionado.
Secuencia alternativa 1. El usuario navega hacia la vista general de destino
escogiendo cualquier opción.
2. En la vista general de destino el usuario interactúa con
la vista principal hasta llegar a la vista del destino que
desea ver.
Post- condición El usuario se encuentra en la vista general de destino que
seleccionó.
Excepciones Una vista del sistema no cargo completamente por temas
de capacidad de hardware.
Importancia Media
Comentarios Luego de tener un registro usuario valido este deberá
iniciar sesión en el aplicativo, para acceder a toda la
funcionalidad del aplicativo móvil.
101
3.4.4. Caso de Uso Escribir Comentario.
Tabla 12
Caso de uso escribir comentario
Nombre Escribir comentario
Descripción El usuario tendrá la posibilidad de interactuar con el
sistema haciendo comentarios en la vista que se encuentre.
Requisitos asociados RN-004, RN-005
Pre-condición El usuario debe encontrarse en la vista de lectura
Participantes El actor usuario
Secuencia normal 1. El usuario presiona el botón de comentario.
2. El sistema desglosa la barra de comentarios.
3. El usuario escribe su comentario.
4. El usuario presiona el botón publicar comentario.
5. El sistema publica el comentario acompañado de la
imagen en la vista que se encuentra.
Secuencia alternativa No existe.
Post- condición El comentario se encuentra publicado en las redes sociales,
y almacenado en la base de datos.
Excepciones Un error en la conexión de internet puede ocasionar que el
comentario no sea publicado
Importancia Media
Comentarios Además de publicar un comentario, usuario recibirá en
tiempo real notificaciones de los comentarios realizados
por otros usuarios, siempre y cuando el dispositivo móvil
se encuentre conectado a una red de internet.
102
3.4.5. Caso de Uso Valorar Destino Turístico.
Tabla 13
Caso de uso valorar destino turístico
Nombre Valorar destino turístico
Descripción El usuario dará una valoración al destino turístico en la
aplicación.
Requisitos asociados RN-006
Pre-condición El usuario debe encontrarse en la vista principal de destino.
Participantes El actor usuario
Secuencia normal 1. El usuario selecciona la valoración que le dará al destino
en la aplicación.
2. El aplicativo registra la valoración que selecciona el
usuario.
3. El aplicativo calcula el promedio de la aplicación en su
base datos.
Secuencia alternativa No existe.
Post- condición La valoración del usuario estará registrada en la base de
datos.
Excepciones Un error en la conexión de internet puede ocasionar que no
se registre la valoración dada por el usuario.
Importancia Media
Comentarios Esta funcionalidad estará disponible solo en cada una de las
vistas correspondientes a un destino determinado.
103
3.4.6. Caso de Uso Notificar Nuevo Comentario
Tabla 14
Caso de uso notificar nuevo comentario
Nombre: Notificar nuevo comentario
Descripción El usuario recibe las notificaciones de los comentarios
realizados por otros usuarios.
Requisitos asociados RN-006, RN-008
Pre-condición El usuario debe encontrarse con sesión iniciada en el
sistema.
Participantes El actor servidor
Secuencia normal 1. El servidor recibe un nuevo comentario en la base de
datos.
2. El servidor envía una notificación de tipo Push a los
usuarios que tengan la aplicación activa.
Secuencia alternativa No existe.
Post- condición El usuario recibirá las notificaciones de actualización de
comentarios.
Excepciones Si el usuario no se encuentra conectado a internet, no
recibirá la notificación en tiempo real.
Importancia Media
Comentarios Las notificaciones son enviadas a todos los despóticos, la
forma de visualización o no de los mismos dependerá de la
configuración que realice cada usuario en su dispositivo.
104
3.5. Diagrama de Clases
Figura 30: Diagrama de clases
Fuente: Elaboración propia.
106
3.4.7. Caso de Uso Ir a la Vista de Lectura
Tabla 15
Caso de uso ir a la vista de lectura
Nombre Ir a la vista de lectura
Descripción El usuario ingresa a la vista de lectura.
Requisitos asociados RN-007, RN-008
Pre-condición El usuario debe encontrarse en la vista general de destino
Participantes El actor usuario
Secuencia normal 1. El usuario selecciona la miniatura de la página que
desea leer e interactúa mediante un gesto, el cual puede
ser un gesto Tap o un gesto Pinch.
2. El sistema mostrara la vista de lectura.
Secuencia alternativa No existe.
Post- condición El usuario se encontrara en la vista de lectura
Excepciones Problemas con el hardware grafico del dispositivo móvil.
Importancia Media
Comentarios El idioma disponible para la lectura es el español.
105
3.6. Wireframes
A continuación se muestra los wireframes que son la base del aplicativo móvil,
esto es tomado como referencia al momento de implementar las vistas, las cuales tienen
un acabado final mucho más complejo y vistoso, ya que esta representación es muy
limitada en cuanto a temas de diseño. Como se observa a continuación el diseño para
tabletas es funcionalmente diferente al que está orientado a teléfonos inteligentes.
Figura 31: Wireframe de la vista principal
Fuente: Elaboración propia
107
Figura 32: Wireframe de la vista de comentarios
Fuente: Elaboración propia
Figura 33: Wireframe de la vista de mapas
Fuente: Elaboración propia
108
Figura 34: Wireframe de la vista principal de comentarios
Fuente: Elaboración propia
Figura 35: Wireframe de la vista de lectura
Fuente: Elaboración propia
109
Figura 36: Equivalentes para telefonos
Fuente: Elaboración propia
3.7. Arquitectura
La aplicación a desarrollar tiene una arquitectura basada en niveles, se va a emplear
el patrón Model View ViewModel (MVVM), consta de tres partes. La razón más
importante por la cual se utilizará el patrón MVVM es por la infraestructura de enlace de
datos (Data Binding). Al enlazar los datos de una vista al modelo de vista, se consigue
bajo acoplamiento de ambas capas, lo cual permite actualizar o dar mantenimiento a las
diferentes capas de la arquitectura sin que afecte los cambios individuales por cada
nivel; haciendo que la factibilidad de características importantes como mantenibilidad,
extensibilidad y capacidad de prueba sean mayores frente a otras arquitecturas similares.
3.7.1. Aplicación del Patrón de Diseño MVVM
a. Modelo
El modelo representa los datos o información con la que trabajamos y por eso suele
llamársele el objeto del dominio. Un ejemplo de modelo puede ser un contacto (con su
nombre, número de teléfono, dirección y demás) o la descripción de un punto de
publicación para un medio audiovisual transmitido en vivo.
110
La capa de modelo incluye todo el código que implementa la lógica principal de la
aplicación y define los tipos requeridos para modelar el dominio de la aplicación. Esta
capa es completamente independiente de las capas de vista y modelo de vista.
La clave para recordar el modelo es que contiene la información, pero no las
acciones o servicios que la manipulan. No es responsable de darle forma para que se vea
bien en la pantalla, o de obtener una lista de elementos de un servidor remoto (de hecho,
en tal lista cada elemento sería a su vez un modelo). La lógica de la aplicación o “reglas
empresariales” son generalmente mantenidas en clases separadas del modelo y actúan
en él. Aunque no siempre es cierto, a veces el modelo puede validar la información.
b. Vista
La capa de vista define la interfaz de usuario que utiliza marcado declarativo. El
marcado de enlace de datos define la conexión entre componentes específicos de la
interfaz de usuario y diversos miembros de modelo de vista (y, en ocasiones, de
modelo).
En el patrón MVVM la vista es activa. A diferencia de una vista pasiva sin
conocimiento del modelo, y bajo el manejo total de un controlador o presentador, la
vista en MVVM contiene comportamientos, eventos y enlaces a datos que, hasta cierto
punto, necesitan saber sobre el modelo subyacente y el modelo de vista. Aunque tales
eventos y comportamientos son asociados a propiedades, métodos y comandos, la vista
es aún responsable de manejar sus propios eventos y no pasa esta tarea al modelo de
vista.
111
c. Modelo de Vista
La capa de modelo de vista proporciona destinos de enlace de datos para la vista. En
muchos casos, el modelo de vista expone el modelo directamente o proporciona miembros
que encapsulan miembros de modelo específicos. El modelo de vista también puede definir
miembros para realizar un seguimiento de los datos que son relevantes para la interfaz de
usuario pero no para el modelo, como el orden de visualización de una lista de elementos.
El modelo de vista también hace disponibles métodos, comandos y otros puntos de
acceso que ayudan a mantener el estado de la vista, manipular el modelo en respuesta a
acciones de la vista y disparar eventos en la misma.
Figura 37: Arquitectura del patrón Model View ViewModel
Fuente: Marin (2012)
3.7.2. Estrategia de Organización del Proyecto
a. Librerías de clase portables o PCL
Las librerías de clase portables o PCL, han estado disponibles desde la versión
.NET 4.0 y ahora han sido adoptadas por Xamarin para su aplicación a desarrollo de
aplicaciones móviles multiplataforma. Se pueden utilizar para crear librerías dinámicas
112
portables que se pueden utilizar en varias plataformas, incluyendo Windows 8.1,
Windows Phone 8.1, iOS y Android.
En el patrón MVVM la capa de Modelo y el Modelo de Vista son completamente
desconocidas para la capa de Vista (interfaz de usuario). No entienden nada de la vista,
así como para el control que está utilizando la vista o lo cual es la naturaleza de la vista
y así sucesivamente. Aquí la vista sólo entiende el Miembro Vista-Modelo a través del
Contexto de datos de las propiedades de dependencia.
Cuando se crea un proyecto de aplicación "regular" o un Proyecto de Biblioteca, el
archivo DLL como resultado se limita a trabajar en la plataforma específica que se crea
para. Esto le impide escribir una asamblea para una aplicación de Windows Phone, y
luego volver a usarlo en [Link] y [Link].
Al crear una biblioteca de clases portable, sin embargo, se puede elegir una
combinación de plataformas que desea que su código se ejecute. En las opciones de
compatibilidad que realice al crear una biblioteca de clases portable se traducen en
un identificador de "Perfil", que describe que las plataformas de los soportes de la
biblioteca.
3.7.3. Ventajas y Desventajas de Utilizar una Librería de Clases Portable
a. Ventajas
- Intercambio centralizado de código - de escritura y código de prueba en un solo
proyecto que puede ser consumido por otras bibliotecas o aplicaciones.
113
- Operaciones de refactorización afectarán a todo el código cargado en la solución (la
biblioteca de clases portátiles y los proyectos específicos de cada plataforma).
- El proyecto PCL puede ser sencillo para los otros proyectos en una solución, o el
conjunto de salida puede ser compartida por los demás para hacer referencia en sus
soluciones.
b. Desventajas
- Debido a que la misma biblioteca de clases portable es compartida entre múltiples
aplicaciones, bibliotecas específicas de la plataforma no se puede hacer referencia a
algunos tipos de datos.
- El subconjunto de biblioteca de clases portable no puede incluir las clases que de
otro modo estar disponibles tanto en MonoTouch y Mono para Android .
3.7.4. Proyecto Compartido
A diferencia de la mayoría de otros tipos de proyectos de un proyecto
compartido no tiene ninguna salida (en forma de DLL), en lugar del código se
compila en cada proyecto que hace referencia a ella. Esto se ilustra en el siguiente
diagrama - conceptualmente todo el contenido del Proyecto Común al cual se hace
referencia cada proyecto referencias y compilados como si fuera una parte de ellos,
de tal forma que la estructura de la aplicación queda como se muestra a
continuación.
114
Figura 38:Proyecto compartido
Fuente: Elaboración propia
El código en un proyecto compartido puede contener directivas de compilación que
activar o desactivar las secciones de código dependiendo de qué proyecto de aplicación está
utilizando el código, que es sugerido por las cajas de plataforma de color en el diagrama.
Un proyecto compartido no consigue compila por sí mismo, que existe sólo como
un conjunto de archivos de código fuente que se puede incluir en otros proyectos.
Cuando se hace referencia por otro proyecto, el código se compila de manera efectiva
como parte de ese proyecto. Proyectos compartidos no puede hacer referencia a
cualquier otro tipo de proyecto (incluyendo otros proyectos compartidos).
3.7.5. Enlace de Datos entre Capas
El enlace de datos juega un papel muy importante en el patrón MVVM. Su
ViewModel (Modelo de Vista) y las clases de la capa de Modelo deben ser diseñados
para apoyar el enlace de datos. Normalmente, esto significa que deben implementar las
interfaces de comunicación.
115
En efecto, el patrón MVVM gira en torno al concepto del enlace de datos, o Data
Binding por su nombre en inglés. El enlace de datos es una conexión entre la interfaz de
usuario y un objeto de datos que permite que los datos fluyan entre ellos. Cuando se
establece un enlace y los datos cambian, los elementos de la interfaz de usuario
enlazados a los datos pueden mostrar los cambios automáticamente. De manera similar,
los cambios que realiza el usuario en un elemento de la interfaz de usuario se pueden
guardar en el objeto de datos.
Se puede hablar largo y tendido del concepto de Data Binding, pero de momento
solamente intentaremos resumir brevemente la idea que nos permita poder seguir el hilo
de explicación del patrón MVVM, a continuación mostramos como es que se realiza el
enlace de datos en cada una de las plataformas:
Figura 39: Código base para los enlaces de datos
Fuente: Elaboración propia
116
Todos los enlaces incluyen lo siguiente:
- Un origen de enlace, que es un objeto con los datos que se desean representar.
- Un destino de enlace, que es una propiedad del elemento de la UI que usamos para
representar los datos.
- Un objeto Binding, que mueve los datos entre el origen y el destino y que puede
cambiar su formato a través de un convertidor de valores opcional.
Los enlaces pueden tener varias direcciones:
- Los enlaces OneTime actualizan el destino con los datos del origen cuando se crea
el enlace.
- Los enlaces OneWay actualizan el destino con los datos de origen cuando se crea el
enlace y cada vez que cambian los datos. Este es el modo predeterminado.
- Los enlaces TwoWay actualizan tanto el destino como el origen cuando alguno de
ellos cambia.
3.7.6. Interfaces Importantes
A continuación describimos las interfaces de comunicación entre las capas del patrón
MVVM, las cuales juegan un papel muy importante en el comportamiento del mismo.
- Interface InotifyPropertyChanged
La principal característica de esta interface es notificar el cambio de estado de una
propiedad del lado del Modelo y/o Modelo de Vista Hacia una capa superior.
Implementar la interfaz INotifyPropertyChanged permite proporcionar notificaciones de
117
cambio a todos los controles enlazados a datos en la capa de Vista cuando haya cambios
en el valor de la propiedad.
Figura 40: Código de interface namespace
Fuente: Elaboración propia
- Interface Inotify Collection Changed
Al igual que la interface Inotify Property Changed notifica cambios en los estados de las
propiedades, en este caso colecciones de objetos. Los datos en el Modelo de vista representan
una colección de objetos que van a ser representados visualmente en la capa de vista.
- ICommand
Esta interface brinda la posibilidad de comunicación a través de Comandos, los
cuales proporcionan una manera conveniente de representar acciones u operaciones que
pueden ser fácilmente unidos a los controles en la interfaz de usuario.
Figura 41:codigo de interface namespace
Fuente: Elaboración propia
118
3.7.7. Definición de la Arquitectura
El aplicativo se basa en una arquitectura simple, se puede mantener esta capa de
acceso a datos utilizando Windows Azure, de esta forma el consumo de servicios y la
comunicación en cada plataforma es indiferente y sencilla como se puede observar en la
siguiente figura.
Figura 42: Arquitectura propuesta para la aplicación Móvil multiplaforma
Fuente: Elaboración propia
119
Un punto clave de la creación de aplicaciones multiplataforma es crear una
arquitectura que se presta a un uso compartido máximo de código a través de
plataformas. La adhesión a los siguientes principios de programación orientada a
objetos ayuda a construir una aplicación con arquitectura multiplataforma:
Encapsulación: Asegurar que las clases e incluso capas de arquitectura sólo
exponen una API mínima que realiza sus funciones requeridas, y oculta los detalles de
implementación. A nivel de clase, esto significa que los objetos se comportan como
Cajas Negras y que el consumo de código no necesita saber cómo lograr sus tareas. A
nivel arquitectónico, que significa la implementación de patrones como de fachadas que
fomenten una API simplificada que orquesta más interacciones complejas en nombre
del código en capas más abstractas. Esto significa que el código de la interfaz de usuario
sólo debe ser responsable de mostrar pantallas y aceptar la entrada de usuario; y nunca
interactuar con la base de datos directamente. Del mismo modo el código de acceso a
datos sólo debe leer y escribir en la base de datos, pero nunca de interactuar
directamente con los botones o etiquetas.
Separación de Responsabilidades: Asegúrese de que cada componente (tanto a nivel
arquitectónico y de clase) tiene un propósito claro y bien definido. Cada componente
debe realizar sólo las tareas definidas y exponer esa funcionalidad a través de una API
que es accesible a las otras clases que necesitan para utilizarlo.
Polimorfismo: Programación de una interfaz (o clase abstracta) que soporta
múltiples implementaciones, significa que el código del núcleo puede ser escrito y
compartido a través de plataformas, al tiempo que interactúan con las características
específicas de la plataforma.
120
3.7.8. Capas de la Aplicación
A lo largo de este documento y los estudios de caso nos referimos a los siguientes
seis capas de aplicación:
Capa de datos: la persistencia de datos no volátil, es probable que sea una base de
datos SQLite, pero podría ser implementado con archivos XML o cualquier otro
mecanismo adecuado.
Capa de Acceso a Datos: Envoltura alrededor de la capa de datos que ofrece crear,
leer, actualizar, eliminar (CRUD) el acceso a los datos sin exponer a los detalles de
implementación de la persona que llama. Por ejemplo, el DAL puede contener
sentencias SQL para consultar o actualizar los datos, pero el código de referencia no
tendría que saber esto.
Capa de Negocios: A veces llamada la capa de lógica de negocios, contiene
definiciones de entidades de negocios (el modelo de datos) y la lógica de negocio.
Candidato para el patrón de negocios de fachada.
Capa de Acceso a servicios: Se utiliza para acceder a los servicios en la nube, desde
servicios web complejos (REST, JSON, WCF) a la simple recuperación de los datos e
imágenes de los servidores remotos. Encapsula el comportamiento de redes y
proporciona una API simple para ser consumido por las capas de aplicación y la interfaz
de usuario.
Capa de aplicación: Código que es normalmente específica de la plataforma (no se
comparte en general en todas las plataformas) o código que es específico de la
aplicación (por lo general no reutilizable). Una buena prueba de si se debe colocar el
121
código en la capa de aplicación en comparación con la capa de interfaz de usuario es (a)
para determinar si la clase tiene ningún tipo de control de visualizaciones reales o (b) si
se puede compartir entre múltiples pantallas o dispositivos (por ejemplo. El iPhone y el
iPad).
Interfaz de usuario (UI) Capa - La capa de usuario, e-contiene pantallas, widgets y
los controladores que los gestionan.
122
CAPÍTULO IV: PRUEBAS Y RESULTADOS
La aplicación de promoción del destino turístico Arequipa para dispositivos
móviles, hace uso de la interactividad y multifuncionalidad que estos dispositivos nos
permiten. A través de contenido escrito, gráfico y audiovisual, presentamos el centro
histórico de Arequipa y sus principales empresas turísticas. La revolución que están
produciendo estos dispositivos los hace de uso global permitiéndonos llegar a todo el
mundo. Estamos interesados en más turistas para nuestros destinos y en más turistas
para la empresa y los emprendimientos en turismo.
4.1. Capturas de Pantalla de la Aplicación
4.1.1. Registro e Inicio de Sesión
A continuación mostramos el proceso de registro en inicio de sesión, el cual es
realizado utilizando el sistema de autenticación de la red social Facebook, esto a su vez
permite compartir nuestros comentarios, sobre el aplicativo y el destino turístico que es
objeto de este trabajo. El proceso visual de registro e inicio de sesión es el mismo, ya
que para poder registrarse el usuario deberá contar con una cuenta en la red social
Facebook, que es de donde se extraerán los datos la primera vez que inicie sesión,
posteriormente el proceso ya no será necesario ya que los datos de usuario se guardan y
el inicio de sesión será automático.
123
Figura 43:Vista de login y registro
Fuente: Elaboración propia
Figura 44(a): Inicio de sesión y registro
Fuente: Elaboración propia
124
En la siguiente vista se muestra el proceso de registro del dispositivo móvil en el
servidor en la nube, esto es para el envió de las notificaciones Push, este proceso se
realiza la primera vez que inicia el aplicativo luego de ser instalado.
Figura 44(b): Inicio de sesión y registro
Fuente: Elaboración propia
Figura 45: Login y registro con Facebook en teléfonos inteligentes
Fuente: Elaboración propia
125
4.1.2. Escribir un Comentario
A continuación mostramos el proceso de postear un comentario, como se observa
la caja de comentarios es una lista delegable para que no interfiera con el uso interactivo
del aplicativo, permitiéndole al usuario un uso adecuado del aplicativo.
Figura 46: Vista multimedia principal
Fuente: Elaboración propia
126
4.2. Usabilidad e Interactividad del Aplicativo
La aplicación tiene contenido que apunta a generar el interés por el destino
Arequipa, los conceptos de promoción son novedosos como lo son sus mapas y
fotografías y videos que buscan fijar experiencias. Combinando lo tradicional con la
avanzada tecnología, esta App, es capaz de ofrecer una experiencia totalmente nueva en
la presentación de contenidos digitales, más rico que un libro tradicional y un nivel de
animación e interacción similar al de una película o un video juego. La aplicación reúne
el resultado de la investigación en tecnología innovadora para las ilustraciones,
animaciones y una interfaz de usuario multi-tactil.
Figura 47: Usabilidad e interactividad del aplicativo
Fuente: Elaboración propia
127
Figura 48: Funcionalidad de la interactividad
de la aplicación.
Fuente: Elaboración propia
Figura 49: Funcionalidad de la interactividad de la aplicación.
Fuente: Elaboración propia
128
4.3. El Contenido del Aplicativo
Esta aplicación cambia la forma en que se conoce la cultura y los recursos turísticos
del Centro Histórico de Arequipa, pues presenta un diseño de interfaz de usuario único
que le permite una navegación rápida a través del contenido. Así, podrá navegar a través
de los diferentes temas deslizándose a través de una tabla de contenidos visual o navegar a
través de un capítulo por medio de las páginas. Para empezar a leer, puede usar los dedos
para que aparezcan los contenidos. Para volver a la tabla de contenidos solo.
Figura 50: Vista de Contenido informativo brindado por el aplicativo
Fuente: Elaboración propia
Figura 51: Vista de Mapa del Centro Histórico
Fuente: Elaboración propia
129
Figura 52: Vista de Contenido informativo
brindado por el aplicativo
Fuente: Elaboración propia
4.4. Análisis de los Resultados
Se tuvo la participación de 2 especialistas en el área de desarrollo de aplicaciones
móviles, docentes de la Maestría en Informática de la Universidad Nacional de San
Agustín, Auspiciada por el Concytec, y 28 alumnos del curso de Desarrollo de Móvil
que se dicta en la Maestría, dando un total de 30 encuestados, los cuales contestaron una
encuesta de manera electrónica, la cual cuenta con preguntas de opción múltiple con
escala del 1 al 5, donde 1 es el indicador más bajo y 5 es indicador más alto, estos datos
se representan en gráficas de barras con su respectivo análisis donde se interpretan los
resultados de cada pregunta realizada a los encuestados. La conclusión es un juicio
130
razonado, basado en la síntesis de los resultados, sustentado por el análisis de los datos
y las definiciones sobre las cuales se trabajó durante el desarrollo de esta tesis.
A continuación mostramos los resultados de las encuestas realizadas y las
conclusiones que se obtienen a partir de los mismos, tomando como punto de referencia
lo desarrollado en los capítulos anteriores.
¿La aplicación móvil multiplataforma cumple con lo propuesto, para promocionar
un destino turístico?
Figura 53: ¿La aplicación móvil multiplataforma cumple con lo propuesto, para
promocionar un destino turístico?
Fuente: Elaboración propia
Como se observa en los resultados de la encuesta la apreciación de los encuestados
no indica que el aplicativo cumple con los objetivos para el cual fue diseñado, desde
este punto de vista podemos afirmar que se tuvo buen número de aciertos con lo
planteado en los objetivos.
131
¿Cómo evalúa el diseño de interfaz de usuario de la aplicación?
Figura 54: ¿Cómo evalúa el diseño de interfaz de usuario de la aplicación?
Fuente: Elaboración propia
¿Cómo evalúa el desempeño de la aplicación en un dispositivo real?
Figura 55: ¿Cómo evalúa el desempeño de la aplicación en un dispositivo real?
Fuente: Elaboración propia
132
A diferencia de pruebas hechas en los simuladores respectivos de cada plataforma,
en cuyo caso el desempeño del aplicativo depende de las características de la
computadora en que corre el simulador; las pruebas en dispositivos reales, es primordial
para evaluar el desempeño del aplicativo en un ambiente real. Tal y como muestran los
resultados, por lo general el desempeño es bueno, y los picos bajos pueden justificarse
en la capacidad de hardware de los dispositivos o las versiones de los sistemas
operativos instalados.
¿Cómo evalúa la usabilidad de la aplicación en una tableta?
Figura 56: ¿Cómo evalúa la usabilidad de la aplicación en una tableta?
Fuente: Elaboración propia
En este caso los resultados nos permiten verificar la usabilidad del aplicativo en una
tableta, obteniendo resultados buenos en cuanto a la usabilidad.
133
¿Cómo evalúa la usabilidad de la aplicación en un teléfono inteligente?
Figura 57: ¿Cómo evalúa la usabilidad de la aplicación en un teléfono inteligente?
Fuente: Elaboración propia
Como se observa los resultados a cerca de la usabilidad en teléfonos inteligentes en
aun mejor que la de tabletas, esto nos da indicios sobre las diferencias entre una
aplicación diseñada para tabletas y teléfonos inteligentes. Los diseños deben permitir
que la aplicación brinde los mismos servicios con usabilidad similar, aunque no igual.
134
¿Usarías la aplicación en tus viajes? Evalúa el tema de portabilidad multiplataforma
y multi-resolución.
Figura 58: ¿Usarías la aplicación en tus viajes?
Fuente: Elaboración propia
El tema de cuantos usuarios van utilizar la aplicación durante los viaje tiene que ver
con tipo de dispositivo, ya sea un tableta o un teléfono inteligente, tal y como ya se
mencionó la cantidad de información mostrada, la facilidad de uso y todas las
características propias de una aplicación nativa.
4.4.1. Rendimiento
En esta prueba se estudió el tiempo en que carga la aplicación y el tiempo de carga
de datos, esto es, cuánto tarda en realizar el análisis de XML e interpretarlo. Se observó
que en la primera que se abría la aplicación, inmediatamente después de instalar, el
tiempo de espera fue mayor, mientras que las siguientes ocasiones la carga se realizaba
en un tiempo mínimo. Se consideró que el rendimiento de la aplicación era el óptimo.
135
4.4.2. Puntos Crash
En esta prueba se navegó por la aplicación, realizando un completo uso de todas las
características de las mismas para detectar algún fallo o punto en que el proceso se
detuviera, sin embargo el resultado fue favorable, debido a que no ocurrió algún error.
4.4.3. Conectividad
Debido a que la aplicación funciona utilizando tecnología WiFi o 3G, fue necesario
realizar una prueba de conectividad; se observó que la carga de datos era interrumpida
en el momento en que la conexión se perdía, por lo cual se optó por lanzar un cuadro de
diálogo para advertir al usuario sobre la falta de Internet.
136
CONCLUSIONES
1. Se ha desarrollado un aplicativo móvil multiplataforma, bajo el Framework de
desarrollo Xamarin y se utilizó la plataforma Windows Azure para los servicios
móviles en la nube. Asimismo se obtuvo prototipos para tabletas y teléfonos
inteligentes, con el objetivo de cubrir de forma adecuada las diferentes plataformas
y tipos de dispositivos móviles. Se logró una versión para el sistema operativo IOs
en su versión 8.1; por la otra parte, para tabletas se consiguió una versión para
Android en su versión 4.2 y para Windows en su versión 8.1.
2. Se introdujo de manera práctica al patrón de diseño MVVM como se observa en la
parte de desarrollo de esta tesis, cumpliendo con el objetivo de aplicar este patrón al
desarrollo de una aplicación móvil multiplataforma. Al ser posible separar la lógica
de negocio y el modelo de datos de las particularidades de la vista, se desarrolló un
ViewModel lo suficientemente desacoplado de tal forma que se reutilizó el código
del Backend y la lógica de negocio, para las diferentes plataformas.
3. Se analizó la comunicación entre la capa de Modelo de Vista y la capa de Vista,
esto gracias a la implementación de la interfaz INotifyPropertyChanged que por
medio de notificaciones se concreta la comunicación entre las dos capas.
4. Se comprobó la importancia del uso de la computación en la nube (Cloud
Computing) para el aprovechamiento de servicios móviles ofrecidos por la nube,
en el presente trabajo, Microsoft Windows Azure, ayuda con buenas prácticas a
utilizar los diferentes servicios y soluciones que este servicio nos presenta, como es
el caso de notificaciones Push, almacenamiento en la nube y escalabilidad de base
de datos.
137
5. La usabilidad del aplicativo móvil está fuertemente influenciada por el contexto de
uso, sobre esto existen aspectos que definen los posibles factores que pueden ser
parte del contexto y que afectan la usabilidad de una aplicación. Para ello se utilizó
una Tablet Ultrabook con Windows 8.1, una tableta con Android 4.2 y un iPhone 5
con sistema iOS 8.1.
6. Con la finalidad de entender cómo el usuario interactúa con el aplicativo y como es
que el aplicativo se comporta y reacciona ante posibles fallos, se analizó tanto las
interacciones directas del usuario con el dispositivo y la aplicación así como el
contexto externo en el cual se utiliza el aplicativo móvil, de esta forma se observa
que el usuario percibe durante su interacción por completo las características del
aplicativo.
7. La mejor forma de obtener resultados sobre realizar pruebas de usabilidad es un
entorno real de uso, debido a los requerimientos y tipo de proyecto. Para este caso
los resultados fueron validados por una cantidad aceptable de usuarios, los cuales
además tienen cierto grado de conocimiento en el área de desarrollo de aplicativos
móviles; los resultados obtenidos fueron muy buenos, con algunas debilidades, las
cuales también fueron analizadas, de tal forma que sirven de retroalimentación para
mejoras y trabajos futuros.
138
RECOMENDACIONES
1. Utilizar adecuadamente las herramientas que aportan las nuevas tecnologías y sí
también se aplican con la mayor eficiencia en la sociedad de la información. Las
cifras mundiales demuestran que el Turismo se produce con mucha mayor
magnitud en los países desarrollados, que en los que están en vías de desarrollo.
2. Las empresas del sector turístico pueden beneficiarse y darle un valor agregado a
sus productos con el uso de las aplicaciones móviles: los “smartphone” permiten la
comunicación directa y personal, en tiempo real, y genera una reacción inmediata
de los usuarios. Además el uso de las plataformas móviles puede ser un soporte
para nuevos productos y servicios basados en las experiencias, las emociones y el
poder compartirlas.
3. A partir de este trabajo, se puede desarrollar otras versiones que vayan de la mano
con la necesidad de los clientes. La interacción online es una oportunidad para
seguir creciendo en este campo del desarrollo de aplicaciones móviles.
4. Se recomienda desarrollar este aplicativo en diferentes idiomas, principalmente en
el idioma francés e inglés, ya que en la estadística mostrada en el desarrollo de este
trabajo, se indica que la mayor cantidad de turistas proviene de Francia.
5. Para incentivar el desarrollo de este tipo de aplicaciones, a nivel regional, se
recomienda que, el gobierno regional de Arequipa promueva el primer concurso
regional de aplicaciones móviles multiplataforma dirigidas al turismo. Con el
objetivo de incrementar la actividad turística en la ciudad de Arequipa.
139
6. La tecnología es una ciencia que avanza a una velocidad impresionante, por tal
motivo, se recomienda que el desarrollo de las nuevas aplicaciones móviles estén a
la vanguardia de los nuevos sistemas operativos que nos presentan las empresas que
se encuentren líderes en ese momento.
140
REFERENCIAS BIBLIOGRÁFICAS
Acord, Christian G.; Murphy, Corey C. (2012) “Cross-platform mobile application
development: a pattern-based approach”. Monterey, California: Naval Postgraduate
School.
Aplicación turística Be your Guide- Toledo recuperado de
[Link]
[Link]
Akkiraju, Rama et al. (2011) “Toward the Development of Cross-Platform Business
Applications via Model-Driven Transformations”. In SERVICES I, pages585–
[Link] Computer Society.
Aklilu Redda, Yonathan. (2012) “Cross platform Mobile Applications Development.
Noruega. Norwegian University of Science and Technology.
Allen, Sarah; Graupera, Vidal; Lundrigan, Lee. (2010) “ProSmart- phone Cross-
Platform Development, Apress”.
Anglin, Todd Anglin. (2013) “The 5 hottest areas for mobile development tools. Guest
Post at Telerik, a developer services company”. June 7, 2013.
Aranaz Tudela, Jaime. (2009) “Desarrollo de aplicaciones para dispositivos móviles
sobre la plataforma android de google”. Madrid, España, Universidad Carlos III de
Madrid.
Baker, J. et al. (2011) "Megastore: Providing Scalable, Highly Available Storage for
Interactive Services”. In Conf. on Innovative Data Systems Research.
141
Bigné, E., Font, X. & Andreu, L. (2000). Marketing de destinos turísticos: Análisis y
estrategias de desarrollo. ISBN 84-7356 –262 -3. ESIC Editorial: Madrid, España.
Bruning, Mathieu. (2012) “Native Cross-platform Mobile Application Development
Using Voind”. Delft, Holanda. Delft University of Technology.
Climent, J. (2003). Diccionario de la lengua española. Madrid, España: Espasa Calpe.
Diep, Chi-Kien; Tran, Quynh-Nhu; Tran, Minh-Triet. (2013) “Online Model-driven IDE
to Design GUIs For Cross-platform Mobile Application. Advanced Program in Computer
Science, University of Science”. Vietnam National University - Ho Chi Minh City.
Dimmick, John W., Sikand, Jaspreet y Patterson, Scott J. (1994): “The Gratifications of
the Household Telephone: Sociability, Instrumentality and Ressurance”, en
Communication Research, 21(5):643-663.
EUROPAPRESS, JULIO 2014. DE 125 'APPS' CANDIDATAS Fitur.- Seis
aplicaciones turísticas premiadas en el concurso 'The AppTourism Awards 2014'.
Recuperado de [Link]
aplicaciones-turisticas-premiadas-concurso-the-apptourism-awards-2014-
[Link]
Fernández, J. M. (2006). Tipos de dispositivos móviles. Consultado en octubre 11, 2011
en [Link]
Fidler, R., (1997): Mediamorphosis: Understanding New Media. Thousand Oaks (CA),
Pine Forge Press.
142
Fombona, J. & Pascual, M. & Madeira, M. (2012). Realidad aumentada, una evolución
de las aplicaciones de los dispositivos móviles. ISSN: 1133-8482. N° 41 Julio 2012 –
pp.197-210. Pixel – Bit. Revista de medios y educación.
Glera Aransay, Cristina. (2013) Desarrollo de una guía para dispositivos móviles de
establecimientos para celíacos en Logroño”. España: Escuela Técnica Superior de
Ingenieros Industriales y de Telecomunicación.
Gómez Orts, Francisco Javier. (2013) “Metodología para implementar en la nube
Aplicaciones Web basadas en Java”. Valencia, Espana. Universidad Politécnica de
Valencia.
Greenberg, Albert et al. (2012), "VL2: A Scalable and Flexible Data Center Network”.
Communications of the ACM, vol. 54, no. 3, pp. 95-104.
Harriger, A.; Lutes, K.; Purdum, J. (2007) “Designing Curricula to Teach Concepts and
Increase Em- ployability”. Proceedings of American Society for Engineering Education,
2007.
Huang, Kuo-Ying. (2010) “Challenges in Human-Computer Interaction Design for
Mobile Devices”. WCECS 2009, pp. 236 – 241.
Icharts. (2012) “ComScore Reveals the Top Smartphone Platform Share”. Retrieved
March 19, 2012, from: [Link]
reveals-top-smartphone-platform-share
143
IDC. (2012) “IDC: Android, Windows Phone to lead smartphone market in 2015”.
Retrieved March 19th, 2012 from: [Link]
android-windows-phone-lead-smartphone- market-2015/2011-06-10
Jiménez, L & Jiménez, W. (2013). TURISMO: Tendencias globales y planificación
estratégica. 1Ed.- Bogotá, Colombia: Ecoe Ediciones.
Marin, Cristian-Stefan. (2012) “Microsoft Windows Azure cloud application
development and security concepts”. Tornio, Finlandia. Kemi-Tornio University of
Applied Science.
Martínez González, Felipe Luis. (2011) “Aplicaciones para Dispositivos Móviles”.
Valencia, España. Universidad Politécnica de Valencia.
McWherter, Jeff; Gowell, Scott (2012) “Professional Mobile Application
Development”. John Wiley & Sons, Inc. 2012.
Mochón, F (2004). La economía y el turismo. Buenos Aires, Argentina: Ed. Mc Graw-
Hill
Organización Mundial del Turismo. (2005-2007). Entender el turismo: Glosario Básico.
Retrieved from Organizacion Mundial del Turismo OMT: Valls, J-F (2007). Gestión de
destinos turísticos sostenibles. Córdoba: I Congreso Nacional de Planificación,
Dinamización y Calidad en Destinos Turísticos. Diputación Provincial de Córdoba,
Colombia.
144
Peppers, Jonathan. (2014) “Xamarin cross-platform Application Development -
Develop production-ready applications for iOS and Android using Xamarin”
Birmingham – Mumbai: Packt Publishing.
PERUNATURAL, Recuperado de
[Link]
Ramadath, Srinivas; Collins, Maurice. (2012) “Mobile Application Development:
Challenges and Best Practices. Accenture white paper, 2012”.
Saks, Mattias. (2012) “Cross-Platform Interaction Design”. Estonia, Tallinn. University
Institute of Informatics.
Scott Densmore, Alex Homer, Masashi Narumoto, John Sharp, y Hanz. (Zhang. (2013)
Building Hybrid Applications in the cloud on Windows Azure. EEUU: Microsoft
SEGITUR (2014). Concurso The AppTourism Awards 2014. Recuperado de
[Link]
Awards-2014#.U7iS8pR5OSp
Singh, Inderjeet; Cicchetti, Antonio. (2012) “Comparison of Cross-Platform Mobile
Development Tools”. 16th International Conference on Intelligence in Next Generation
Networks.
Sommer, Andreas. (2012) “Comparison and evaluation of cross-platform frameworks
for the development of mobile business applications”. Munich: Technische Universität
München.
145
Souza, A. (2006): “Re-Conceptualizong the Mobile Phone – From Telephone to
Collective Interfaces”, en Australian Journal of Emerging Technologies and Society,
Vol 4 (2), 2006: 108-127.
Springer, Thomas. (2013) “Application Development for Mobile and Ubiquitous
Computing”. Sajonia, Alemania. Technische Universität Dresden Chair of Computer
Networks.
Valls, J-F (2007). Gestión de destinos turísticos sostenibles. Córdoba: I Congreso
Nacional de Planificación, Dinamización y Calidad en Destinos Turísticos. Diputación
Provincial de Córdoba, Colombia.
Wargo, Jhon M. (2012) “Building Cross-Platform Mobile Apps”. New York. Addison
Wesley.
Williams, F., Dordick, H., & Jesuale, H. (1985) “Focus Group and Questionnaire
Development for Exploring Attitudes Towards Telephone Service”, en WILLIAMS, F.
(comps): Social Research and the Telephone. Los Ángeles (CA), Herbert Dordick and
Associates.
Wu, Ling; Liang, Guangtai; Wang, Qianxiang. (2012) “Program Behavior Analysis and
Control for Online IDE”. International Conference on Computer Software and
Applications Workshops, IEEE 2012, pp. 182 – 187.
146
ANEXOS
147
ANEXO Nº 01
CUESTIONARIO SOBRE EL APLICATIVO MÓVIL DE AREQUIPA
Marque una opción de acuerdo a su experiencia con el aplicativo móvil.
¿La aplicación móvil multiplataforma cumple con lo propuesto, para promocionar
un destino turístico?
□ Muy Bajo
□ Bajo
□ Medio
□ Alto
□ Excelente
¿Cómo evalúa el diseño de interfaz de usuario de la aplicación?
□ Muy Bajo
□ Bajo
□ Medio
□ Alto
□ Excelente
¿Cómo evalúa el desempeño de la aplicación en un dispositivo real?
□ Muy Bajo
□ Bajo
□ Medio
□ Alto
□ Excelente
148
¿Cómo evalúa la usabilidad de la aplicación en una tableta?
□ Muy Bajo
□ Bajo
□ Medio
□ Alto
□ Excelente
¿Cómo evalúa la usabilidad de la aplicación en un teléfono inteligente?
□ Muy Bajo
□ Bajo
□ Medio
□ Alto
□ Excelente
¿Usarías la aplicación en tus viajes? Evalúa el tema de portabilidad multiplataforma
y multi-resolución?.
□ Nunca
□ Casi Nunca
□ A veces
□ Casi siempre
□ Siempre
149
GLOSARIO DE TÉRMINOS
Android.- es un sistema operativo diseñado principalmente para dispositivos
móviles con pantalla táctil, como teléfonos inteligentes o tabletas,
Android Market.- es la tienda virtual de las aplicaciones desarrolladas para el sistema
operativo Android
API.- Interfaz de programación de aplicaciones
APN.- Notificaciones push de Apple
App.- El término app es una abreviatura de la palabra en inglés application. Es decir,
una app es un programa. Pero con unas características especiales
Apple.- Empresa multinacional que produce equipos tecnológicos y software
App Store.- Tienda virtual de las aplicaciones del sistema operativo IOS
BlackBerry.- s una marca de teléfonos inteligentes (smartphones) desarrollada por la
compañía canadiense BlackBerry
Bluetooth.- es una especificación industrial para Redes Inalámbricas de Área
Personal (WPAN) que posibilita la transmisión de voz y datos entre diferentes
dispositivos mediante un enlace por radiofrecuencia en la banda ISM de los 2,4 GHz.
Chat.- El chat1 (término proveniente del inglés que en español equivale a 'charla'),
también conocido como cibercharla, designa una comunicación escrita realizada de
manera instantánea mediante el uso de un software y a través de Internet entre dos, tres
o más personas
150
Cluster.- El término clúster (del inglés cluster, "grupo" o "racimo") se aplica a los
conjuntos o conglomerados de computadoras construidos mediante la utilización de
hardwares comunes y que se comportan como si fuesen una única computadora.
E-Book.- Un libro electrónico,1 libro digital, ciberlibro, también conocido como e-
book o eBook, es una versión electrónica o digital de un libro
Facebook.- es un sitio web de redes sociales creado por Mark Zuckerberg
Firewall.- cortafuegos (firewall en inglés) es una parte de un sistema o una red que está
diseñada para bloquear el acceso no autorizado, permitiendo al mismo tiempo
comunicaciones autorizadas.
FITUR.- Feria internacional del turismo
Frameworks.- es una estructura conceptual y tecnológica de soporte definido,
normalmente con artefactos o módulos de software concretos, que puede servir de base
para la organización y desarrollo de software.
(GDSs) o Sistemas de Distribución Global
Google.- es una empresa multinacional estadounidense especializada en productos y
servicios relacionados con Internet, software, dispositivos electrónicos y otras
tecnologías. El principal producto de Google es el motor de búsqueda de contenido en
Internet del mismo nombre.
Google Maps.- es un servidor de aplicaciones de mapas en la web que pertenece
a Google. Ofrece imágenes de mapas desplazables, así comofotografías por satélite del
mundo
151
Google Play.- Google Play Store (anteriormente Android Market) es una plataforma
de distribución digital de aplicaciones móviles para los dispositivos con sistema
operativo Android, así como una tienda en línea desarrollada y operada por Google
GPS.- permite determinar en todo el mundo la posición de un objeto, una persona o un
vehículo con una precisión hasta de centímetros, aunque lo habitual son unos pocos
metros de precisión
Hardware.- se refiere a todas las partes tangibles de un sistema informático; sus
componentes son: eléctricos, electrónicos, electromecánicos y mecánicos.
Hosting.- es el servicio que provee a los usuarios de Internet un sistema para poder
almacenar información, imágenes, vídeo, o cualquier contenido accesible vía web.
HTML5.- hace referencia al lenguaje de marcado para la elaboración depáginas web.
HTTP / HTTPS.- es el protocolo usado en cada transacción de la World Wide Web.
Interface.- en informática se utiliza para nombrar a la conexión física y funcional entre
dos sistemas o dispositivos de cualquier tipo dando una comunicación entre distintos
niveles.
iOS.- es un sistema operativo móvil de la empresa Apple
IP.- Internet Protocol (en español 'Protocolo de Internet') o IP es un protocolo de
comunicación de datos digitales clasificado funcionalmente en la Capa de Red según el
modelo internacional OSI.
152
iPhone.- iPhone es una línea de teléfonos inteligentes diseñada y comercializada
por Apple Inc
iTunes.- es un reproductor de medios y tienda de contenidos multimedia desarrollado
por Apple con el fin de reproducir, organizar y sincronizar iPods,iPhones, iPads y
comprar música.
Javascript.- es un lenguaje de programación interpretado
Netbooks.- Netbook es una categoría de computadora portátil, de bajo costo y
dimensiones reducidas, que aporta mayor movilidad y autonomía
OMT.- Organización mundial de turismo
PDA´s.- e trata de un pequeño ordenador, diseñado para ocupar el mínimo espacio y ser
fácilmente transportable que ejecuta el sistema operativo Windows CE o Windows
Mobile de Microsoft entre otros, el cual le proporciona capacidades similares a
los PC de escritorio.
PhoneGap.- es un framework para el desarrollo de aplicaciones móviles producido por
Nitobi, y comprado posteriormente por Adobe Systems
Plugin.- es una aplicación que se relaciona con otra para aportarle una función nueva y
generalmente muy específica.
pocket-book.- libro de bolsillo
Pokec PC.- e trata de un pequeño ordenador, diseñado para ocupar el mínimo espacio y
ser fácilmente transportable que ejecuta el sistema operativo Windows CE o Windows
153
Mobile de Microsoft entre otros, el cual le proporciona capacidades similares a
los PC de escritorio.
PYMEs.- Pequeñas y medianas empresas
Ringtone.- Un tono de llamada, popularmente conocido por el anglicismo Ringtone, es
el término con el cual se conoce el sonido hecho por un teléfono para indicar la llegada
de un mensaje de texto o al recibir una llamada.
SEGITTUR.- La Sociedad Estatal para la Gestión de la Innovación y las Tecnologías
Turísticas
Smartphone.- es un tipo teléfono móvil construido sobre una plataforma
informática móvil, con una mayor capacidad de almacenar datos y realizar actividades,
semejante a la de una minicomputadora, y con una mayor conectividad que un teléfono
móvil convencional.
Tablets.- es una computadora portátil de mayor tamaño que un teléfono inteligente o
un PDA, integrada en una pantalla táctil (sencilla o multitáctil) con la que se interactúa
primariamente con los dedos o un estilete (pasivo o activo), sin necesidad
de teclado físico ni ratón
Tecnología WAP.- es un estándar abierto internacional para aplicaciones que utilizan
las comunicaciones inalámbricas, [Link]. acceso a servicios de Internet desde un teléfono
móvil.
TICS.- Tecnología de la información y de la comunicación
TI.- Tecnología de la información
154
UIT.-Unión Internacional de Telecomunicaciones
URIs.- El URL es una cadena de caracteres con la cual se asigna una dirección única a
cada uno de los recursos de información disponibles en la Internet.
Widgets.- s una pequeña aplicación o programa, usualmente presentado en archivos o
ficheros pequeños que son ejecutados por un motor de widgets o Widget Engine
Wi-Fi.- s un mecanismo de conexión de dispositivos electrónicos de formainalámbrica
Windows.- es el nombre de una familia de distribuciones para PC, smartphone,
servidores y sistemas empotrados, desarrollados y vendidos por Microsoft, y
disponibles para múltiples arquitecturas, tales como x86 y ARM
Windows Phone.- es un sistema operativo móvil desarrollado por Microsoft como
sucesor de Windows Mobile.
Windows Store.- es la plataforma de distribución digital de software desarrollada por
Microsoft como parte de Windows 8 para aplicaciones de estiloModern UI.2
Wireframes.- es un algoritmo de renderización del que resulta una imagen
semitransparente, de la cual solo se dibujan las aristas de la malla que constituye al
objeto
Wireless.- La comunicación inalámbrica o sin cables es aquella en la que la
comunicación (emisor/receptor) no se encuentra unida por un medio de
propagación físico, sino que se utiliza la modulación de ondas electromagnéticas a
través del espacio
155
WNS.- Servicio de notificación de Windows
XML.- es un lenguaje de marcas desarrollado por el World Wide Web Consortium
(W3C) utilizado para almacenar datos en forma legible.
156