Está en la página 1de 4

Dispositivos Móviles: Desarrollo y Análisis de Rendimiento de Aplicaciones

Multiplataforma
Pablo Thomas(1), Nicolás Galdamez(1), Lisandro Delia(1) , Leonardo Corbalan(1), Patricia
Pesado(1)
(1)
Instituto de Investigación en Informática LIDI (III-LIDI)
Facultad de Informática – Universidad Nacional de La Plata
50 y 120 La Plata Buenos Aires
{pthomas, ngaldamez, ldelia, corbalan, ppesado}@lidi.info.unlp.edu.ar

Resumen
Se presenta una línea de investigación y Introducción
desarrollo, que tiene por objeto estudiar temas
La computación móvil puede definirse
relacionados con aspectos de Ingeniería de
como un entorno de cómputo con movilidad
Software, orientados al desarrollo de
física. Un usuario debe ser capaz de acceder a
aplicaciones móviles multiplataforma.
datos, información u otros objetos lógicos
Palabras claves: Dispositivo Móvil - Plataformas para desde cualquier dispositivo en cualquier red,
Dispositivos Móviles - Aplicaciones Nativas- al mismo tiempo que va moviéndose,
Aplicaciones Híbridas – Aplicaciones Interpretadas –
Aplicaciones por Compilación Cruzada
cambiando su locación geográfica.
El desarrollo de aplicaciones para
dispositivos móviles plantea nuevos desafíos
Contexto originados en las características únicas de esta
Esta línea de Investigación forma parte del actividad. La necesidad de tratar con diversos
Proyecto (2014-2018) “Tecnologías para estándares, protocolos y tecnologías de red;
Sistemas de Software Distribuidos. Calidad las capacidades limitadas, aunque en
en Sistemas y Procesos. Escenarios constante crecimiento, de los dispositivos; las
Educativos mediados por TICS”, en particular restricciones de tiempo impuestas por un
del subproyecto Ingeniería de Software en el mercado altamente dinámico y la existencia
Desarrollo de Aplicaciones para Dispositivos de distintas plataformas de hardware y
Móviles del Instituto de Investigación en software son sólo algunas de las dificultades a
Informática LIDI de la Facultad de las que se enfrentan los desarrolladores en
Informática, acreditado por el Ministerio de esta área.
Educación de la Nación. Las aplicaciones se generan en un entorno
Hay cooperación con Universidades de dinámico e incierto. En su mayoría se trata de
Argentina y se está trabajando con aplicaciones pequeñas, no críticas, destinadas
Universidades de Europa en proyectos a un gran número de usuarios finales que son
financiados por el Ministerio de Ciencia y liberadas en versiones rápidas para poder
Tecnología de España y la AECID. satisfacer las demandas del mercado.

Se participa en iniciativas como el Todas las particularidades previamente


Programa IberoTIC de intercambio de mencionadas hacen que el desarrollo de
Profesores y Alumnos de Doctorado en el software para dispositivos móviles difiera
área de Informática. considerablemente del tradicional. Ello
conduce a nuevas prácticas y metodologías
Por otra parte, se tiene financiamiento de que promueven el crecimiento de la Ingeniería
Telefónica de Argentina en Becas de grado y de Software como disciplina, acompañando
posgrado. este proceso de desarrollo tecnológico.

