Software">
De La Cruz Ceron Roberto Carlos
De La Cruz Ceron Roberto Carlos
De La Cruz Ceron Roberto Carlos
URBANISMO
TESIS
ANÁLISIS COMPARATIVO ENTRE FRAMEWORKS
DE DESARROLLO PARA APLICACIONES MÓVILES
HÍBRIDAS
Autor:
Bach. De la Cruz Ceron Roberto Carlos
https://orcid.org/0000-0002-2680-2955
Asesor:
Mg. Atalaya Urrutia Carlos William
https://orcid.org/0000-0002-2761-4868
Línea de Investigación:
Infraestructura, Tecnología y Medio Ambiente
Lima– Perú
2021
ANÁLISIS COMPARATIVO ENTRE FRAMEWORKS DE DESARROLLO PARA
APLICACIONES MÓVILES HÍBRIDAS
JURADO CALIFICADOR
_______________________________ _______________________________
Mg. Atalaya Urrutia Carlos William MSc. Guerrero Millones Ana María
Asesor Especialista Asesora Metodológica
_________________________________
Mg. Bances Saavedra David Enrique
Presidente
________________________________ ______________________________
Mg. Chirinos Mundaca Carlos Alberto Mg. Diaz Vidarte Miguel Orlando
Secretario Vocal
ii
DEDICATORIA:
iii
AGRADECIMIENTO:
Mil gracias.
iv
ÍNDICE
I. INTRODUCCIÓN ............................................................................................ 13
1.1. Realidad Problemática ............................................................................ 13
1.2. Trabajos previos ...................................................................................... 19
1.3. Teorías relacionadas al tema. ................................................................. 24
1.1.1. Frameworks ...................................................................................... 24
1.1.2. Aplicaciones Móviles ........................................................................ 27
1.1.3. Normativa técnica ............................................................................. 32
1.1.4. Gestión de Riesgos .......................................................................... 35
1.1.5. Modelo de evaluación ....................................................................... 36
1.1.6. Estado del Arte ................................................................................. 37
1.1.7. Definición de términos ...................................................................... 38
1.4. Formulación del Problema. ..................................................................... 40
1.5. Justificación e importancia del estudio. ................................................... 41
1.6. Hipótesis. ................................................................................................ 42
1.7. Objetivos. ................................................................................................ 42
1.1.8. Objetivo General ............................................................................... 42
1.1.9. Objetivos específicos ........................................................................ 43
II. MATERIAL Y MÉTODOS ............................................................................... 44
2.1. Tipo y diseño de investigación. ............................................................... 44
2.2. Población, muestra y muestreo ............................................................... 44
2.2.1. Población .......................................................................................... 44
2.2.2. Muestra ............................................................................................. 44
2.3. Variables y Operacionalización ............................................................... 44
2.4. Técnicas e instrumentos de recolección de datos, validez y confiabilidad. .
................................................................................................................ 46
2.4.1. Confiabilidad de instrumentos .......................................................... 47
2.4.2. Validación de instrumentos ............................................................... 49
2.5. Procedimiento de análisis de datos ......................................................... 49
2.5.1. Métodos de análisis de datos ........................................................... 52
2.6. Criterios éticos ........................................................................................ 52
2.6.1. Ambiental .......................................................................................... 53
2.6.2. Objetividad ........................................................................................ 53
2.6.3. Originalidad ...................................................................................... 53
2.6.4. Veracidad ......................................................................................... 53
2.7. Criterios de Rigor Científico .................................................................... 53
v
III. RESULTADOS ............................................................................................... 54
4.1. Presentación de resultados ..................................................................... 54
4.1.1. Seleccionar los frameworks para realizar la comparativa. ................ 54
4.1.2. Desarrollar una aplicación como caso de estudio para la
comparación. ................................................................................................. 55
4.1.3. Realizar pruebas a las aplicaciones desarrolladas con base en los
frameworks. ................................................................................................... 60
4.2. Discusión de resultados .......................................................................... 67
4.3. Aporte práctico ........................................................................................ 68
V. CONCLUSIONES Y RECOMENDACIONES ................................................ 106
6.1. Conclusiones ......................................................................................... 106
6.2. Recomendaciones................................................................................. 107
vi
ÍNDICE DE TABLAS
vii
pruebas realizadas - Apache Cordova - IOS ......................................................... 92
Tabla 28. Porcentaje de CPU con que consumen las operaciones CRUD, para
cada una de las tareas dentro del plan de pruebas – Ionic Framework - Android . 92
Tabla 29. Porcentaje de consumo de CPU en promedio para cada una de las
operaciones CRUD - Ionic Framework - Android .................................................. 94
Tabla 30. Porcentaje de CPU con que consumen las operaciones CRUD, para
cada una de las tareas dentro del plan de pruebas – Ionic Framework - IOS ....... 94
Tabla 31. Porcentaje de consumo de CPU en promedio para cada una de las
operaciones CRUD - Ionic Framework - IOS......................................................... 95
Tabla 32. Porcentaje de CPU con que consumen las operaciones CRUD, para
cada una de las tareas dentro del plan de pruebas – Apache Cordova - Android. 96
Tabla 33. Porcentaje de consumo de CPU en promedio para cada una de las
operaciones CRUD – Apache Cordova - Android ................................................. 97
Tabla 34. Porcentaje de CPU con que consumen las operaciones CRUD, para
cada una de las tareas dentro del plan de pruebas – Apache Cordova - IOS ....... 97
Tabla 35. Porcentaje de consumo de CPU en promedio para cada una de las
operaciones CRUD – Apache Cordova - IOS........................................................ 98
Tabla 36. Tiempos de respuesta para cada una de las operaciones CRUD
dentro del plan de pruebas – Ionic Framework - Android ...................................... 99
Tabla 37. Tiempos de respuesta en promedio cada una de las operaciones
CRUD – Ionic Framework - Android .................................................................... 100
Tabla 38. Tiempos de respuesta para cada una de las operaciones CRUD
dentro del plan de pruebas – Ionic Framework - IOS .......................................... 100
Tabla 39. Tiempos de respuesta en promedio cada una de las operaciones
CRUD – Ionic Framework - IOS .......................................................................... 102
Tabla 40. Tiempos de respuesta para cada una de las operaciones CRUD
dentro del plan de pruebas – Apache Cordova - Android .................................... 102
Tabla 41. Tiempos de respuesta en promedio cada una de las operaciones
CRUD – Apache Cordova – Android. .................................................................. 103
Tabla 42. Tiempos de respuesta para cada una de las operaciones CRUD
dentro del plan de pruebas – Apache Cordova - IOS .......................................... 103
Tabla 43. Tiempos de respuesta en promedio cada una de las operaciones
CRUD – Apache Cordova – IOS. ........................................................................ 105
viii
ÍNDICE DE FIGURAS
ix
propia. 76
Consola de administración para el motor de base de datos H2.
Fuente: Elaboración propia. .................................................................................. 77
Captura de pantalla que muestra el entorno de desarrollo para los
servicios web con Java Sprinboot. Fuente: Elaboración propia. ........................... 78
Captura de pantalla que muestra el entorno de desarrollo a nivel de
frontend. Fuente: Elaboración propia. ................................................................... 79
Interfaz gráfica para agregar crear nuevos usuarios. Fuente:
Elaboración propia. ............................................................................................... 80
Interfaz gráfica que muestra el proceso de creación de usuarios
exitoso. Fuente: Elaboración propia. ..................................................................... 81
Interfaz gráfica que lista lo usuarios creados por la aplicación. Fuente:
Elaboración propia. ............................................................................................... 82
Interfaz gráfica que muestra edición de usuarios. Fuente: Elaboración
propia. 83
Interfaz gráfica que muestra el mensaje satisfactorio luego de realizar
la edición de un usuario. Fuente: Elaboración propia. ........................................... 84
Interfaz gráfica que muestra el mensaje de confirmación antes de
realizar la eliminación del usuario seleccionado. Fuente: Elaboración propia. ...... 85
x
RESUMEN
Palabras clave:
Frameworks, aplicaciones móviles híbridas, desarrollo de software, análisis
comparativo, aplicaciones móviles.
xi
ABSTRACT
The use of development frameworks has become more and more common in
software development teams in recent years, the use of a specific framework
provides a defined structure for the project and significantly improves the
development and delivery times of a software product but Choosing a certain
framework is often a problem for the development team when it comes to selecting
the one that best suits the needs of the project, for this reason in this applied
research and quasi-experiment design with a quantitative approach it is intended to
give solution to the problem of how to choose the framework that best suits the
needs of a development team when implementing a hybrid mobile application, for
this it is considered convenient to make a comparison between two hybrid mobile
application development frameworks through development of a mobile application
that has basic functionalities such as a user CRUD (create, read, update and
delete). As results, the consumption of resources by each framework is obtained,
as well as by the application developed by each one and the response times when
performing the operations defined above. It is concluded that none of the
frameworks is better than the other since each one has its particular attributes, but
both frameworks contain Apache Cordova libraries, therefore the work with each of
them is similar and is very easy at the time of integration. with any project developed
with Javascript, HTML and CSS.
Keywords:
Frameworks, hybrid mobile applications, software development, comparative
analysis, mobile application
xii
I. INTRODUCCIÓN
Las apps web y las aplicaciones móviles automatizan operaciones que ahora se
realizan manualmente en las empresas, lo que permite centralizar la información
y la perspectiva de mejorar enormemente la productividad. La empresa "Morales
& Asociados", que presta servicios jurídicos de alta calidad y que tiene su sede
en Riobamba, utiliza actualmente procesos manuales, que dan lugar a procesos
largos. Por ello, el autor propone desarrollar una aplicación web y una aplicación
móvil híbrida para automatizar los procesos de control y seguimiento de los
juicios. (Haro y Quishpi, 2019).
Hoy en día, las app web dominan el mercado de productos de software debido a
las numerosas ventajas que ofrecen y su dependencia de Internet para evitar el
uso normal del escritorio y desarrollar todo tipo de operaciones. Esto se debe a
la estructura autónoma que presentan y la falta de flexibilidad en el cambio
constante de la tecnología. Sin embargo, con el crecimiento de este mercado,
los problemas relacionados con el desarrollo de estas aplicaciones son cada vez
más frecuentes. Como tal, se han generado muchas metodologías que ayudan
a guiar el ciclo de vida del software, y que también ayuda a reducir y corregir los
errores existentes asociados con cada etapa de desarrollo. Por ello, se realizó
un estudio en profundidad para obtener información sobre las metodologías, con
el objetivo de comparar frameworks de desarrollo de software web de las mismas
13
con la bibliografía, análisis y exploración en campo, según diversos autores.
Después de la investigación, determinó que el método era el método OOHDM.
Este método proporciona una funcionalidad óptima para el área de desarrollo de
app web y es el más utilizado por los programadores y desarrolladores de
software en el estado de ORO (Molina et al. 2018).
La tecnología avanza rápidamente todos los días, y hace unos años el uso de
Internet no era tan necesario como lo es hoy. Si alguien señala que Internet
reemplazará al material impreso, será ignorado, pero ahora en realidad se ha
vuelto muy competitivo usar Tecnologías Web y todas las empresas van en esa
dirección, por eso está progresando. Los desarrolladores de software se dedican
principalmente al desarrollo de páginas web, y es fundamental entender qué
lenguaje de programación es el óptimo para desarrollar un sitio web, lo cual es
ahora un reto. Por tal motivo esta tarea tiene como objetivo utilizar métodos de
investigación comparativa para identificar y analizar dos de las herramientas de
desarrollo web actualmente en uso, como ASP.NET y PHP. Se presentan las
fortalezas y debilidades de cada uno, investigadas por diferentes autores, y se le
da al lector una idea general de lo que él puede lograr. Esto es fundamental para
identificar la herramienta más adecuada para los desarrolladores de apps web.
Se consideran los aspectos más relevantes de las dos herramientas para aclarar
el a la hora de decidir cuál elegir. Ya sea funcional o administrativo, es importante
conocer las opciones que ofrece el lenguaje de programación para elegir. Al
elegir un lenguaje de programación, debe tener en cuenta todas las
características y definiciones proporcionadas. Esto permite convertir el software
en un producto de alta calidad que agrega valor a las operaciones de la empresa
(Sierra y Espinoza, 2018).
14
se concentró en las siguientes características: facilidad de aprendizaje, tasa de
errores y satisfacción. Los resultados indican que Angular es el framework más
sencillo de utilizar y es el que el autor recomienda, seguido de Ember y
Backbone. (Navajas y Pamplona, 2018).
15
de los recursos financieros o del conocimiento para operar el sistema móvil
(Castillo y Dávila, 2020).
16
Ilustra el porcentaje de empresas que utilizan diversas tecnologías de
la información y la comunicación. Encuesta económica anual 2019 - INEI
El 29,2 por ciento de las empresas dispone de una página web que le permite
ofrecer de forma continuada sus bienes y/o servicios, mientras que el 70,8 por
ciento no la tiene.
El 20,8 por ciento de los negocios compraron artículos y/o servicios en línea,
mientras que el 8,8 por ciento de los negocios ofrecieron productos y/o servicios en
17
línea.
18
Actualmente dentro de empresas dedicadas específicamente de desarrollo de
software, así como otras empresas que desarrollan su propio software, los
equipos de desarrollo al momento de iniciar un proyecto cuestionan qué
tecnologías podrían utilizarse para el desarrollo del producto de software, desde
la infraestructura, base de datos, lenguajes de programación, frameworks de
desarrollo, librerías de terceros, etc. Cada equipo de desarrollo evalúa según
diversos criterios las tecnologías a utilizar, se consideran por ejemplo: si se tiene
software implementado se puede utilizar las tecnologías con las que se han
desarrollado el software anterior (reutilizar licencias de base de datos,
servidores, frameworks, etc.), de no ser el caso se puede considerar el costo
beneficio de elegir las tecnologías, el conocimiento técnico por parte del equipo
así como la curva de aprendizaje y el alcance del software a desarrollar.
En el mercado se cuentan con diversas tecnologías para implementar proyectos
de desarrollo de software, pero los equipos siempre o casi siempre cuentan con
ciertas dificultades a la hora de elegir un framework apropiado para desarrollar
aplicaciones.
19
Suecia. A pesar de la creciente disponibilidad de dispositivos y tecnologías de
IoT, la interacción del usuario actual requiere que los usuarios descarguen
aplicaciones móviles específicas ad-hoc, cada una de las cuales puede
monitorear y controlar de forma remota un número limitado de dispositivos de
IoT. En un futuro cercano, este enfoque no se escalará con miles de millones de
dispositivos IoT implementados, ya que no se puede esperar que los usuarios
descarguen diferentes aplicaciones para cada ubicación que visitan o con cada
dispositivo con el que interactúan. Para superar esta limitación, el autor presenta
en su investigación la visión, los riesgos y las oportunidades de desarrollar e
implementar futuros servicios de proximidad híbridos como un cambio de
paradigma para la interacción intuitiva entre los usuarios y el entorno de IoT
circundante. Los servicios de proximidad híbridos son aplicaciones móviles
centradas en el usuario diseñadas y configuradas para ubicaciones específicas
y que se instalan automáticamente en los dispositivos móviles del usuario
cuando el usuario está cerca y sin la necesidad de una descarga explícita. Un
entorno de servicios de proximidad puede proporcionar directamente al usuario
el servicio adecuado para el lugar adecuado e instruir automáticamente al
dispositivo del usuario para que interactúe con los dispositivos IoT circundantes.
20
logren información móvil de manera rápida y eficiente.
21
solución a la fragmentación de la plataforma móvil. Las aplicaciones móviles
híbridas basadas en la web son consistentes en todas las plataformas y se basan
en estándares web como HTML5, CSS3, JavaScript. Esta investigación
proporciona una descripción general del estado actual de las soluciones,
tecnologías y oportunidades de investigación relacionadas con el desarrollo de
aplicaciones móviles híbridas basadas en la web. Apache Cordova se presenta
como una de las posibles tecnologías para desarrollar aplicaciones híbridas. Los
resultados de dos estudios empíricos sobre aplicaciones móviles híbridas reales
se presentan como una instantánea actual del estado de la práctica.
22
y adecuado a las características de los dispositivos móviles. Se descubrió que
los métodos ágiles son los más adecuados para el desarrollo de aplicaciones
móviles porque son breves y la flexibilidad de las necesidades reduce el abuso
y la pérdida de tiempo. Entre los resultados relevantes se examinó diferentes
enfoques ágiles, pero ninguna investigación proporciona razones concretas para
adoptar ágil como modelo necesario para el desarrollo de aplicaciones móviles.
El autor concluye que, para el desarrollo de aplicaciones móviles, se propone la
metodología ágil modificada, que es el mejor enfoque ágil y cumple con las
fortalezas de cada enfoque seleccionado para la ingeniería de software móvil y
la eliminación de debilidades.
23
Con cuatro herramientas: Visual Studio, Ionic, Cocoon y Evo, utilizando diversas
circunstancias de ejecución y evaluando criterios comparativos que indiquen
dificultades de ejecución, el desarrollador podrá tomar una decisión más
informada a la hora de iniciar un proyecto de construcción de una aplicación
móvil híbrida.
En esta sección se discutirán las teorías críticas relevantes para este estudio,
con el objetivo de ubicar el tema dentro de un cuerpo de conocimiento más
amplio.
1.1.1. Frameworks
24
Según Gamma, E. (1995), un marco de trabajo define la arquitectura de la
aplicación. Se trata de un método adecuado, ya que el marco se encarga de
diseñar la estructura general, su partición en clases y objetos, los roles
críticos y la cooperación entre estas clases y objetos.
25
cualquier otro tema que se pueda imaginar. En general, la palabra
"framework" se refiere a una estructura de software formada por
componentes reutilizables y adaptables que se utilizan en la creación de una
aplicación. En otras palabras, se puede pensar en un marco como una
aplicación general inacabada y flexible a la que se pueden añadir los últimos
componentes de una aplicación real.
Apache Cordova
26
Ionic Framework
27
pueden variar significativamente en función de la intensidad de la señal y la
disponibilidad de la conexión de red, especialmente para los usuarios
móviles.
Aplicación Nativa
Aplicación Web
Una aplicación web es un sitio web que realiza las mismas funciones que un
programa nativo, pero no se instala o despliega de la misma manera que una
aplicación nativa. Hacen uso de un navegador web y a menudo de HTML5.
Además, dependen de un navegador web ampliamente utilizado para
comprender el programa. Por otro lado, la frontera entre las aplicaciones
nativas y las aplicaciones web se está difuminando a medida que más sitios
web utilizan HTML5. Una aplicación web puede ofrecer varias ventajas sobre
un programa nativo en términos de facilidad de desarrollo, portabilidad y
compatibilidad entre plataformas.
Según Lujan Mora (2002) las aplicaciones Web son aquellas que permiten a
los usuarios conectarse a un servidor Web a través de una red utilizando un
determinado navegador. En consecuencia, se describe como una aplicación
Web que es accesible a través de una red, ya sea intranet o Internet, a través
de la Web. En general, las aplicaciones web se refieren a programas
informáticos que se ejecutan a través del navegador.
28
Aplicación Híbrida
29
Ventajas
a. Consumo de recursos del dispositivo y del sistema operativo.
b. Los costes de desarrollo pueden ser menores que los de una especie
nativa.
c. Son independientes de la plataforma.
d. Permiten la distribución a través de los escaparates de su plataforma.
Desventajas
a. La documentación puede ser limitada y desorganizada.
Una aplicación híbrida es exactamente lo que su nombre indica: una
mezcla de una aplicación web y una aplicación nativa. "Residen" en
una tienda de aplicaciones y pueden acceder a las funcionalidades del
dispositivo de forma similar a la de un programa nativo.
Las aplicaciones híbridas intentan combinar las mejores características
de las aplicaciones nativas y las aplicaciones web en una sola
aplicación móvil. En pocas palabras, la aplicación se desarrolla como
una Web App (utilizando HTML5, CSS y JS), y el framework se encarga
de la conversión de la vista web a una vista de dispositivo móvil,
convirtiendo todas las tareas de la vista web en actividades específicas
del teléfono/tableta.
"De este modo, una Hybrid App puede llegar a numerosas plataformas
móviles con poco esfuerzo, pero con el riesgo de perder el acceso a
algunas de las características de cada dispositivo". (Angulo, R. 2013).
Lenguaje de programación
30
Java
Según Javier Cruz (2012), Java, tal y como se entiende ahora, es un lenguaje
de programación y un entorno para ejecutar aplicaciones Java. A diferencia
de los compiladores convencionales, que convierten el código fuente en
instrucciones a nivel de máquina, el compilador de Java convierte el código
fuente de Java en instrucciones interpretables por la máquina virtual de Java
(JVM). En comparación con C y C, se inspira en. Java es un lenguaje de
programación interpretado.
JavaScript
31
JavaScript puede insertarse en cualquier página HTML o en cualquier
documento que se convierta en HTML en el navegador del cliente; esto
incluye los documentos PHP y ASP. La incorporación directa de código en
una estructura HTML es un método intrusivo que no se recomienda. La forma
recomendada por el W3C es añadir JavaScript como un archivo externo,
tanto por accesibilidad como por practicidad y velocidad de navegación.
32
A). ISO/IEC 2500n – División de Gestión de Calidad
33
de referencia general. También proporciona orientación para que los
usuarios seleccionen, desarrollen y apliquen los medios proporcionados por
la norma ISO.
Los estándares que componen esta parte ayudan a definir los requisitos de
calidad que se pueden utilizar en el proceso de lograr los requisitos de
calidad para los productos de software en desarrollo o como una contribución
al proceso de evaluación. Para lograr esto, esta sección incluye:
Esta sección abarca las normas que definen los requisitos, las sugerencias
y las indicaciones para aplicar el proceso de evaluación de productos de
software. Esta sección contiene lo siguiente:
34
ISO/IEC 25041 - Evaluation guide for developers, acquirers and
independent evaluators: Requisitos y sugerencias para una evaluación
satisfactoria de los productos de software desde la perspectiva de los
desarrolladores, los compradores y los revisores independientes
Descripción.
SQuaRE (de ISO / IEC 25050 a ISO / IEC 25099) está dedicada a estándares
o informes técnicos relevantes para un área de aplicación en particular, o se
puede utilizar además de otros estándares de la familia SQuaRE.
35
y qué casos particulares podrían darse, de manera que se pueda mitigar
alguna causante o posible amenaza para evitar que el desarrollo de la
investigación se vea perjudicado.
Como parte del modelo de evaluación para seleccionar las muestras dentro
de la presente investigación se tomaron como referencia lo que dicen
(Guncay Barzallo & Samaniego Mosquera, 2015) "Los modelos de
evaluación son normas que han evolucionado a partir de la necesidad de
cuantificar el grado de calidad y madurez del programa. Si bien el modelo de
McCall fue el primero en publicarse en 1977, han surgido otros como el de
Boehm, Gilb, FURPS, Dromey y la norma ISO 9126 para evaluar mediante
diversas metodologías y por medio de diversos criterios los productos de
programa. Además, los autores indican que, paralelamente a los modelos
clásicos mencionados anteriormente, los modelos de evaluación del
software de código abierto han surgido como una alternativa viable. Estos
modelos son capaces de evaluar propiedades únicas y relevantes del
software de código abierto que los modelos clásicos no evalúan, como la
asociación, la adopción y las licencias. Hay una serie de técnicas
ampliamente establecidas y estandarizadas para evaluar la calidad y la
madurez de los productos de software de código abierto, muchas de las
cuales se detallan aquí para ayudarle a elegir la más apropiada para la
evaluación del marco.
36
1.1.6. Estado del Arte
37
obtener un equipo técnico que se encuentre en la capacidad de poder
analizar y comprender el lenguaje de programación, es decir, Java/ Kotlin
para Android, y Swift / Objective-C para iOS.
38
Consumo de recursos de PC: Hace referencia al consumo de recursos de
una PC (Consumo de memoria RAM y el porcentaje de uso del procesador
en todos los núcleos) que demanda un proceso o servicio informático.
39
Jmeter: Es un software que puede ser usado como herramienta para realizar
pruebas de sobrecarga y estrés a las aplicaciones web.
40
de desarrollo a la hora de implementar una aplicación móvil hibrida?
Este análisis comparativo entre los frameworks Ionic y Apache Cordova para el
desarrollo de aplicaciones móviles híbridas ayudará a poder comprender el por
41
qué cada vez más las aplicaciones móviles híbridas están desplazando a las
aplicaciones desarrolladas para plataformas específicas.
1.6. Hipótesis.
Ambos son de código abiertos, lo que significa que pueden ser difundidos
libremente, lo cual es una ventaja importante para cualquier marco que se elija
para desarrollar una aplicación móvil.
1.7. Objetivos.
42
1.1.9. Objetivos específicos
43
II. MATERIAL Y MÉTODOS
2.2.1. Población
2.2.2. Muestra
44
Tabla 1.
Matriz de operacionalización de variables
Técnica de Instrumento de
Variable Dimensión Indicadores Índice
recolección recolección
45
2.4. Técnicas e instrumentos de recolección de datos, validez y
confiabilidad.
46
Guía de análisis documental; este instrumento permite que se pueda recopilar
información de diferentes fuentes de datos mediante la documentación, se
analiza las fuentes de información como bases de datos, sitios web confiables,
etc.
47
Tabla 2.
Estadísticas de escala para cuestionario 01
Desviación
Media Varianza N° de elementos
estándar
15.00 12.000 3.464 9
Nota: La información corresponde a los datos arrojados mediante el análisis del Alfa
Cronbach utilizando el software SPSS. Fuente: Elaboración propia.
Tabla 3.
Estadísticas de fiabilidad para cuestionario 01
Alfa de Cronbach N° de elementos
0.906 9
Nota: La información corresponde a los datos arrojados mediante el análisis del Alfa
Cronbach utilizando el software SPSS. Fuente: Elaboración propia.
Tabla 4.
Estadísticas de escala para cuestionario 02
Desviación
Media Varianza N° de elementos
estándar
9.75 2.250 1.500 7
Nota: La información corresponde a los datos arrojados mediante el análisis del Alfa
Cronbach utilizando el software SPSS. Fuente: Elaboración propia.
48
Tabla 5.
Estadísticas de fiabilidad para cuestionario 02
Alfa de Cronbach N° de elementos
0.778 7
Nota: La información corresponde a los datos arrojados mediante el análisis del Alfa
Cronbach utilizando el software SPSS. Fuente: Elaboración propia.
En este caso el procedimiento usado fue analizar cada uno de los diferentes
frameworks de desarrollo de aplicaciones móviles híbridas vigentes y más
usadas en el mercado a fin de validar e identificar la población y muestra para la
investigación, así mismo en base a las frameworks analizados se tomarán dos
de ellos para instalar e implementar una aplicación móvil a fin de comparar y
49
medir cada uno de los frameworks en cuanto a curva de aprendizaje, horas de
esfuerzo, dificultad de instalación así como los resultados obtenidos con la
aplicación implementada midiendo consumo recursos de PC, tiempo de
respuesta de la aplicación, etc., para todo lo anterior se usarán los instrumentos
de cuestionario y guía de observación.
Tabla 6.
Procedimiento de análisis de datos
Fuente/
N° Técnica Instrumento Descripción
Informante
Entrevistar a
desarrolladores de
aplicaciones móviles
para obtener
información relevante
sobre la experiencia
que tuvieron en el
Entrevista Cuestionario Desarrolladores
desarrollo de las
de aplicaciones
1 aplicaciones usando
cada uno de los
frameworks definidos
como parte de la
muestra de la
investigación.
50
ventajas y desventajas.
Además, se identifican
medidas para el uso de
recursos y el tiempo de
reacción.
Revisión de artículos
científicos donde se
pueda validar los
Análisis Guía de Análisis Artículos frameworks de
3
documental documental científicos
aplicaciones móviles
híbridas vigentes y más
utilizados actualmente.
Tabla 7.
Matriz de objetivos específicos e instrumentos de recolección de información
51
OE-2 Desarrollar una aplicación como caso de estudio para la comparación.
OE-3 Realizar pruebas a las aplicaciones desarrolladas con base en los
frameworks.
∑ 𝑎𝑖 = 𝑎𝑚 + 𝑎𝑚+1 + 𝑎𝑚+2 + ⋯ + 𝑎𝑛
𝑖=𝑚
𝑋1 + 𝑋2 + … + 𝑋𝑁
𝑀𝑒𝑑𝑖𝑎(𝑋) = 𝑥̅ =
𝑁
52
2.6.1. Ambiental
2.6.2. Objetividad
2.6.3. Originalidad
2.6.4. Veracidad
Fiabilidad; los datos obtenidos en la investigación son fiables, son datos que
han sido validados por expertos a modo que se puede decir que la investigación
cumple con este criterio. Así mismo si se replica la investigación utilizando los
mismos métodos o estrategias los resultados obtenidos serán similares.
53
Credibilidad; denominado autenticidad, se refiere a la aproximación que los
resultados de esta investigación tienen relación con el caso observado.
III. RESULTADOS
Para obtener los resultados de este objetivo Como parte del estudio, se
empleó el enfoque de análisis documental junto con la guía de análisis
documental, que incluía el análisis de varias fuentes bibliográficas que
cumplían el objetivo de la investigación. A continuación, se presenta el
cuadro de resultados.
45,00%
40,00%
35,00%
30,00%
25,00%
20,00%
15,00%
10,00%
5,00%
0,00%
54
software durante los años 2019 a 2021. Fuente: (Varun Bhagat, Hybrid Mobile
App Frameworks You Can Opt for in 2021 & Beyond, 2021)
Según la gráfica se puede visualizar que entre los frameworks más utilizados
durante los últimos tres años se encuentran Flutter, ReactNative, Apache
Cordova y Ionic.
comparación.
55
A continuación, se detallan los resultados obtenidos durante el proceso de
desarrollo de las aplicaciones con los frameworks utilizados al momento de
la creación del CRUD.
Tabla 8.
Horas de esfuerzo por Framework para creación del CRUD
Así mismo se pudo evidenciar que para ambos frameworks resulta fácil
obtener documentación en la web, así como de fácil integración con el
proyecto.
Tabla 9.
Dificultad para obtener documentación e integración al proyecto
56
uno de los Frameworks). Fuente: Elaboración propia.
Tabla 10.
Número total de horas de esfuerzo para desarrollar CRUD
Nota: Sumatoria total de horas esfuerzo para la elaboración del CRUD completo
por cada uno de los frameworks. Fuente: Elaboración propia.
57
manera que se muestran los resultados en base a la opinión de cada uno.
Tabla 11.
Nivel de dificultad de la instalación por Framework
Dificultad para
Se puede instalar
encontrar instalador
Framework mediante consola
(Fácil, Intermedio,
CMD (sí, no)
Difícil, Muy difícil)
Nota: Se puede evidenciar el nivel de dificultad para la instalación por cada una
los frameworks. Fuente: Elaboración propia.
Tabla 12.
Consumo de recursos de PC por Framework
58
las siguientes características: 11th Gen Intel(R) Core (TM) i7-1165G7 @ 2.80GHz
2.80 GHz. Fuente: Elaboración propia.
68
67
Megabytes
66
65
64,2
64
63
62
Frameworks
1,75%
1,70%
1,65%
1,60%
1,60%
1,55%
1,50%
Frameworks
59
Como se puede visualizar en los resultados presentados en esta sección se
puede observar que Apache Cordova es el framework que consume menos
recursos tanto en memoria RAM, así como el porcentaje de consumo de
CPU, pero con una diferencia mínima, ya que para los entornos de desarrollo
es un número dato importante para poder elegir uno de los dos framework
que se están analizando.
los frameworks.
Cabe mencionar que para obtener los resultados como parte de este objetivo
fue necesario desarrollar un plan de pruebas con una concurrencia de 50
usuarios y se ha medido con la herramienta Jmeter.
Tabla 13.
Consumo de recursos de PC por aplicación desarrollada - Android
Consumo de RAM
Framework Porcentaje de CPU
(Megabytes)
61
Consumo de memoria RAM - Android
62,00 60,45
60,00
58,00
56,00
Megabytes
54,00
52,00 50,45
50,00
48,00
46,00
44,00
Frameworks
1,40%
1,20%
1,00%
0,80%
0,60%
0,40%
0,20%
0,00%
Frameworks
62
Tabla 14.
Consumo de recursos de PC por aplicación desarrollada - IOS
Consumo de RAM
Framework Porcentaje de CPU
(Megabytes)
60,00
Megabytes
58,00
55,70
56,00
54,00
52,00
Frameworks
63
Consumo de porcentaje de CPU - IOS
1,75%
1,70%
1,70%
Porcentaje de CPU
1,65%
1,60%
1,55%
1,50%
1,50%
1,45%
1,40%
Frameworks
Indicar también que la aplicación cuenta con las operaciones CRUD para la
gestión de usuarios y se ha desarrollado a modo de prueba para poder tener
claridad al momento de realizar a comparativa y análisis respectivo a los
frameworks,
64
respectivo plan de pruebas.
Tabla 15.
Tiempo de respuesta por operación CRUD - Android
IONIC
783.16 ms. 669.42 ms. 732.82 ms. 692.96 ms.
FRAMEWORK
APACHE
747.98 ms. 656.82 ms. 721.72 ms. 710.58 ms.
CORDOVA
720
700 692,96
680 669,42
656,82
660
640
620
600
580
CREATE READ UPDATE DELETE
Tabla 16.
Tiempo de respuesta por operación CRUD - IOS
65
IONIC
665.16 ms. 610.65 ms. 675.38 ms. 645.76 ms.
FRAMEWORK
APACHE
712.80 ms. 618.44 ms. 694.79 ms. 675.15 ms.
CORDOVA
660 645,76
640
618,44
620 610,65
600
580
560
540
CREATE READ UPDATE DELETE
66
Finalmente indicar que la aplicación desarrollada cuenta con las operaciones
CRUD para la gestión de usuarios que fueron implementadas con cada uno
de los frameworks y desplegados tanto para Android y IOS a nivel de prueba,
ya que se pretende medir los frameworks como tal.
Apoyo la premisa del estudio actual basándonos en los datos, que muestran que
ni uno ni otro se predice como el mejor, ya que cada uno tiene su propio marco
y características, así como su propio conjunto de beneficios e inconvenientes.
Mediante el plan de pruebas ejecutado se puede evidenciar que para desarrollar
un CRUD con cada uno de los frameworks como parte de la muestra (Ionic
Framework y Apache Cordova) no se muestran grandes diferencias entre uno y
otro, el desarrollo del CRUD se realizó sin mayores problemas siguiendo la
documentación encontrada en cada uno de los sitios oficiales de los frameworks.
Así mismo indicar que para el uso de plantillas para crear aplicaciones móviles
fue mucho más fácil la integración con Ionic, pero para implementar con Apache
Cordova sólo fue necesario integrar cualquier proyecto web realizado
anteriormente dentro de la estructura correspondiente y generar el compilado de
la aplicación para obtener resultados.
Por otro lado, estos hallazgos corroboran lo que afirma Suárez, E. (2011): "A
través de la construcción de prototipos se reconocieron las fortalezas y
deficiencias teóricas y prácticas de cada uno de ellos". Esto es consistente con
los hallazgos de esta investigación.
Propuesta de investigación
Como parte de la propuesta de investigación se plantea una identificar los
mejores frameworks para aplicaciones móviles híbridas existentes actualmente
en el mercado, mediante revisión de documentación y artículos de investigación
correspondiente. Luego de identificar los frameworks para la muestra de la
investigación y aplicando el diseño de investigación cuasi experimental se
pueden seleccionar Ionic Framework y Apache Cordova, los mismos que son
tomados como muestra para la presente investigación.
Una vez seleccionada la muestra se realiza una aplicación móvil con cada uno
de los frameworks que incluye un CRUD de operaciones para administrar
usuarios, las operaciones CRUD son un proceso central y principal para casi
todas las aplicaciones y sistemas transaccionales, motivo por el cual se ha
definido su implementación dentro de la aplicación. Para el desarrollo se propone
implementar servicios web con java springboot y una base de datos embebida
como parte de la arquitectura propuesta; de manera independiente al desarrollo
como tal se propone evaluar y medir la experiencia del desarrollador con cada
uno de los frameworks al momento de la implementación del proyecto y la
integración con las interfaces de usuario y servicios web.
Finalmente, luego de desarrollar las aplicaciones móviles con cada uno de los
frameworks tomados como muestra para la investigación, se inician las pruebas
correspondientes para evaluar tiempos de respuesta, consumo de recursos de
PC, así como la experiencia del desarrollador en cuanto a la implementación con
cada uno, tomando en cuenta las horas de esfuerzo al momento del desarrollo,
curva de aprendizaje, acceso a documentación e instalación de los frameworks.
68
OE1: Seleccionar los frameworks para realizar la comparativa.
69
ha considerado para esta investigación el top que muestra en su sitio, de esta
manera la plataforma evalúa ciertas cualidades de cada uno de los frameworks
para considerar su top correspondiente y los agrupa en categorías como
“Contenders”, “Leaders”, “Niche” y “High Performers” denominando la
comparativa como “G2 CROWD Grid for Mobile Development Frameworks”.
Tabla 17.
Categoría del Top G2 CROWD
Categoría Descripción
70
Contenders a Con calificaciones por debajo del promedio.
Leaders a Altamente valorados por los usuarios.
Niche a No han recibido suficientes revisiones para su validación
High Performers a Altamente calificados por los usuarios.
Nota: Se describa cada una de las categorías que fueron considerados dentro del
estudio y que son mostrados en la figura 11. Tomado de a G2 Crowd (2021)
Tabla 18.
Criterios del Top G2 CROWD
Leyenda Descripción
Satisfaction a Se basa en datos de satisfacción del cliente de opiniones
reales.
Market presence a El puntaje de presencia en el mercado de G2, es una
combinación de más de 15 puntos de datos de las
opiniones de los usuarios.
Nota: Se describa cada uno de los criterios que fueron considerados dentro del
estudio y que son mostrados en la figura 11. Tomado de a G2 Crowd (2021)
Dentro del cumplimiento del este objetivo se propone elaborar una aplicación móvil
con la operación CRUD para administrar usuarios con cada uno de los frameworks,
se describe los servicios web utilizados, integración con base de datos, integración
de proyecto frontend con Ionic Framework y Apache Cordova.
A) Propuesta de CRUD
Las operaciones CRUD (Created, Read, Update, Delete) son un proceso
principal en el desarrollo de aplicaciones y sistemas transaccionales, cualquier
software transaccional debe tener operaciones CRUD dentro de sus
requerimientos funcionales para diferentes entidades del negocio, así mismo lo
que se busca dentro de la investigación es obtener el análisis comparativo con
cada uno de los frameworks seleccionados como muestra midiendo la
71
experiencia para el desarrollador y su interacción con las herramientas
seleccionadas a nivel de desarrollo, de manera posterior obtener métricas a
nivel de aplicación, en este contexto para la investigación se desarrolla una
aplicación móvil que contempla la administración de usuarios mediante
operaciones CRUD.
Sierra (2017) en su trabajo de fin de grado afirma que la gran mayoría de los
proyectos de aplicaciones web que se desarrollan, llevan a cabo numerosas
operaciones CRUD, el desarrollo de estas operaciones es muy reiterativo, cada
operación suele seguir un patrón que se repite.
B) Requerimientos funcionales
Como parte de los requerimientos funcionales tenemos:
Listar usuarios.
Crear usuarios.
Modificar usuarios.
Eliminar usuarios.
C) Arquitectura propuesta
Identificamos la arquitectura propia de cada framework con su detalle
correspondiente y en base a ellos se propone la arquitectura a nivel de
aplicación para el desarrollo de las operaciones CRUD.
72
Arquitectura propia del framework Apache Cordova. Fuente Apache
Cordova 2021.
73
Arquitectura propia que provee Ionic Framework. Fuente: Ionic
Framework 2021.
74
Arquitectura propuesta para el desarrollo de la aplicación móvil.
Fuente: Elaboración propia.
75
de usuarios es resistente a errores y puede reiniciarse a menudo a efectos de
disponibilidad. Esta resiliencia también está relacionada con el estado que se
ha almacenado en nombre del microservicio, la facilidad con la que se puede
recuperar el estado del microservicio y la capacidad del microservicio para
reanudarlo con éxito. En otras palabras, el diseño debe proporcionar resiliencia
de proceso (los procesos pueden reanudarse en cualquier momento), así como
resiliencia de estado o de datos (no hay pérdida de datos y se mantiene la
consistencia de los mismos).
D) Base de datos
Para el desarrollo de la aplicación móvil en la presente investigación fue
necesario conectarnos a una base de datos para poder persistir los datos
ingresados para de esta manera poder realizar las operaciones CRUD para
la administración de usuarios. Para este caso se hizo uso del motor de base
de datos H2 que viene embebido en el ambiente que provee el servidor
Tomcat de SpringBoot, debido a los requerimientos funcionales para el
desarrollo del CRUD solo fue necesario crear una sola tabla.
76
levantar el servidor Tomcat y accediendo mediante un navegador web
colocando la ruta: http://localhost:8080/h2-console
Tabla 19.
Diccionario de datos
Tabla Atributo Descripción PK Tipo de dato
id_usuario Identificador único por Sí Integer
usuario
nombres Nombres del usuario No Varchar (255)
Usuario apellidos Apellidos del usuario No Varchar (255)
username Username del usuario No Varchar (50)
creation_date Fecha de creación No Timestamp
update_date Fecha de actualización No Timestamp
77
campos para la tabla “Usuario”. Fuente: Elaboración propia.
E) Servicios web
Haciendo uso de Java y Springboot, se crearon servicios web para realizar
las operaciones CRUD de manera que la aplicación móvil no pueda consumir
los servicios y persistir la información ingresada.
Se creo un proyecto que pueda alojar los servicios de manera que estos
puedan ser expuestos mediante el servidor Tomcat embebido que provee
Springboot y haciendo uso de la arquitectura de microservicios se exponen
los servicios web.
78
Captura de pantalla que muestra el entorno de desarrollo a nivel de
frontend. Fuente: Elaboración propia.
Crear Usuarios
Para la aplicación móvil de gestión de usuarios es necesario crear la
funcionalidad que le permita al usuario de la aplicación poder “Crear o
registrar” nuevos usuarios, así que mediante las herramientas detalladas
anteriormente se procede a desarrollar las pantallas de interfaz gráfica que
van a permitir mediante el consumo de servicios web poder cumplir con este
requerimiento.
79
Interfaz gráfica para agregar crear nuevos usuarios. Fuente:
Elaboración propia.
80
Interfaz gráfica que muestra el proceso de creación de usuarios
exitoso. Fuente: Elaboración propia.
Listar Usuarios
Como para de los requerimientos funcionales se desea implementar en la
aplicación la funcionalidad de “Listar usuarios”, los mismos que fueron
agregados mediante la aplicación móvil y el consumo de los servicios web
81
implementados.
82
Editar Usuarios
La aplicación permitirá realizar la actualización de los datos del usuario,
basta con presionar sobre el nombre del usuario en la lista de usuarios
creados para poder obtener la información del usuario a actualizar.
83
Interfaz gráfica que muestra el mensaje satisfactorio luego de realizar
la edición de un usuario. Fuente: Elaboración propia.
Eliminar Usuarios
Finalmente, para concluir con los requerimientos funcionales para la
aplicación móvil se desea poder eliminar usuarios. El usuario podrá
seleccionar el registro a eliminar tocando el nombre en la lista de usuarios,
la aplicación lo llevará a la ventana de edición y en la parte inferior se puede
visualizar un botón de color rojo el cual permitirá haciendo uso de los
servicios web creados anteriormente se procede a realizar la eliminación de
un registro.
84
La aplicación requiere confirmación para proceder con la eliminación.
85
cada uno de los frameworks se utilizó la herramienta Jmeter, implementando un
plan de pruebas considerando una concurrencia de 50 usuarios para cada una de
las operaciones CRUD, de esta forma se obtiene las métricas tanto en consumo de
memoria RAM, consumo de porcentaje de CPU y como también medir el tiempo de
respuesta por cada petición a los servicios web, luego obtenido los resultados se
calcula la media por cada una de las tareas realizadas.
Tabla 20.
Consumo de memoria RAM por cada una de las operaciones CRUD dentro del
plan de pruebas realizado - Ionic Framework - Android
N° de Tarea Create (MB) a Read (MB) a Update (MB) a Delete (MB) a
1 40 43 65 52
2 46 49 47 34
3 66 45 67 54
4 48 51 73 60
5 63 66 56 67
6 53 56 78 65
7 27 30 52 39
8 40 43 65 52
9 62 65 59 46
10 42 45 67 54
11 62 65 43 30
12 68 57 53 40
13 69 56 55 42
14 68 71 63 65
15 47 50 57 44
16 58 61 60 47
86
17 69 62 47 34
18 71 58 52 39
19 61 56 49 36
20 52 55 56 43
21 62 65 66 53
22 62 65 47 34
23 31 34 56 43
24 42 45 67 54
25 47 50 72 59
26 58 61 57 44
27 39 42 53 40
28 71 67 59 46
29 61 64 62 49
30 67 48 53 40
31 41 44 46 33
32 42 45 48 35
33 35 38 54 41
34 26 29 51 38
35 55 58 67 54
36 37 40 62 49
37 49 52 56 43
38 34 40 62 49
39 25 28 50 37
40 34 37 52 39
41 42 45 62 49
42 44 48 61 48
43 39 42 64 51
44 30 35 58 45
45 54 48 44 31
46 62 56 43 30
47 67 44 48 35
48 56 59 54 41
49 42 67 45 39
50 42 50 45 32
Tabla 21.
Consumo de memoria RAM en promedio con base en el total de pruebas
realizadas - Ionic Framework - Android
Create (MB) a Read (MB) a Update (MB) a Delete (MB) a CRUD(MB) a
Total 50.16 50.6 56.56 44.48 50.45
87
memoria RAM que consumen cada uno de las operaciones CRUD. En la columna
“CRUD” se muestra el promedio de consumo por Aplicación. Fuente: Elaboración
propia.
Tabla 22.
Consumo de memoria RAM por cada una de las operaciones CRUD dentro del
plan de pruebas realizado - Ionic Framework - IOS
N° de Tarea Create (MB) a Read (MB) a Update (MB) a Delete (MB) a
1 55 58 62 49
2 56 59 55 48
3 60 48 58 45
4 55 58 65 52
5 68 71 52 67
6 50 53 62 49
7 53 56 69 56
8 45 48 65 52
9 66 69 59 56
10 62 65 65 52
11 62 65 56 52
12 66 58 54 58
13 72 55 58 44
14 66 69 63 65
15 54 57 55 42
16 68 71 60 47
17 69 62 54 41
18 75 58 52 39
19 63 56 49 36
20 58 61 56 43
21 74 77 66 53
22 68 71 47 34
23 48 51 66 53
24 49 52 68 55
25 50 53 68 55
26 55 58 57 44
27 53 56 53 40
28 68 67 59 46
29 66 69 60 47
30 68 48 53 40
31 51 54 46 33
32 50 53 48 35
33 55 58 54 41
34 46 65 65 52
35 52 55 67 54
36 48 51 65 52
37 58 61 56 43
38 52 45 67 54
88
39 45 48 66 53
40 49 54 52 54
41 40 48 62 49
42 44 50 61 48
43 59 62 68 55
44 50 40 58 58
45 56 50 44 46
46 68 56 55 48
47 64 48 65 53
48 58 61 54 48
49 52 65 55 52
50 65 55 58 58
Tabla 23.
Consumo de memoria RAM en promedio con base en el total de pruebas
realizadas - Ionic Framework – IOS
Create (MB) a Read (MB) a Update (MB) a Delete (MB) a CRUD(MB) a
Total 57.68 57.56 56.64 44.92 55.70
Tabla 24.
Consumo de memoria RAM por cada una de las operaciones CRUD dentro del
plan de pruebas – Apache Cordova - Android
N° de Tarea Create (MB) a Read (MB) a Update (MB) a Delete (MB) a
1 50 53 66 53
2 46 69 67 58
3 46 55 77 64
4 48 59 81 68
5 63 66 56 67
6 53 56 78 65
7 57 65 87 74
8 50 53 75 62
9 62 65 59 52
10 42 45 67 69
11 62 65 43 55
12 68 71 53 54
89
13 69 72 55 42
14 68 71 63 65
15 49 52 57 65
16 48 51 60 57
17 69 72 63 56
18 71 74 52 65
19 61 64 49 56
20 52 55 56 54
21 68 71 66 53
22 62 65 47 55
23 55 58 80 67
24 57 60 82 69
25 47 50 72 59
26 58 61 57 64
27 59 62 53 60
28 71 74 59 66
29 61 64 62 59
30 67 70 53 56
31 61 54 66 54
32 42 55 48 55
33 65 58 54 53
34 46 54 76 63
35 55 56 67 54
36 57 60 82 69
37 59 62 56 63
38 58 60 82 69
39 55 58 69 56
40 64 67 52 65
41 62 65 62 64
42 56 59 61 67
43 59 62 84 71
44 60 60 68 65
45 54 56 65 50
46 62 65 54 50
47 67 70 56 55
48 58 60 58 61
49 49 52 65 52
50 60 63 58 55
Tabla 25.
Consumo de memoria RAM en promedio con base en el total de pruebas
realizadas - Apache Cordova - Android
90
Create (MB) a Read (MB) a Update (MB) a Delete (MB) a CRUD(MB) a
Total 57.76 61.28 63.56 60 60.65
Tabla 26.
Consumo de memoria RAM por cada una de las operaciones CRUD dentro del
plan de pruebas – Apache Cordova - IOS
N° de Tarea Create (MB) a Read (MB) a Update (MB) a Delete (MB) a
1 60 65 54 65
2 62 66 65 56
3 65 55 67 67
4 58 59 66 65
5 60 63 56 65
6 58 61 68 65
7 62 65 68 65
8 65 68 66 62
9 63 66 59 69
10 50 53 65 65
11 63 66 66 64
12 65 68 53 55
13 70 73 55 65
14 68 71 63 65
15 55 58 57 75
16 58 61 60 67
17 65 68 66 62
18 56 59 47 64
19 68 71 68 66
20 50 53 66 67
21 66 69 66 53
22 60 63 47 58
23 58 61 68 55
24 55 58 70 66
25 50 53 75 69
26 58 61 57 55
27 59 62 66 54
28 71 74 65 64
29 61 64 68 65
30 65 68 60 56
31 62 54 66 54
32 65 55 68 55
33 64 58 68 65
91
34 54 54 76 58
35 65 56 66 54
36 55 58 66 65
37 66 69 66 65
38 63 60 68 68
39 68 71 67 66
40 62 65 56 65
41 62 65 66 56
42 65 65 64 67
43 60 63 57 64
44 60 60 53 65
45 55 56 59 66
46 62 65 62 68
47 66 69 53 62
48 58 65 66 60
49 64 67 65 62
50 65 65 58 62
Tabla 27.
Consumo de memoria RAM en promedio con base en el total de pruebas
realizadas - Apache Cordova - IOS
Create (MB) a Read (MB) a Update (MB) a Delete (MB) a CRUD(MB) a
Total 61.30 62.84 62.94 62.72 62.45
Tabla 28.
Porcentaje de CPU con que consumen las operaciones CRUD, para cada una de
92
las tareas dentro del plan de pruebas – Ionic Framework - Android
N° de Tarea Create (%) a Read (%) a Update (%) a Delete (%) a
1 1.30 1.30 1.40 1.30
2 1.30 1.35 1.40 1.30
3 1.30 1.45 1.25 1.45
4 1.35 1.35 1.35 1.30
5 1.30 1.45 1.55 1.30
6 1.20 1.45 1.25 1.45
7 1.35 1.30 1.55 1.30
8 1.30 1.35 1.55 1.30
9 1.35 1.45 1.45 1.60
10 1.40 1.35 1.25 1.30
11 1.30 1.45 1.25 1.55
12 1.20 1.35 1.45 1.55
13 1.30 1.45 1.25 1.35
14 1.55 1.30 1.60 1.30
15 1.35 1.35 1.25 1.30
16 1.50 1.50 1.55 1.40
17 1.35 1.55 1.35 1.30
18 1.35 1.35 1.45 1.55
19 1.35 1.40 1.25 1.30
20 1.35 1.35 1.35 1.30
21 1.25 1.45 1.40 1.30
22 1.35 1.45 1.55 1.45
23 1.55 1.35 1.30 1.55
24 1.20 1.50 1.45 1.30
25 1.20 1.35 1.55 1.35
26 1.20 1.35 1.45 1.30
27 1.35 1.45 1.55 1.55
28 1.55 1.45 1.45 1.35
29 1.55 1.55 1.25 1.55
30 1.35 1.45 1.45 1.30
31 1.35 1.45 1.55 1.45
32 1.25 1.40 1.35 1.30
33 1.55 1.45 1.35 1.35
34 1.55 1.55 1.25 1.30
35 1.55 1.45 1.25 1.30
36 1.35 1.45 1.45 1.55
37 1.35 1.45 1.45 1.30
38 1.30 1.35 1.35 1.30
39 1.20 1.35 1.55 1.55
40 1.35 1.40 1.45 1.55
41 1.35 1.45 1.35 1.55
42 1.40 1.35 1.60 1.30
43 1.55 1.55 1.35 1.45
44 1.55 1.35 1.35 1.55
45 1.35 1.50 1.60 1.55
93
46 1.55 1.45 1.55 1.35
47 1.30 1.45 1.45 1.30
48 1.55 1.45 1.45 1.30
49 1.35 1.55 1.55 1.40
50 1.35 1.35 1.45 1.55
Tabla 29.
Porcentaje de consumo de CPU en promedio para cada una de las operaciones
CRUD - Ionic Framework - Android
Create (%) a Read (%) a Update (%) a Delete (%) a CRUD (%) a
Total 1.37 1.42 1.42 1.40 1.4
Tabla 30.
Porcentaje de CPU con que consumen las operaciones CRUD, para cada una de
las tareas dentro del plan de pruebas – Ionic Framework - IOS
N° de Tarea Create (%) a Read (%) a Update (%) a Delete (%) a
1 1.40 1.40 1.40 1.30
2 1.40 1.40 1.40 1.30
3 1.40 1.45 1.40 1.35
4 1.35 1.45 1.40 1.35
5 1.35 1.40 1.40 1.35
6 1.35 1.40 1.40 1.35
7 1.40 1.45 1.40 1.35
8 1.40 1.45 1.40 1.35
9 1.40 1.45 1.45 1.35
10 1.45 1.45 1.45 1.40
11 1.45 1.45 1.45 1.40
12 1.45 1.45 1.45 1.40
13 1.45 1.45 1.45 1.40
14 1.45 1.50 1.45 1.40
15 1.45 1.50 1.45 1.45
16 1.45 1.50 1.45 1.45
17 1.40 1.50 1.45 1.45
18 1.40 1.50 1.50 1.45
19 1.40 1.50 1.50 1.45
20 1.40 1.50 1.50 1.50
21 1.35 1.50 1.50 1.50
94
22 1.35 1.55 1.50 1.50
23 1.35 1.55 1.50 1.50
24 1.55 1.50 1.50 1.50
25 1.55 1.55 1.50 1.50
26 1.55 1.55 1.50 1.50
27 1.55 1.50 1.55 1.50
28 1.55 1.50 1.55 1.55
29 1.55 1.50 1.55 1.55
30 1.55 1.50 1.55 1.55
31 1.35 1.50 1.55 1.55
32 1.35 1.55 1.55 1.55
33 1.55 1.55 1.55 1.55
34 1.55 1.55 1.55 1.60
35 1.55 1.60 1.55 1.60
36 1.40 1.60 1.60 1.60
37 1.40 1.55 1.60 1.60
38 1.40 1.55 1.60 1.60
39 1.40 1.60 1.60 1.60
40 1.35 1.60 1.60 1.65
41 1.35 1.55 1.60 1.65
42 1.40 1.55 1.60 1.65
43 1.55 1.65 1.60 1.65
44 1.55 1.65 1.60 1.65
45 1.40 1.65 1.60 1.65
46 1.55 1.65 1.60 1.70
47 1.55 1.65 1.60 1.70
48 1.55 1.65 1.65 1.70
49 1.55 1.65 1.65 1.70
50 1.55 1.65 1.65 1.70
Tabla 31.
Porcentaje de consumo de CPU en promedio para cada una de las operaciones
CRUD - Ionic Framework - IOS
Create (%) a Read (%) a Update (%) a Delete (%) a CRUD (%) a
Total 1.45 1.53 1.52 1.51 1.50
95
Tabla 32.
Porcentaje de CPU con que consumen las operaciones CRUD, para cada una de
las tareas dentro del plan de pruebas – Apache Cordova - Android
N° de Tarea Create (%) a Read (%) a Update (%) a Delete (%) a
1 1.95 1.95 1.95 1.55
2 1.90 1.85 1.60 1.55
3 1.30 2.10 1.60 1.45
4 1.85 1.95 1.85 1.30
5 1.90 2.10 1.55 1.55
6 1.85 1.95 1.90 1.85
7 1.85 1.85 1.95 1.55
8 1.85 1.95 1.55 1.55
9 1.85 1.45 1.85 1.55
10 1.90 1.95 1.85 1.85
11 1.90 2.10 1.85 1.55
12 1.95 1.95 1.45 1.55
13 1.85 1.45 1.95 1.85
14 1.55 1.85 1.60 1.65
15 1.85 2.10 1.75 1.85
16 1.50 2.05 1.55 1.40
17 1.85 1.55 1.85 1.65
18 1.85 1.85 1.85 1.55
19 1.85 2.15 1.85 1.65
20 1.85 1.85 1.85 1.85
21 2.15 1.85 1.85 1.85
22 1.85 2.15 1.95 1.85
23 1.55 1.95 1.85 1.55
24 1.20 1.80 1.45 1.75
25 1.95 2.05 1.55 1.75
26 1.90 2.05 1.95 1.65
27 1.90 1.85 1.55 1.55
28 1.55 1.85 1.45 1.95
29 1.55 1.95 1.95 1.55
30 1.85 2.05 1.45 1.95
31 1.90 2.05 1.55 1.95
32 1.25 1.95 1.85 1.65
33 1.55 1.95 1.85 1.75
34 1.55 1.55 1.95 1.75
35 1.55 1.85 1.75 1.95
36 1.95 2.10 1.75 1.85
37 1.95 1.95 1.95 1.85
38 1.85 2.05 1.85 1.95
39 1.85 1.95 1.55 1.55
40 1.85 2.05 1.85 1.75
41 1.85 1.95 1.75 1.95
42 1.95 1.85 1.85 1.65
43 1.55 1.55 1.85 1.85
96
44 1.95 1.85 1.85 1.75
45 1.85 1.95 1.95 1.85
46 1.95 1.50 1.85 1.95
47 1.90 1.95 1.75 1.85
48 2.05 2.05 1.95 1.95
49 1.85 2.05 1.75 1.85
50 1.90 1.85 1.75 1.95
Tabla 33.
Porcentaje de consumo de CPU en promedio para cada una de las operaciones
CRUD – Apache Cordova - Android
Create (%) a Read (%) a Update (%) a Delete (%) a CRUD (%) a
Total 1.79 1.91 1.77 1.73 1.8
Tabla 34.
Porcentaje de CPU con que consumen las operaciones CRUD, para cada una de
las tareas dentro del plan de pruebas – Apache Cordova - IOS
N° de Tarea Create (%) a Read (%) a Update (%) a Delete (%) a
1 1.65 1.60 1.60 1.50
2 1.65 1.60 1.60 1.50
3 1.65 1.65 1.60 1.50
4 1.65 1.65 1.60 1.55
5 1.60 1.65 1.60 1.55
6 1.60 1.65 1.60 1.50
7 1.65 1.65 1.60 1.55
8 1.65 1.65 1.65 1.55
9 1.65 1.65 1.65 1.55
10 1.65 1.65 1.65 1.55
11 1.65 1.65 1.65 1.55
12 1.65 1.65 1.65 1.60
13 1.65 1.65 1.65 1.60
14 1.70 1.70 1.70 1.60
15 1.70 1.65 1.70 1.60
16 1.70 1.65 1.70 1.60
97
17 1.70 1.70 1.70 1.60
18 1.70 1.65 1.70 1.60
19 1.70 1.65 1.70 1.60
20 1.70 1.65 1.75 1.60
21 1.70 1.70 1.75 1.55
22 1.70 1.70 1.75 1.55
23 1.75 1.70 1.75 1.55
24 1.75 1.70 1.75 1.55
25 1.75 1.70 1.75 1.55
26 1.75 1.70 1.75 1.55
27 1.75 1.70 1.80 1.60
28 1.75 1.70 1.80 1.60
29 1.75 1.70 1.80 1.60
30 1.75 1.70 1.80 1.60
31 1.75 1.70 1.80 1.60
32 1.75 1.70 1.80 1.60
33 1.75 1.70 1.85 1.60
34 1.80 1.70 1.85 1.60
35 1.80 1.70 1.85 1.60
36 1.80 1.75 1.85 1.60
37 1.80 1.75 1.85 1.60
38 1.80 1.75 1.85 1.60
39 1.80 1.75 1.85 1.60
40 1.80 1.75 1.85 1.60
41 1.80 1.75 1.90 1.65
42 1.85 1.75 1.90 1.65
43 1.85 1.75 1.90 1.65
44 1.85 1.75 1.90 1.65
45 1.85 1.75 1.90 1.65
46 1.85 1.80 1.90 1.65
47 1.85 1.80 1.95 1.65
48 1.90 1.80 1.95 1.65
49 1.90 1.80 1.95 1.70
50 1.90 1.80 1.95 1.70
Tabla 35.
Porcentaje de consumo de CPU en promedio para cada una de las operaciones
CRUD – Apache Cordova - IOS
Create (%) a Read (%) a Update (%) a Delete (%) a CRUD (%) a
Total 1.74 1.70 1.77 1.59 1.70
98
que consumen cada uno de las operaciones CRUD. En la columna “CRUD” se
muestra el valor final de consumo por Aplicación. Fuente: Elaboración propia.
Tiempos de respuesta
Dentro de este plan de pruebas se han considerado los tiempos de respuesta en
milisegundos al consumo de los servicios web que ejecutan cada una de las
operaciones CRUD para cada una de las aplicaciones desarrolladas tanto para
Ionic Framework como para Apache Cordova en las plataformas Android e IOS.
Tabla 36.
Tiempos de respuesta para cada una de las operaciones CRUD dentro del plan
de pruebas – Ionic Framework - Android
N° de Tarea Create (ms) a Read (ms) a Update (ms) a Delete (ms) a
1 602 519 582 543
2 668 546 609 570
3 646 573 636 597
4 680 650 713 674
5 669 562 625 586
6 635 515 578 539
7 627 510 573 534
8 660 543 606 567
9 692 575 638 599
10 686 569 632 593
11 682 565 628 589
12 694 577 640 601
13 703 586 649 610
14 709 592 655 616
15 705 588 651 612
16 711 594 657 618
17 710 593 656 617
18 716 599 662 623
19 718 601 664 625
20 701 584 647 608
21 716 599 662 623
22 713 596 659 620
23 731 614 677 638
24 742 625 688 649
25 747 630 693 654
26 758 641 704 665
27 769 652 715 676
28 771 654 717 678
29 761 644 707 668
30 767 650 713 674
99
31 781 664 727 688
32 802 685 748 709
33 795 678 741 702
34 816 699 762 723
35 825 708 771 732
36 852 735 798 759
37 859 742 805 766
38 900 783 846 807
39 915 798 861 822
40 922 805 868 829
41 936 819 882 843
42 944 827 890 851
43 939 822 885 846
44 950 833 896 857
45 956 839 902 863
46 962 845 908 869
47 965 848 911 872
48 991 875 938 899
49 972 847 910 871
50 987 873 956 874
milisegundos que consumen cada una de las tareas con operaciones CRUD.
Fuente: Elaboración propia
Tabla 37.
Tiempos de respuesta en promedio cada una de las operaciones CRUD – Ionic
Framework - Android
Create (ms) a Read (ms) a Update (ms) a Delete (ms) a
Total 783.16 669.42 732.82 692.96
Tabla 38.
Tiempos de respuesta para cada una de las operaciones CRUD dentro del plan
de pruebas – Ionic Framework - IOS
N° de Tarea Create (ms) a Read (ms) a Update (ms) a Delete (ms) a
1 650 545 645 622
2 655 530 639 628
3 658 543 645 631
4 656 535 600 630
100
5 662 569 632 616
6 662 565 628 612
7 662 577 640 618
8 667 586 649 617
9 667 592 655 623
10 668 588 651 625
11 666 594 657 618
12 661 577 640 643
13 663 586 649 646
14 669 592 655 656
15 652 588 651 650
16 661 594 657 638
17 665 593 656 647
18 663 599 662 644
19 662 601 664 645
20 654 584 647 638
21 668 599 662 666
22 658 596 659 639
23 652 614 677 645
24 657 620 683 644
25 671 610 673 634
26 668 641 704 665
27 658 652 715 676
28 661 654 710 671
29 655 642 705 666
30 669 650 713 674
31 661 664 727 688
32 662 614 677 638
33 664 625 688 649
34 653 630 693 654
35 658 641 704 665
36 669 632 695 656
37 671 634 697 658
38 673 644 683 648
39 675 630 693 654
40 673 651 704 665
41 678 617 680 641
42 677 625 680 646
43 675 632 684 654
44 676 638 700 661
45 673 642 703 646
46 675 620 683 632
47 673 643 706 652
48 678 631 688 649
49 679 652 715 654
50 675 651 746 651
101
Nota: Los valores mostrados corresponden al tiempo de respuesta en a
milisegundos que consumen cada una de las tareas con operaciones CRUD.
Fuente: Elaboración propia
Tabla 39.
Tiempos de respuesta en promedio cada una de las operaciones CRUD – Ionic
Framework - IOS
Create (ms) a Read (ms) a Update (ms) a Delete (ms) a
Total 665.16 610.65 675.38 645.76
Tabla 40.
Tiempos de respuesta para cada una de las operaciones CRUD dentro del plan
de pruebas – Apache Cordova - Android
N° de Tarea Create (ms) a Read (ms) a Update (ms) a Delete (ms) a
1 508 506 571 560
2 634 533 598 587
3 612 560 625 614
4 646 637 702 691
5 635 549 614 603
6 601 502 567 556
7 593 497 562 551
8 626 530 595 584
9 658 562 627 616
10 652 557 621 610
11 648 552 617 606
12 660 564 629 618
13 669 573 638 627
14 675 579 644 633
15 671 575 640 629
16 677 581 646 635
17 676 580 645 634
18 682 586 651 640
19 684 588 653 642
20 667 571 636 625
21 682 586 651 640
22 679 583 648 637
23 697 601 666 655
24 708 612 677 666
25 713 617 682 671
26 724 628 693 682
102
27 735 639 704 693
28 737 641 706 695
29 727 631 696 685
30 733 637 702 691
31 747 651 716 705
32 768 672 737 726
33 761 665 730 719
34 782 686 751 740
35 791 695 760 749
36 818 722 787 776
37 825 729 794 783
38 866 770 835 824
39 881 785 850 839
40 888 792 857 846
41 902 806 871 860
42 910 814 879 868
43 905 819 874 863
44 916 820 885 874
45 922 826 896 880
46 928 833 898 886
47 931 835 901 889
48 958 862 927 916
49 938 842 907 896
50 953 860 925 914
milisegundos que consumen cada una de las tareas con operaciones CRUD.
Fuente: Elaboración propia.
Tabla 41.
Tiempos de respuesta en promedio cada una de las operaciones CRUD – Apache
Cordova – Android.
Create (ms) a Read (ms) a Update (ms) a Delete (ms) a
Total 747.98 656.82 721.72 710.58
Tabla 42.
Tiempos de respuesta para cada una de las operaciones CRUD dentro del plan
de pruebas – Apache Cordova - IOS
N° de Tarea Create (ms) a Read (ms) a Update (ms) a Delete (ms) a
1 535 510 695 547
103
2 624 537 607 574
3 635 564 560 601
4 662 641 555 678
5 668 553 588 590
6 664 506 620 543
7 650 501 614 538
8 669 534 610 571
9 655 566 622 603
10 657 561 631 597
11 660 556 610 593
12 662 568 622 605
13 659 577 631 614
14 655 583 637 620
15 651 579 633 616
16 657 585 639 622
17 656 584 638 621
18 662 590 644 627
19 664 592 646 629
20 647 548 629 612
21 662 563 644 627
22 659 560 641 624
23 677 578 659 642
24 688 589 670 653
25 693 594 675 658
26 704 605 617 669
27 722 616 565 680
28 725 618 567 682
29 715 608 557 646
30 691 614 563 652
31 705 618 577 666
32 726 616 598 667
33 719 609 591 680
34 740 630 612 701
35 749 635 621 710
36 730 666 648 737
37 737 673 655 744
38 778 714 666 773
39 793 729 711 763
40 791 713 718 770
41 805 727 731 784
42 813 735 720 792
43 808 741 735 787
44 816 742 746 798
45 815 747 758 804
46 831 744 759 810
47 832 716 762 813
48 831 683 768 810
49 841 623 768 818
50 852 681 756 796
104
Nota: Los valores mostrados corresponden al tiempo de respuesta en a
milisegundos que consumen cada una de las tareas con operaciones CRUD.
Fuente: Elaboración propia.
Tabla 43.
Tiempos de respuesta en promedio cada una de las operaciones CRUD – Apache
Cordova – IOS.
Create (ms) a Read (ms) a Update (ms) a Delete (ms) a
Total 712.8 618.44 649.79 675.15
Aportes finales
Los resultados de la investigación denominada “Análisis comparativo de
frameworks de desarrollo para aplicaciones móviles híbridas” aporta de manera
significativa a la toma de decisiones en equipos de desarrollo, departamentos de TI
de empresas, organizaciones e instituciones al momento de elegir, seleccionar el
framework que mejor se adapta y acomoda a los requerimientos del proyecto a
móvil híbrido a implementar.
105
frameworks que son parte del estudio como son Ionic Framework y Apache
Cordova.
Así mismo el trabajo de investigación sirve como guía para posibles posteriores
estudios referentes al tema, de modo que este estudio puede significar gran aporte
a nuevas investigaciones.
V. CONCLUSIONES Y RECOMENDACIONES
6.1. Conclusiones
106
uno de los frameworks teniendo en cuenta la curva de aprendizaje, acceso
a tutoriales y documentación.
6.2. Recomendaciones
107
Con el paso del tiempo es probable que se desarrollen más sistemas operativos
para plataformas móviles, por ello se recomienda que los frameworks a utilizar
siempre sean compatibles con las nuevas plataformas o sistemas operativos que
se encuentren en vigencia.
108
REFERENCIAS.
Apache Cordova (2021). Architecture. Retrieved Aug 12, 2021, from
https://cordova.apache.org/docs/en/10.x/guide/overview/index.html
Ionic Framework (2021). Getting started Overview. Aug 12, 2021,
https://ionicframework.com/docs
R. Nunkesser, (2018). Beyond Web/Native/Hybrid: A New Taxonomy for Mobile App
Development. IEEE/ACM 5th International Conference on Mobile Software
Engineering and Systems (MOBILESoft), pp. 214-218.
V. P. La Manna and F. Pasveer, (2018). Towards a Framework for Proximity-Based
Hybrid Mobile Applications. IEEE/ACM 5th International Conference on Mobile
Software Engineering and Systems (MOBILESoft), pp. 176-179.
Y. Yang, Y. Zhang, P. Xia, B. Li y Z. Ren, (2017). Mobile Terminal Development
Plan of Cross-Platform Mobile Application Service Platform Based on Ionic and
Cordova. International Conference on Industrial Informatics - Computing
Technology, Intelligent Technology, Industrial Information Integration (ICIICII).
pp. 100-103, doi: 10.1109/ICIICII.2017.28.
C.M. Pinto y C. Coutinho, (2018). From Native to Cross-platform Hybrid
Development. International Conference on Intelligent Systems (IS), pp. 669-
676, doi: 10.1109/IS.2018.8710545.
I. Malavolta, (2016). Web-Based Hybrid Mobile Apps: State of the Practice and
Research Opportunities. IEEE/ACM International Conference on Mobile
Software Engineering and Systems (MOBILESoft), pp. 241-242, doi:
10.1109/MobileSoft.2016.050.
S. Bosnic, I. Papp and S. Novak, (2016). The development of hybrid mobile
applications with Apache Cordova. 24th Telecommunications Forum
(TELFOR), pp. 1-4, doi: 10.1109/TELFOR.2016.7818919.
B. Mathur y S.M. Satapathy, (2019). An Analytical Comparison of Mobile Application
Development using Agile Methodologies. 3rd International Conference on
Trends in Electronics and Informatics (ICOEI), pp. 1147-1152, doi:
10.1109/ICOEI.2019.8862532.
K. Vishal y A. S. Kushwaha, (2018). Mobile Application Development Research
Based on Xamarin Platform. 4th International Conference on Computing
Sciences (ICCS), pp. 115-118, doi: 10.1109/ICCS.2018.00027.
109
E. Morocho y E. Gómez-Torres, (2019). Application of ISO 25000 for Comparative
Analysis of Cross-Platform Mobile Application Development Tools.
International Conference on Information Systems and Computer Science
(INCISCOS), pp. 319-325, doi: 10.1109/INCISCOS49368.2019.00057.
P. Que, X. Guo and M. Zhu, (2016). A Comprehensive Comparison between Hybrid
and Native App Paradigms. 8th International Conference on Computational
Intelligence and Communication Networks (CICN) pp. 611-614, doi:
10.1109/CICN.2016.125.
G2 Crowd. (2021). Best Mobile Development Frameworks | G2
Crowd. Retrieved Oct 28, 2021, from https://www.g2.com/categories/mobile-
development-frameworks#grid
Inei (2019). Perú: Tecnologías de Información y Comunicaciones en las Empresas,
2018 – Encuesta Económica Anual 2019. Retrieved Oct 28, 2021, from
https://www.inei.gob.pe/media/MenuRecursivo/publicaciones_digitales/Est/Li
b1815/libro.pdf
Domínguez, F., Paredes, M., & Santacruz, L. (2014). Programación multimedia y
dispositivos móviles. (S. A. E. y P. A-MA, Ed.) (Editorial). Madrid: RA-MA.
Retrieved Oct 28, 2021, from www.ra-ma.es
Molina, Y., Sandoval, J., & Toledo, S. A. (2012). Sistema Operativo Android:
Características y Funcionalidad para dispositivos móviles. UNIVERSIDAD
TECNOLÓGICA DE PEREIRA. Retrieved Oct 31, 2021, from
http://repositorio.utp.edu.co/dspace/bitstream/11059/2687/1/0053M722.pdf
Luján Mora, S. (2002). Programación de aplicaciones web: historia, principios
básicos y clientes web. Alicante, España: Club Universitario.
Puetate & Ibarra (2020). Aplicaciones móviles híbridas. Retrieved Oct 20, 2021,
from https://www.pucesi.edu.ec/webs2/wp-
content/uploads/2021/02/Aplicaciones-M%C3%B3viles-H%C3%ADbridas-
2020.pdf
Cruz, J. (2012). Programación en Java. Retrieved Oct 20, 2021, from
https://www.eumed.net/libros-gratis/ciencia/2012/12/que-es-java.html
Guncay Barzallo, M. C., & Samaniego Mosquera, J. W. (2016). Evaluación de
frameworks para el desarrollo de aplicaciones móviles multiplataforma.
Retrieved Oct 20, 2021, from
110
https://dspace.unl.edu.ec/jspui/handle/123456789/11177
Pérez, J., & Gardey, A. (2008). Actualizado: 2021.
Definición de html. Retrieved Oct 20, 2021, from https://definicion.de/html
Varun B. (2021). Hybrid Mobile App Frameworks You Can Opt for in 2021 & Beyond.
Retrieved Oct 20, 2021, from https://www.pixelcrayons.com/blog/the-top-
hybrid-mobile-app-frameworks-for-2021
Casiano, B. J. (2019). Evaluación de frameworks open source para medir la
eficiencia en aplicaciones móviles multiplataforma. Universidad Señor de Sipan.
Retrieved Oct 20, 2021 from
http://repositorio.uss.edu.pe/handle/20.500.12802/6296
Sierra, J. (2017). Una propuesta de automatización de operaciones CRUD en IFML.
Universidad de Extremadura Escuela Politécnica, Retrieved Oct 20, 2021 from
https://dehesa.unex.es:8443/bitstream/10662/7277/1/TFGUEX_2017_Sierra_
Blazquez.pdf
Haro, A. & Quishpi, E. G. (2019). Desarrollo de una aplicación web y móvil híbrida
para la gestión y seguimiento de juicios en el estudio jurídico “Morales &
Asociados”. Escuela Superior Politécnica de Chimborazo. Riobamba.
Retrieved Oct 20, 2021 from
http://dspace.espoch.edu.ec/handle/123456789/13653
Palomino Aldazabal, R. Y. (2018). Aplicación móvil hibrida que gestiona en tiempo
real las preferencias de los clientes en los restaurantes del distrito de Andahuaylas,
2018. Universidad Nacional José María Arguedas. Andahuaylas. Retrieved
Oct 20, 2021 from http://repositorio.unajma.edu.pe/handle/123456789/375
Montes Cornejo, L. A. (2020). Aplicativo móvil para la ubicación e identificación de
Pymes. Universidad Tecnológica del Perú. Lima. Retrieved Oct 20, 2021 from
https://hdl.handle.net/20.500.12867/3973
111
https://dialnet.unirioja.es/servlet/articulo?codigo=6779622
Francia Peralta, N. F. (2019). Análisis comparativo de frameworks open source para
el nivel de productividad en los proyectos de desarrollo de software web.
Universidad Tecnológica del Perú. Retrieved Oct 20, 2021 from
https://hdl.handle.net/20.500.12867/2736
Castillo Chinchay, F. & Dávila Hurtado, J. A. (2020). Desarrollo de una Aplicación
Móvil para gestionar el proceso De registro de ventas, en la empresa
Despensa Peruana S.A. Universidad Nacional Pedro Ruiz Gallo. Retrieved Oct 20,
2021 from https://hdl.handle.net/20.500.12893/8844
Gamma, E. (1995). Design Patterns: Elements of Reusable Object-Oriented
Software. Addison-Wesley.
Bravo Rivera, R. (2021). Análisis comparativo entre frameworks, para el desarrollo
de aplicaciones móviles multiplataformas. Universidad Técnica de Babahoyo.
Babahoyo. Retrieved Oct 20, 2021 from
http://dspace.utb.edu.ec/handle/49000/9473
Oros, J.C. (2002). Diseño de páginas web interactivas con Java Script y CSS.
(3a.ed.). México: Editorial Alfaomega.
Suárez, E. (2011). Análisis comparativo de los Frameworks EJB3 y ADO.NET Entity
framework para el desarrollo de aplicaciones empresariales. Escuela
Politécnica Nacional. Quito. Retrieved Oct 20, 2021 from
http://bibdigital.epn.edu.ec/handle/15000/4295
Guerrero, C., y Recaman, H. (2009). Marcos de Trabajo (Framework) para soportar
el desarrollo de aplicaciones Web de código abierto, 10-25, (Sic) Editorial
Ltda., Bucaramanga, Colombia. (2009).
Sánchez Acosta, C. A. (2015). Análisis comparativo de frameworks para el
desarrollo de aplicaciones web en java. Universidad Señor de Sipán. Chiclayo.
Retrieved Oct 20, 2021 from https://hdl.handle.net/20.500.12802/242.
Gutierrez, J. (s,f). ¿Qué es un Framework Web? Retrieved Oct 20, 2021 from
http://www.lsi.us.es/~javierj/investigacion_ficheros/Framework.pdf
Molina Ríos, J.R., Zea Ordóñez, M.P., Contento Segarra, M.J. y García Zerda, F.G.
(2018). Comparación de metodologías en aplicaciones web. 3C Tecnología:
glosas de innovación aplicadas a la pyme, 7(1). 1-19. DOI:
<http://dx.doi.org/10.17993/3ctecno.2018.v7n1e25.1-19/>
112
Thomas, P., Delia, L., Corbalan, L., Cáceres, G., Fernández Sosa, J., Tesone, F.,
Cuitiño, A., Pesado, P. (2018). Tendencias en el desarrollo de Aplicaciones
para Dispositivos Móviles. Retrieved Oct 20, 2021 from
https://digital.cic.gba.gob.ar/bitstream/handle/11746/8316/11746_8316.pdf?
sequence=1&isAllowed=y
113
ANEXOS
Anexo 1. Resolución de aprobación del proyecto de investigación
114
Anexo 2. Instrumentos de recolección de datos, con su respectiva validación de los
instrumentos.
GUÍA DE OBSERVACIÓN
SUBPROCESO:
MEDICIÓN PARA OBTENER EL TIPO DE RESPUESTA Y CONSUMO DE RECURSOS DE CPU DE UNA
APLICACIÓN MÓVIL CON UN CRUD – IONC FRAMEWORK
115
GUÍA DE OBSERVACIÓN
SUBPROCESO:
MEDICIÓN PARA OBTENER EL TIPO DE RESPUESTA Y CONSUMO DE RECURSOS DE CPU DE UNA
APLICACIÓN MÓVIL CON UN CRUD - APACHE CORDOVA
116
GUIA DE ANALISIS DOCUMENTAL
Acerca de los Frameworks de desarrollo de aplicación móviles híbridas
Categoría de Leaders
evaluación Niche
High performers.
117
Entrevista
Entrevistado:
Cargo:
Framework:
Cuestionario de Preguntas
1.- Indique en horas esfuerzo cuánto tiempo tomó realizar el servicio web para agregar un
usuario:
A. 1 a 4 horas
B. 4 a 8 horas
C. 8 a 16 horas
D. más de 16 horas
2.- Indique en horas esfuerzo cuánto tiempo tomó implementar las pantallas para agregar
un usuario:
A. 1 a 4 horas
B. 4 a 8 horas
C. 8 a 16 horas
D. más de 16 horas
3.- Indique en horas esfuerzo cuánto tiempo tomó realizar el servicio web para listar
usuarios:
A. 1 a 4 horas
B. 4 a 8 horas
C. 8 a 16 horas
D. más de 16 horas
4.- Indique en horas esfuerzo cuánto tiempo tomó implementar las pantallas para listar
usuarios:
A. 1 a 4 horas
B. 4 a 8 horas
C. 8 a 16 horas
D. más de 16 horas
5.- Indique el grado de dificultad que implica la integración del proyecto al framework
seleccionado.
A. Fácil
B. Intermedio
C. Difícil
D. Muy difícil
118
6.- Seleccione la alternativa con la que se identifica al momento de buscar
documentación, videotutoriales y material didáctico en la web sobre el framework
seleccionado.
A. Fácil - Hay bastante material en la web
B. Intermedio - Hay poco material en la web
C. Difícil - Hay muy poco material en la web
D. No hay material en la web.
7.- En base a su experiencia en el desarrollo con el framework seleccionado a qué nivel
de programadores recomendaría utilizar el framework por primera vez?
A. Programador Junior
B. Mínimo programador Semi Senior
C. Mínimo programadores Senior
D. Todas las anteriores.
8.- Califique su experiencia en general en el proyecto utilizando el framework
seleccionado.
A. Buena
B. Regular
C. Mala
D. Muy mala
9.- Volvería a utilizar el framework seleccionado en otros proyectos de desarrollo de
aplicación móvil híbrida?
A. Sí, definitivamente.
B. Probablemente sí.
C. Lo pensaría.
D. Definitivamente no.
119
Entrevista
Entrevistado:
Cargo:
Framework:
Cuestionario de Preguntas
120
B. Intermedio
C. Complejo
D. Avanzado
121
122
123
124
125
126
127
128
129
130
Anexo 3. Matriz de Consistencia Lógica de tema de investigación
MATRÍZ DE CONSISTENCIA LÓGICA DE TEMA DE INVESTIGACIÓN
Enfoque metodológico
Titulo ANÁLISIS COMPARATIVO ENTRE FRAMEWORKS DE DESARROLLO PARA APLICACIONES MÓVILES HÍBRIDAS
Apellidos y
DE LA CRUZ CERON ROBERTO CARLOS
nombres (1)
Problema Variables
- Frameworks
¿Cómo elegir el framework que mejor
- Aplicaciones móviles híbridas
se adapte a las
necesidades de un equipo de
desarrollo a la hora de implementar
una aplicación móvil hibrida?
a. Obj.A
1.- Buscar frameworks de desarrollo para aplicaciones
móviles híbridas.
2.- Revisar documentación y tutoriales sobre cada uno.
3.- Seleccionar dos frameworks a analizar.
a. Seleccionar los frameworks para 4.- Validar documentación, instaladores y tutoriales.
Se implementa una aplicación móvil
realizar la comparativa. b. Obj.b
híbrida con CRUD con un cada uno de Realizar análisis comparativo de
b. Desarrollar una aplicación como caso 1.- Definir el negocio de la aplicación a desarrollar.
los frameworks seleccionados para los frameworks para el desarrollo
de estudio para la comparación. 2.- Iniciar desarrollo de la aplicación con cada
medir los resultados mediante casos de aplicaciones móviles híbridas.
c) Realizar pruebas a las aplicaciones framework.
de pruebas.
desarrolladas con base en los 3.- Realizar entrevista a equipo de desarrollo.
frameworks. c. Objc
1.- Presentar y analizar resultados de encuestas.
2.- Revisar y analizar métricas obtenidas en el desarrollo
de la aplicación.
3.- Contrastar con la hipótesis.
131
132