Saltar la navegación

2.1. Tipos de tecnología

Para comprender el proceso de compilación de una aplicación móvil es necesario que como empresa comprendas las diferentes consideraciones tecnológicas que existen. Las siguientes imágenes muestran los diferentes tipos de aplicaciones que existen (izquierda) y el proceso de desarrollo para cada uno de los tipos (derecha).

Aplicaciones nativas

¿Qué son las aplicaciones nativas? Estas aplicaciones están diseñadas para un único sistema operativo móvil. Por eso se denominan nativos: son nativos de una plataforma o dispositivo en particular. La mayoría de las aplicaciones móviles actuales están diseñadas para sistemas como Android o iOS. En pocas palabras, no puedes instalar ni usar una aplicación de Android en iPhone y viceversa.

El principal beneficio de las aplicaciones nativas es su alto rendimiento y excelente Experiencia de Usuario o User eXperience (Ux). Después de todo, los desarrolladores que los crean utilizan la Interfaz de Usuario (Ui) del dispositivo nativo. El acceso a una amplia gama de API también ayuda a acelerar el trabajo de desarrollo y ampliar los límites del uso de la aplicación. Las aplicaciones nativas solo se pueden descargar de las tiendas de aplicaciones e instalarlas directamente en los dispositivos. Es por eso que primero deben pasar por un estricto proceso de publicación.

El inconveniente más importante de las aplicaciones nativas es su costo. Para crear, respaldar y mantener una aplicación para Android e iOS, básicamente necesitas dos equipos de desarrollo. Como puedes imaginarte, esto puede hacer que tu proyecto tenga más gastos.

Ejemplo de aplicación nativa:

  • Whatsapp

Aplicaciones Web

Las aplicaciones web son aplicaciones de software que se comportan de manera similar a las aplicaciones móviles nativas y funcionan en dispositivos móviles. Sin embargo, existen diferencias significativas entre las aplicaciones nativas y las aplicaciones web. Para empezar, las aplicaciones web utilizan navegadores para ejecutarse y, por lo general, están escritas en CSS, HTML5 o JavaScript

Dichas aplicaciones redirigen al usuario a la URL y luego les ofrecen la opción de instalar la aplicación. Simplemente crean un marcador en su página. Por eso requieren una memoria mínima del dispositivo.

Dado que todas las bases de datos personales se guardarán en el servidor, los usuarios solo pueden usar la aplicación si tienen una conexión a Internet. Este es el principal inconveniente de las aplicaciones web: siempre requieren una buena conexión a Internet. De lo contrario, corre el riesgo de ofrecer una Experiencia de Usuario (Ux) insatisfactoria.

Además, los desarrolladores no tienen tantas API que funcionen, a excepción de las funciones más populares, como la geolocalización. El rendimiento también estará vinculado al trabajo del navegador y la conexión de red.

Ejemplo de aplicación web:

  • Diario "La Vanguardia"

Aplicaciones híbridas

Estas aplicaciones se crean utilizando tecnologías web como JavaScript, CSS y HTML 5. ¿Por qué se llaman híbridas? Las aplicaciones híbridas funcionan básicamente como aplicaciones web disfrazadas de un contenedor nativo.

Las aplicaciones híbridas son fáciles y rápidas de desarrollar, lo cual es un claro beneficio. También obtiene una única base de código para todas las plataformas. Esto reduce el costo de mantenimiento y agiliza el proceso de actualización. 

Los desarrolladores también pueden aprovechar muchas API para funciones como giroscopio o geolocalización.

Por otro lado, las aplicaciones híbridas pueden carecer de velocidad y rendimiento. Además, es posible que experimente algunos problemas de diseño, ya que es posible que la aplicación no tenga el mismo aspecto en dos o más plataformas.

Ejemplo de aplicación híbrida:

  • Amazon
Características Aplicación web Aplicación híbrida Aplicación nativa
Uso Los usuarios pueden acceder directamente desde un navegador Los usuarios tienen que instalar la aplicación en el dispositivo que elijan Los usuarios tienen que instalar la aplicación en el dispositivo que elijan
Funcionamiento interno El código del cliente en el navegador se comunica con bases de datos y código remotos del servidor El código del cliente y el del navegador se incluyen en un contenedor o intérprete de comandos nativo El código del cliente se escribe en una tecnología y un lenguaje específicos del dispositivo o la plataforma en la que se instalará
Características del dispositivo nativo No accesible Accesible Accesible
Experiencia de usuario Incoherente y en función del navegador que se usa Coherente e interactiva Coherente e interactiva
Acceso Limitado por navegador y conectividad a la red Acceso de un solo paso con características sin conexión Acceso de un solo paso con características sin conexión
Rendimiento Lento y con menos respuesta Más rápido, pero puede consumir más batería El rendimiento se puede optimizar según el dispositivo
Desarrollo Rentable, con un plazo de comercialización más rápido Rentable, con un plazo de comercialización más rápido Caro, con un plazo de comercialización más lento

El Diseño de Interfaz o User Interface (UI), se refiere a todo aquello con lo que los usuarios interactúan directamente (la capa externa de un producto o servicio digital). Es lo que ve y toca en una página web, una aplicación o un dispositivo cualquiera.

La experiencia del usuario (del inglés, UX por 'User Experience') es el conjunto de factores y elementos relativos a la interacción del usuario con un entorno o dispositivo concretos, dando como resultado una percepción positiva o negativa de dicho servicio, producto o dispositivo. Dicha percepción depende no solo de los factores relativos al diseño (hardware, software, usabilidad, diseño de interacción, accesibilidad, diseño gráfico y comunicación visual, calidad de los contenidos, buscabilidad o encontrabilidad, utilidad, etc.); sino también de los aspectos relativos como las emociones, los sentimientos, construcción y transmisión de la marca, confiabilidad del producto, etc.

La interfaz de programación de aplicaciones, conocida también por la sigla API, en inglés, application programming interface, ​ es un conjunto de subrutinas, funciones y procedimientos que ofrece cierta biblioteca para ser utilizada por otro software como una capa de abstracción.

Creado con eXeLearning (Ventana nueva)