Hace unos años que existe una larga discusión sobre cual es la mejor opción para desarrollar una app mobile. En el artículo vamos a hablar de apps reales e instalables, las que se puedan descargar del PlayStore o AppStore, no hacemos referencia a una PWA (Progresive web application), la cual, es una excelente solución en constante crecimiento pero aún dista de ser una app propiamente dicha.

La respuesta a la pregunta «¿Cual debo elegir?» es «Depende«. Hay muchos variables que pueden definir la decisión, como tiempo disponible para en lanzamiento, knowhow existente en el quipo, presupuesto, orientación tecnológica de la compañía, experiencia de usuario, etc. Si estuviéramos en un contexto ideal, donde tengo developers ya capacitados para desarrollar una app mobile en IOS y otra en Android, seguramente el camino natural sea dos desarrollos separados. Pero aún así, surge la incógnita de cuanto tiempo de mis recursos quiero destinar al proyecto, porque por más que tenga el personal capacitado estoy destinando por duplicado el esfuerzo al desarrollo.

Desarrollo

Existen dos vertientes marcadas para el desarrollo de una aplicación mobile.

La primera es un desarrollo nativo con el lenguaje específico de cada plataforma, Obj-C y Swift o Java para Ios y Android respectivamente. Requiere mayor tiempo de inversión en horas de desarrollo.

La segunda opción es un desarrollo híbrido y tiene dos sub-categorías.

Sub-categoría «híbrido-nativa«, contempla las tecnologías de React Native, Xamarin, NativeScript y Flutter. Todas ellas permiten tener un solo código para manejar la lógica y la UI. En caso de querer generar algún elemento UI específico que no ofrezca el framework, tendremos que codificar uno para Android y otro para IOS. Requiere inversión intermedia en horas de desarrollo.

La segunda sub-categoría, vamos a llamarla «híbrido-web«, abarcada por la tecnología de Ionic. Permite tener un solo código para manejar la lógica y la UI. En caso de querer generar algún elemento UI específico que no ofrezca el framework, podremos codificar una sola vez y estará disponible para IOS y Android. Requiere inversión baja en horas de desarrollo.

“Es mucho más facil y económico encontrar un desarrollador híbrido”

Mantenimiento

Sin dudas, el mantenimiento de una sola app híbrida será más sencillo que tener más de una específica para cada plataforma. Detrás de cada Framework hay un equipo dedicado por la compañía, para ir haciendo actualizaciones que se adapten a las nuevas versiones las plataformas. En caso de ser OpenSource como lo es, por ejemplo, React-Native tendremos también el respaldo de la comunidad. Lo cual, genera una actualización permanente y acelerada.

Otro punto fuerte a mencionar, es la facilidad de conseguir programadores híbridos existentes. Es mucho más facil y económico encontrar un desarrollador híbrido que trabaje con las tecnologías del stack, como puede ser Javascript para el caso de React-Native o Ionic.

Performance

Aquí las app´s nativas e híbrido-nativas tienen las de ganar, ya que sus componentes de UI son nativos. Esto genera una mejor fluidez de renderizado y una excelente experiencia de usuario.

Por otro lado, una app híbrido-web nunca será lo mismo que una nativa. Sin embargo, la diferencia aveces puede ser insignificante.

ROI

Después de ver las diferencias entre cada opción, tenemos que tomar la decisión de qué características quiero dejar por fuera o puedo sacrificar, para hacer que la inversión sea más chica y por consecuencia obtener un retorno más grande.

Siempre y cuando tenga limitaciones de presupuesto y tiempo, la decisión será difícil. Allí es cuando, a nuestro criterio, debemos evaluar las bondades de cada opción híbrida y alcance de nuestro proyecto. Por dar un ejemplo, si necesito desarrollar muchos componentes UI custom y necesito que la experiencia de usuario sea lo mejor posible, la mejor opción será una app híbrido-nativa. En cambio si la experiencia de usuario no es del todo importante, por ejemplo una app de uso interno, podemos inclinarnos a un desarrollo híbrido-web.

Si no tengo limitaciones la mejor opción, sin dudas, es un desarrollo nativo.

Si tienes intenciones de desarrollar una app mobile nosotros podemos ayudarte. Puedes hablar gratis con uno de nuestros consultores.

Te invitamos a conocernos https://hum-soft.com/.