Una metodología de desarrollo centrada en la comunicación, la colaboración y la integración, conocida como movimiento DevOps, cobró fuerza en los últimos años dentro de la industria del software. Ésta propone un “conjunto de prácticas destinadas a reducir el tiempo transcurrido desde que se realiza un cambio a un sistema hasta que éste es aplicado en producción manteniendo la alta calidad del sistema”, según la definición de Leonard Joel Bass. Uno de los principios más importantes propuestos por este cambio cultural es el de despliegue continuo, que apunta a “realizar entregas de software regularmente automatizando gran parte de las tareas requeridas”.
Analizan la complejidad de las aplicaciones móviles híbridas
Investigadores de la Facultad Regional Villa María de la UTN trabajan en la implementación de un esquema de despliegue continuo. Proponen soluciones a las dificultades encontradas. El artículo fue presentado en el CyTal
En ese marco, ingenieros e investigadores de la Facultad Regional Villa María de la Universidad Tecnológica Nacional (FRVM) realizaron implementaciones de esquemas de despliegue continuo para diversas aplicaciones web siguiendo lo que algunos especialistas denominan “las buenas prácticas recomendadas”.
El trabajo realizado por Fernando Sorzana, Matías Cassani y David Belamate fue publicado en las memorias del CyTAL 2018 y avanza en que algunos desarrollos de aplicaciones móviles híbridas desarrollados en los últimos años encuentran dificultades adicionales al momento de implementar este tipo de esquemas. Asimismo, plantearon que la mayoría de la bibliografía sobre el tema se centra en servicios y aplicaciones web que residen en servidores con un ambiente más fácil de controlar.
“Las aplicaciones móviles y, particularmente, las aplicaciones móviles híbridas presentan un nuevo desafío a la aplicación de estas metodologías debido a la gran variedad de plataformas en las que deben funcionar y a los mecanismos requeridos para actualizar las mismas”, remarcaron en la publicación.
En el proyecto intentaron resolver “numerosas dificultades adicionales” encontradas al momento de implementar esquemas de integración continua en aplicaciones móviles híbridas. “Muchas de las dificultades planteadas, como la imposibilidad de hacer despliegue progresivo o de mantener la integridad binaria en ambientes distintos, surgen de las limitaciones que las plataformas móviles imponen a los desarrolladores”, expusieron.
Sin embargo, consideraron que “es probable que en un futuro próximo, a medida que crezca la adopción de los esquemas de integración continua, los proveedores brinden mayores herramientas a los desarrolladores para facilitar el despliegue de sus aplicaciones”.
Cabe destacar que una aplicación móvil híbrida es aquella desarrollada para dispositivos móviles utilizando tecnologías web y que puede acceder a las características nativas del dispositivo (cámara, sensores, contactos, entre otros) a través de una interfaz Javascript estándar provista por un framework, componente de software que permite a los desarrolladores crear aplicaciones móviles multiplataforma. En tanto que el despliegue continuo es una práctica de desarrollo de software que propone que cada cambio realizado sea desplegado a producción utilizando un proceso automatizado que no requiere intervención humana. “La diferencia con la entrega continua radica en que el despliegue del software a producción no requiere ninguna aprobación humana y toda versión del sistema que pase la totalidad de las pruebas se despliega de forma automática”, puntualizaron los ingenieros.
En la investigación se avanzó en un esquema para “mitigar la mayoría de las dificultades y reducir en gran medida el riesgo asociado al despliegue” de aplicaciones móviles híbridas. “Se pudo encontrar solución a la mayoría, pero fue necesario utilizar diversas herramientas adicionales además de aquellas utilizadas en las aplicaciones web tradicionales”, concluyeron.
Así, propusieron una línea de despliegue continuo de ejemplo que aplica estas soluciones utilizando herramientas de software libre y analizaron la complejidad de este tipo de esquemas. También remarcaron que pueden existir soluciones más simples en el corto plazo.
Entre los principales factores que dificultan la implementación del despliegue continuo, los investigadores describieron la “variabilidad del entorno de ejecución”, es decir la “gran variedad de dispositivos móviles en cuanto a plataformas, como iOS o Android, la capacidad y el hardware disponible que introducen un nivel de mutabilidad en las posibilidades de funcionamiento de la aplicación mucho mayor al de las aplicaciones web”.
Por otra parte, hicieron hincapié en las plataformas cerradas, porque “los sistemas operativos para dispositivos móviles más difundidos presentan muchas restricciones a la hora de instalar y configurar aplicaciones, exigiendo que dichos procesos se realicen únicamente a través de los almacenes de aplicaciones de cada plataforma, restringiendo las opciones disponibles a la hora de implementar el despliegue continuo”.
Otras de las dificultades que encontraron están relacionadas a que “los almacenes de cada plataforma tienen su propia forma de administración”. También, las nuevas interacciones son un obstáculo porque estas aplicaciones móviles “interactúan con servicios y acciones del usuario que no están presentes en las aplicaciones web tradicionales” y “complican las distintas fases de prueba de las aplicaciones a desplegar”. En el mismo sentido, señalaron que, a diferencia de las aplicaciones web, “las aplicaciones móviles deben ser instaladas en el dispositivo del usuario, lo que implica que las actualizaciones y cambios a la aplicación deben realizarse dispositivo a dispositivo”.
Rodrigo Duarte. Redacción Puntal Villa María
Comentá esta nota
El trabajo realizado por Fernando Sorzana, Matías Cassani y David Belamate fue publicado en las memorias del CyTAL 2018 y avanza en que algunos desarrollos de aplicaciones móviles híbridas desarrollados en los últimos años encuentran dificultades adicionales al momento de implementar este tipo de esquemas. Asimismo, plantearon que la mayoría de la bibliografía sobre el tema se centra en servicios y aplicaciones web que residen en servidores con un ambiente más fácil de controlar.
“Las aplicaciones móviles y, particularmente, las aplicaciones móviles híbridas presentan un nuevo desafío a la aplicación de estas metodologías debido a la gran variedad de plataformas en las que deben funcionar y a los mecanismos requeridos para actualizar las mismas”, remarcaron en la publicación.
En el proyecto intentaron resolver “numerosas dificultades adicionales” encontradas al momento de implementar esquemas de integración continua en aplicaciones móviles híbridas. “Muchas de las dificultades planteadas, como la imposibilidad de hacer despliegue progresivo o de mantener la integridad binaria en ambientes distintos, surgen de las limitaciones que las plataformas móviles imponen a los desarrolladores”, expusieron.
Sin embargo, consideraron que “es probable que en un futuro próximo, a medida que crezca la adopción de los esquemas de integración continua, los proveedores brinden mayores herramientas a los desarrolladores para facilitar el despliegue de sus aplicaciones”.
Cabe destacar que una aplicación móvil híbrida es aquella desarrollada para dispositivos móviles utilizando tecnologías web y que puede acceder a las características nativas del dispositivo (cámara, sensores, contactos, entre otros) a través de una interfaz Javascript estándar provista por un framework, componente de software que permite a los desarrolladores crear aplicaciones móviles multiplataforma. En tanto que el despliegue continuo es una práctica de desarrollo de software que propone que cada cambio realizado sea desplegado a producción utilizando un proceso automatizado que no requiere intervención humana. “La diferencia con la entrega continua radica en que el despliegue del software a producción no requiere ninguna aprobación humana y toda versión del sistema que pase la totalidad de las pruebas se despliega de forma automática”, puntualizaron los ingenieros.
En la investigación se avanzó en un esquema para “mitigar la mayoría de las dificultades y reducir en gran medida el riesgo asociado al despliegue” de aplicaciones móviles híbridas. “Se pudo encontrar solución a la mayoría, pero fue necesario utilizar diversas herramientas adicionales además de aquellas utilizadas en las aplicaciones web tradicionales”, concluyeron.
Así, propusieron una línea de despliegue continuo de ejemplo que aplica estas soluciones utilizando herramientas de software libre y analizaron la complejidad de este tipo de esquemas. También remarcaron que pueden existir soluciones más simples en el corto plazo.
Entre los principales factores que dificultan la implementación del despliegue continuo, los investigadores describieron la “variabilidad del entorno de ejecución”, es decir la “gran variedad de dispositivos móviles en cuanto a plataformas, como iOS o Android, la capacidad y el hardware disponible que introducen un nivel de mutabilidad en las posibilidades de funcionamiento de la aplicación mucho mayor al de las aplicaciones web”.
Por otra parte, hicieron hincapié en las plataformas cerradas, porque “los sistemas operativos para dispositivos móviles más difundidos presentan muchas restricciones a la hora de instalar y configurar aplicaciones, exigiendo que dichos procesos se realicen únicamente a través de los almacenes de aplicaciones de cada plataforma, restringiendo las opciones disponibles a la hora de implementar el despliegue continuo”.
Otras de las dificultades que encontraron están relacionadas a que “los almacenes de cada plataforma tienen su propia forma de administración”. También, las nuevas interacciones son un obstáculo porque estas aplicaciones móviles “interactúan con servicios y acciones del usuario que no están presentes en las aplicaciones web tradicionales” y “complican las distintas fases de prueba de las aplicaciones a desplegar”. En el mismo sentido, señalaron que, a diferencia de las aplicaciones web, “las aplicaciones móviles deben ser instaladas en el dispositivo del usuario, lo que implica que las actualizaciones y cambios a la aplicación deben realizarse dispositivo a dispositivo”.
Rodrigo Duarte. Redacción Puntal Villa María