572
La existencia de una enorme competencia un navegador, se desarrollan con tecnología
en el mercado de las aplicaciones móviles, web bien conocidas (HTML, CSS y
promovida en parte por la proliferación de JavaScript), no necesitan adecuarse a ningún
dispositivos móviles y el número de negocios entorno operativo; su puesta en marcha es
que están migrando sus servicios a Internet, rápida y sencilla.
revela la importancia que implica para las Las desventajas de las aplicaciones Web
empresas el posicionamiento en este mercado. Móviles recaen sobre su rendimiento. Los
Para conseguirlo, es necesario reducir al tiempos de respuesta se dilatan afectados por
máximo el tiempo de desarrollo de las la interacción cliente-servidor y las
aplicaciones y al mismo tiempo hacer que restricciones de seguridad impuestas a la
éstas se ejecuten en el mayor número de ejecución de código por medio del navegador
dispositivos posible. limitan el acceso a todas las capacidades del
Este propósito se ve obstaculizado por la dispositivo. Además, al no poseer el look and
excesiva fragmentación de hardware y feel de las aplicaciones nativas, resultan
software existente, originada por el alto menos atractivas para el usuario final.
número de dispositivos distintos, con sus Las aplicaciones híbridas constituyen otro
propios sistemas operativos y plataformas de tipo de desarrollo multiplataforma basado en
desarrollo. tecnologías web (HTML, Javascript y CSS)
La alternativa más costosa para hacer frente pero que, a diferencia de las anteriores, no son
a esta problemática consiste en el desarrollo ejecutadas por un navegador. En su lugar,
nativo de las aplicaciones en cada una de las corren en un contenedor web especial con
plataformas existentes, utilizando el entorno mayor acceso a las capacidades del
de desarrollo integrado (IDE por sus siglas en dispositivo a través de una API específica.
inglés), el lenguaje de programación y las Las aplicaciones híbridas permiten la
herramientas propias de cada plataforma. reutilización de código en las distintas
Las aplicaciones nativas así desarrolladas plataformas, el acceso al hardware del
poseen un conjunto de características dispositivo, y la distribución a través de las
ventajosas entre las que sobresalen el acceso a tiendas de aplicaciones. Sin embargo
todas las capacidades del dispositivo (cámara, conservan algunas de las desventajas de las
GPS, acelerómetro y agenda, entre otras), el aplicaciones Web Móviles: la utilización de
alto rendimiento, la posibilidad de trabajar sin componentes no nativos en la interfaz
acceso a Internet y de correr en segundo plano perjudica la experiencia de usuario, y la
notificando al usuario sólo en caso de requerir ejecución se ve ralentizada por la carga
su atención. Estas aplicaciones pueden asociada al contenedor web.
distribuirse a través de las tiendas en línea Otro tipo de aplicación multiplataforma lo
correspondientes. Sin embargo, el precio de constituyen las aplicaciones interpretadas, las
todas estas ventajas es alto: no es posible cuales son traducidas en su mayor parte a
reusar el código fuente entre plataformas código nativo, mientras que un resto se
diferentes, el esfuerzo se multiplica y se interpreta en ejecución. Se implementan de
elevan los costos de desarrollo, actualización forma independiente de las plataformas
y distribución de nuevas versiones. utilizando diversas tecnologías y lenguajes,
El desarrollo multiplataforma se contrapone tales como Java, Ruby y XML, entre otros.
al nativo y se centra en la reutilización de La obtención de interfaces nativas
código. Se procura entonces optimizar la constituye una de las principales ventajas de
relación costo/beneficio compartiendo la este tipo de aplicaciones, y la dependencia
misma codificación entre las versiones para total con el entorno de desarrollo el obstáculo
las distintas plataformas. La construcción de más notable. Appcelerator Titanium es el
aplicaciones Web Móviles constituye un entorno de desarrollo más popular.
ejemplo representativo de este enfoque. Estas
aplicaciones se diseñan para correr dentro de

573
Finalmente, las aplicaciones generadas por  Estudiar las estrategias de desarrollo
compilación cruzada también constituyen un multiplataforma, aplicadas a la
tipo de desarrollo multiplataforma. Estas implementación de una aplicación móvil
aplicaciones se compilan de manera nativa de apoyo al docente en el aula, cuyo
creando una versión específica de alto objetivo principal es la toma de asistencia
rendimiento para cada plataforma destino. in situ vía bluetooth.
Ejemplos de entornos de desarrollo para
generar aplicaciones por compilación cruzada  Analizar y comparar el impacto que
son Applause, Embarcadero Delphi XE6 y distintos frameworks de desarrollo
Xamarin. multiplataforma tienen sobre el
rendimiento de las aplicaciones móviles
construidas con ellos. Enfocar este análisis
Líneas de Investigación y Desarrollo sobre la velocidad de procesamiento, el
acceso a disco, el consumo de batería y
● Tipos de Aplicaciones para Dispositivos
otras capacidades; considerando además el
Móviles tipo, gama y sistema operativo del
● Metodologías y Técnicas de la Ingeniería dispositivo.
de Software y su aplicación en el
desarrollo de software para dispositivos  Cuantificar las diferencias de rendimiento
móviles. entre las aplicaciones multiplataforma y
las aplicaciones nativas.
● Aplicaciones Web Móviles
● Aplicaciones Móviles Híbridas  Se ha realizado el estudio comparativo
(PhoneGap, Sencha Touch) entre diferentes tipos de desarrollo de
aplicaciones móviles a partir de la
● Aplicaciones Móviles Interpretadas implementación de diversas aplicaciones
(Appcelerator Titanium) con idéntica funcionalidad, que permiten
● Aplicaciones Móviles generadas por interactuar con la plataforma de e-learning
compilación cruzada (Xamarin, Applause, Web-UNLP. Esto incluye el desarrollo de:
Embarcadero Delphi XE6)  Una aplicación nativa para Android y
● Análisis y estudio comparativo de los otra para iOS.
aspectos inherentes al desarrollo de  Una aplicación multiplataforma Web
aplicaciones móviles multiplataforma para Móvil.
los cuatro tipos anteriormente referidos.
 Dos aplicaciones multiplataforma
