En la búsqueda de oportunidades de venta y nichos de mercado, el mundo tecnológico no puede evitar fijar su mirada en los desarrollos de aplicaciones móviles. Empujados por la apertura de nuevas vías comerciales u orientados hacia el perfeccionamiento de sus procesos, los clientes también están cada vez más decididos a dar el salto.

Y ante tal demanda de aplicaciones móviles, todas las soluciones nos plantean esta pregunta: ¿Desarrollo nativo o multidispositivo?.

Las plataformas dominantes actualmente son el iOS de Apple y el Android de Google, pero no deben obviarse otras como Blackberry, Windows Phone o Symbian. Cada una de esas plataformas requiere crear variaciones nativas de una misma aplicación, lo que puede resultar costoso, impactando en el retorno de la inversión. Es por ello que en la mayoría de las ocasiones la opción por la que se opta es la del desarrollo a través de una solución multidispositivo o cross-platform, imponiéndose el cubrir el mayor número de plataformas posible a través de un único desarrollo.

A estas alturas, el uso de vistas web dentro de aplicaciones se está convirtiendo en un paradigma que, a pesar de poseer ciertos inconvenientes, está proporcionando una experiencia de usuario razonablemente buena en aplicaciones de escritorio, dispositivos móviles y otras plataformas como televisiones interactivas.

Entonces, ¿es el desarrollo cross-platform la mejor opción?

Los defensores de las soluciones cross-platform suelen pasar por alto que son tecnologías orientadas a la web y, aunque existen numerosos casos de éxito, en muchas ocasiones transmiten una pobre sensación a los usuarios y clientes si las comparamos con aplicaciones nativas.

Si un requisito del cliente es el rendimiento, debe considerarse seriamente el desarrollar la aplicación en lenguaje nativo y quizá limitar el número de plataformas para las que estará disponible.

En lo que a experiencia de usuario se refiere, la gran mayoría de las soluciones cross-platform se muestran inferiores,  por lo que las expectativas del cliente deben ser convenientemente gestionadas. Si lo que se espera es una aplicación visualmente impactante o de algún modo especial, la solución multidispositivo puede no ser la más adecuada. Además, la diversidad de plataformas, terminales y versiones puede hacer que una misma aplicación desarrollada a través de estos frameworks no rinda igual en unos dispositivos que en otros.

Otro aspecto importante a tener en cuenta es si existe la necesidad de hacer uso de funcionalidades nuevas o periféricos (lectores de tarjetas o sensores específicos), puesto que las plataformas no nativas requieren un tiempo considerable para ofrecer acceso a ellas de una forma segura.

Existe un último escenario en el que la opción de la aplicación nativa puede ser una mejor solución; cuando se reduce el número de plataformas destino a iOS y Android y la aplicación es relativamente pequeña, el tiempo de desarrollo del código cross-platform hasta conseguir un funcionamiento adecuado en ambas plataformas puede ser muy similar al de desarrollar dos aplicaciones nativas diferentes.

Para finalizar, desde el punto de vista de la cualificación de los desarrolladores y las curvas de aprendizaje, hay que tener claro que los conocimientos de los lenguajes y particularidades nativas de cada plataforma son obligados si se pretenden llevar a cabo desarrollos de movilidad. Tarde o temprano, incluso dentro de algunas soluciones multidispositivo, se precisará la implementación de elementos nativos o dar soporte a características concretas no cubiertas.

Y sin obviar las bondades de un lenguaje consolidado como Javascript, no hay que perder de vista la fragmentación que existe en el mundo de las soluciones cross-platform. Hay un gran número de frameworks, con características particulares a nivel de metodología, componentes y funcionalidades, elevando la curva de aprendizaje más de lo que a priori se espera.

Share This