El avance tecnológico nos ha planteado la nueva necesidad de desarrollar una app para casi cualquier función. En este punto, buscamos optimizar todo lo posible la aplicación para esa función en específico.
Puede ser una tan sencilla como un despertador o una calculadora, hasta algo más complejo como un videojuego, pero también vemos aplicaciones en negocios de todo tipo. Independientemente de su objetivo, la aplicación debe estar bien planteada para que se lleve a cabo de la mejor forma posible y que sea agradable para los usuarios.
El desarrollo de aplicaciones móviles es más complejo que simplemente echar código. Hay un proceso de diseño y de planteamiento del problema previo a la escritura. En esta etapa, tanto el cliente como el grupo de desarrolladores deben reunirse para discutir los objetivos y determinar el camino a seguir.
Diferencias en el desarrollo: ¿una app híbrida o dos nativas?
El desarrollo de aplicaciones móviles plantea varios cuestionamientos sobre si deberían ser híbridas o nativas. El primero y principal es la plataforma en la que se va a ejecutar la aplicación en la que se está trabajando: ¿queremos que esté disponible en Android, iOS o ambas?
Puede parecer obvia la respuesta. En un inicio, la respuesta más sencilla es desarrollarla para ambas plataformas, pero esto no tiene sentido en muchos casos. Para empezar, quizás la app solo sea necesaria en un solo tipo de dispositivos porque se trata de un público tan reducido como el personal de una empresa que da móviles a sus empleados.
Un ejemplo práctico: la aplicación para el control de entregas de una flota de repartidores. Aquí, se presupone que la empresa va a repartir todos los dispositivos a los repartidores para asegurarse de que tengan una forma de comunicarse y de acceder a la app en cuestión. Por tanto, conviene hacer el desarrollo solo para ese tipo.
Cabe destacar que lo usual a nivel empresarial es desarrollar aplicaciones para Android porque es el sistema operativo que da mejores resultados en gamas media y baja. Sin embargo, puede haber casos en los que sea mejor enfocarse en el desarrollo para iOS porque se utilizan estos dispositivos en la empresa (por ejemplo, una de diseño).
Por otro lado, hay que pensar en el precio y el tiempo. Lo común es que desarrollar la aplicación para un solo sistema operativo sea más costoso, mientras que el desarrollo híbrido es relativamente asequible por los lenguajes de programación utilizados. Esto dependerá en gran medida de la dificultad del proyecto.
De todas formas, vamos a pensar en el caso de que se requiera desarrollar la app para los dos dispositivos. En este punto, habrá que preguntarse si hacer el desarrollo de dos aplicaciones nativas por separado o crear una híbrida que sea funcional en ambos casos. Cada opción tiene sus pros y contra.
¿Cuándo es mejor una aplicación nativa?
Este modo tiene una serie de características que superan de forma notoria a las aplicaciones nativas, la cuales se deben tomar en cuenta:
El uso de los sensores y funcionalidades de los dispositivos. GPS, sensores de movimiento, luminosidad, GPS y demás funciones se aprovechan mejor en una aplicación nativa.
El rendimiento. Sin duda, es bastante superior porque no se tiene que añadir un paso adicional para traducir el código del sistema operativo A al lenguaje del sistema operativo B. No es tan perceptible en aplicaciones sencillas, pero sí es molesto cuando el funcionamiento es complejo porque se nota.
La seguridad. Lo normal es que las librerías nativas aporten varias capas de seguridad como la aceptación individual de permisos.
Las ventajas de una aplicación híbrida
Los motivos por los cuales podría ser la solución más apropiada son:
El código es único. Es el núcleo de esta solución, por lo que el esfuerzo y tiempo para obtener la aplicación será mucho menor. Además, es posible mantener la misma si se quiere comenzar a utilizar el otro SO en el futuro.
El desarrollo es más sencillo. Se debe a que el equipo solo tiene que aprender lenguajes de desarrollo web, al menos en muchos casos. Por ello, encontrar al personal y a la empresa a contratar es mucho más simple.
La decisión final
En este punto, hemos visto que ninguna de las dos opciones está realmente por encima de la otra. Más bien, la decisión a tomar depende mucho de lo que se está buscando hacer con la app. También habrá que pensar sobre el dinero que necesita el proyecto y los tiempos de desarrollo.
Por un lado, una aplicación que deba ser fluida, que vaya a hacer uso de sensores y funciones, que maneje datos sensibles y demás debería ser nativa. Es un desarrollo más lento y costoso, pero siempre será necesario para garantizar el buen rendimiento de la app.
Mientras, algo más sencillo como la toma de pedidos de un restaurante apenas necesita un par de funciones. Una aplicación sencilla desarrollada de forma híbrida será más que suficiente, incluso si se plantea que se vaya a usar en tablets Android de gama baja (una práctica común).