● Análisis y estudio comparativo de híbridas, una de ellas utilizando
rendimiento sobre aplicaciones móviles PhoneGap con Jquery Mobile y la otra
multiplataforma. desarrollada con el framework Sencha
Resultados esperados/obtenidos Touch
Los resultados esperados/obtenidos se  Una aplicación interpretada con
pueden resumir en: Appcelerator Titanium 3
 Avanzar en la capacitación continua de los  Dos aplicaciones generadas por
miembros involucrados en esta línea de compilación cruzada, una de ellas
investigación. desarrollada con Embarcadero Delphi
XE6 y la otra con Xamarin/Visual
 Utilizar y comparar el uso de diversos Studio.
frameworks para el desarrollo de
aplicaciones móviles nativas y  En relación con el análisis de rendimiento,
multiplataforma. se ha realizado un conjunto de pruebas
focalizadas en la velocidad de
procesamiento. Ello ha permitido efectuar

574
comparaciones de tiempos de ejecución en Conference on Software Development,
aplicaciones que demandan cálculo (pp. 20-23). 2005. Reykjavik.
intensivo. Los escenarios de prueba 10. http://devgirl.org/2012/12/04/easy-
diseñados incluyeron los sistemas phonegap-push-notifications-with-
operativos Android y iOS ejecutándose pushwoosh/
11. http://phonegap.com/
sobre diversos dispositivos smartphones y
12. http://jquerymobile.com/
tablets. Se ha medido el impacto que los 13. http://backbonejs.org/
frameworks de desarrollo Apache 14. Digital Possibilities. Mobile Development
Cordova, Titanium, y Xamarin (desarrollo Frameworks Overview http://digital-
híbrido, aplicación interpretada y possibilities.com/mobile-development-
generada por compilación cruzada frameworks-overview/
respectivamente) tienen sobre el 15. Markus Falk. Mobile Frameworks
rendimiento de las aplicaciones con ellos Comparison Chart, http://www.markus-
desarrolladas. falk.com/mobile-frameworks-comparison-
chart/
Formación de Recursos Humanos 16. Anup Kumar y Bin Xie, Handbook of
Mobile Systems Applications and
Los integrantes de esta línea de Services. Editorial CRS Press, ISBN 978-
investigación dirigen Tesinas de Grado y 1-4398-0152-9, Año 2012.
Tesis de Postgrado en la Facultad de 17. Sambasivan, D.; John, N.; Udayakumar,
Informática, y Becarios III-LIDI en temas S.; Gupta, R., Generic framework for
relacionados con el proyecto. Además mobile application development, Internet
participan en el dictado de asignaturas/cursos (AH-ICI), 2011 Second Asian Himalayas
de grado y postgrado de la Facultad de International Conference on Computing &
Informática de la UNLP. Processing (Hardware/Software).
18. Choi, Y.; Yang, J.-S.; Jeong, J.,
Application framework for multi
platform mobile application software
Referencias development, Advanced Communication
1. Hayes, I. S. Just Enough Wireless Technology, 2009. ICACT 2009. 11th
Computing. Prentice Hall Professional International Conference on Computing &
Technical Reference. 2002. Processing (Hardware/Software)
ISBN:0130994618 19. Anthony Wasserman , Carnegie Mellon
2. Spyros Xanthopoulos, Stelios Xinogalos, Silicon Valley, Software Engineering
A Comparative Analysis of Cross- Issues for Mobile Application
platform Development Approaches for Development, 2º Workshop on Software
Mobile Applications, BCI’ 2013, Greece Engineering for Mobile Application
3. Tracy, K.W., Mobile Application Development, MobiCASE ’11, Santa
Development Experiences on Apple’s Monica, California, USA, October 2011.
iOS and Android OS, Potentials, IEEE, 20. Delia L., Galdamez N., Corbalan L.,
2012. Thomas P, Pesado P., Multi-Platform
4. Delia L., Galdamez N., Thomas P, Pesado Mobile Application Development
P., Un Análisis Experimental de Tipo de Analysis, IEEE Ninth International
Aplicaciones para Dispositivos Móviles, Conference on Research Challenges in
CACIC 2013, CAECE Mar del Plata, Information Science, May 2015, Athens,
Octubre 2013 Greece, ISBN 978-1-4673-6630-4
5. http://www.appcelerator.com/ 21.Delia L., Galdamez N., Corbalan L.,
6. https://github.com/applause/applause Thomas P, Pesado P., Un Análisis
7. https://www.embarcadero.com/es/product comparativo de rendimiento en
s/delphi Aplicaciones Móviles Multiplataforma,
8. http://xamarin.com/ CACIC 2015, UNNOBA Junín, Octubre
9. Abrahamsson, P. Mobile software 2015.
development -the business opportunity of
today. Proceedings of the International

575