Comparativa entre aplicaciones nativas y web para dispositivos Android.

Esta es 1 de las 2 propuestas que estoy realizando para mi tesis. Son solo generalidades y contexto del tema. Me servirá para explicarle con más detalle a mi asesor de que van los temas que pretendo desarrollar. 

Cuando hablamos de dispositivos móviles y de la posibilidad de generar soluciones que cumplan con ciertos estándares de calidad y que además generen una grata experiencia de usuario, nos encontramos con el problema de decidir si nuestro proyecto deberá ser desarrollado de forma nativa o usando tecnologías web.

Ambas opciones son muy ocupadas actualmente y existe una enorme cantidad herramientas para crear distintos tipos de aplicaciones, desde soluciones de índole empresarial hasta juegos de alta calidad y en especial de alto rendimiento.

Con esta investigación se pretende analizar el panorama de ambos nichos comparando y buscando la solución más conveniente para el desarrollo de aplicaciones móviles.

Por un lado, las aplicaciones nativas presentan ventajas en cuanto a rendimiento y control del dispositivo. Pues corren a un nivel más bajo y normalmente son más rápidas. Permiten al desarrollador acceder a lo sensores, la configuración y demás periféricos del equipo mediante el uso de las librerías nativas del kit de desarrollo.

El tiempo de desarrollo de una aplicación nativa normalmente es mayor que el de una aplicación web. La curva de aprendizaje comúnmente es mayor. Además de que al considerar que el código solo será útil para una plataforma en especifico, requiere de más esfuerzo al buscar abarcar una parte más amplia del mercado.

Delimitando esta comparativa a dispositivos que corren el sistema operativo Android y basándonos en la arquitectura Modelo-Vista-Controlador, se sabe que el desarrollo de las aplicaciones nativas se realiza con el lenguaje de programación Java como controlador y XML para generar las vistas y los archivos de configuración. El modelo trabaja con SQLite y el almacenamiento con el que cuenta el dispositivo.

El panorama de aplicaciones web que se ejecutan en el móvil implica desarrollo de vistas utilizando hojas de estilo CSS y el lenguaje de maquetado HTML, comúnmente la versión 5, además de JavaScript como lenguaje del controlador. Comúnmente el almacenamiento de los datos se realiza con SQLite y almacenamiento local.

Las herramientas de desarrollo para ambos tipos de desarrollos son bastas, aunque existen más posibles soluciones para el desarrollo de aplicaciones web.

El Entorno de Desarrollo que se utiliza para generar aplicaciones nativas y que es proporcionado en la página oficial de Android es Eclipse. Ya que, además de ser open so urce, permite integrar las herramientas de desarrollo oficiales de Android.

Por el contrario, el desarrollo web para android permite utilizar bastas herramientas, que van desde un block de notas hasta entornos completos como Dreamweaver de Adobe o Aptana Studio.

Otro tema a considerar sería las herramientas que permiten desarrollar aplicaciones multiplataforma y que aseguran que el rendimiento es igual de bueno que un desarrollo nativo. Sus limitantes suelen ser muchas y el control que se tiene sobre el dispositivo no siempre es el esperado.

El segunto tema está en este link: Desarrollo de solución móvil para asignación de exámenes de diagnóstico en la plataforma Android.

¡Gracias por leer!