Diferencias entre aplicaciones móviles nativas y de plataforma cruzada

Diferencias entre aplicaciones móviles nativas y de plataforma cruzada

Las empresas siempre se debaten entre los costes y el rendimiento de sus productos. Con el lanzamiento de aplicaciones móviles sucede siempre lo mismo: escogemos menos tiempo de desarrollo y menos costes, o apostamos por un producto con mejor rendimiento a largo plazo. 

BBVAOpen4U
|
18 Nov. 2016

El desarrollo de aplicaciones móviles está sufriendo algunos cambios importantes en los últimos tiempos. No sólo por el enfoque con el que se empiezan a plantear este tipo de proyectos, en la mayoría de ocasiones protagonizados por la enorme fragmentación de plataformas y dispositivos, sino también por cómo las características de las aplicaciones móviles se están llevando a otros escenarios inimaginables hace unos años. Es el caso, por ejemplo, de Progressive Web Apps, una tecnología que incorpora las ventajas de las apps nativas a la web tradicional.

En el lanzamiento específico de aplicaciones móviles, los equipos de desarrollo están empezando a incorporar el diseño de aplicaciones de plataforma cruzada, ayudados en muchas ocasiones por soluciones y plataformas de terceros que han ido adquiriendo experiencia y definiendo productos estables. Las aplicaciones de plataforma cruzada son aquellas en las que hay un único diseño y un único desarrollo, pero para distintas plataformas a la vez: ya sea iOS, Android o Windows Phone. La idea es ahorrar costes gracias al ahorro de esfuerzos. Ya no es necesario disponer de un desarrollador iOS y otro Android, con un único profesional con experiencia en plataformas cruzadas es suficiente para lanzar un MVP.

Este tipo de herramientas para el desarrollo de aplicaciones de plataforma cruzada o multiplataforma cumplen con una tendencia cada vez más utilizada por las empresas llamada RAD (Desarrollo Rápido de Aplicaciones). Algunas de estas soluciones son, por ejemplo, PhoneGap, Titanium Appcelerator, Xamarin o Corona.

  • PhoneGap: permite el desarrollo de aplicaciones de plataforma cruzada con HTML, CSS y JavaScript. Su mensaje más potente como herramienta para desarrolladores es que lanzar una aplicación multiplataforma no significa necesariamente no hacer una aplicación nativa porque, entre otras ventajas, ellos dan acceso a todas las APIs de desarrollo nativo de aplicaciones (desde funcionalidades relacionadas con la cámara hasta con el acelerómetro).
  • Titanium Appcelerator: es un SDK que permite el lanzamiento de aplicaciones nativas usando JavaScript. La idea es que ese código fuente en este lenguaje se transforme posteriormente a la sintaxis nativa usada en cada entorno.
  • Xamarin: esta plataforma facilita a los desarrolladores el lanzamiento de aplicaciones de plataforma cruzada con el lenguaje de programación C#.
  • Corona: es un SDK que posibilita a los equipos de producto el desarrollo de aplicaciones multiplataforma usando Lua como lenguaje de programación. Lua es una sintaxis de scripting muy utilizada para el desarrollo de juegos.

Diferencias entre aplicaciones nativas y de plataforma cruzada

Hoy en día existen diferencias entre las aplicaciones nativas y las aplicaciones de plataforma cruzada o multiplataforma que hacen que algunas empresas escojan unas soluciones y no otras. Esta decisión depende, por ejemplo, de las características que se quieran incorporar a la aplicación y sus objetivos de negocio:

Aplicaciones nativas:

  • Cuando un proyecto exige un gran procesamiento de datos y, por tanto, un uso intensivo de la memoria del dispositivo, la opción más lógica para los integrantes del equipo es elegir un desarrollo cien por cien nativo. El mejor rendimiento de las aplicaciones nativas es un valor importante. Un diseño y un desarrollo para Android, otro para iOS y otro para Windows Phone, si finalmente se quiere disponer de una app en este sistema operativo.
  • El escalado: las aplicaciones nativas disponen del respaldo de empresas como Apple (desarrolladora de iOS) y Google (Android). Por tanto, cada nuevo dispositivo o solución lanzada al mercado por las dos compañías partiría de base con el beneplácito y todas las facilidades a la hora de escalar la aplicación nativa a esos nuevos escenarios: ya sea el nuevo reloj inteligente de Apple (Apple Watch 2) o el nuevo smartphone de Google (Pixel). 
  • Si la elección es una aplicación nativa, eso va a tener implicaciones en el diseño y el desarrollo, lo que llevará al proyecto a unos estándares de usabilidad específicos para cada plataforma. Los elementos nativos de Android e iOS son totalmente distintos y eso condiciona todo el proceso.
  • Las aplicaciones nativas aprovechan todas las posibilidades de las que dispone el hardware. Cada dispositivo lleva su sistema operativo de serie y, lógicamente, desarrollar aplicaciones nativas no sólo tiene ventajas por el lado del sistema operativo, también por el lado del propio hardware.
  • Normalmente, las aplicaciones nativas disponen de mayor visibilidad en las tiendas de apps y suelen obtener mejores notas y recomendaciones por los usuarios. Esto es un elemento esencial para un buen posicionamiento ASO.

Aplicaciones de plataforma cruzada:

  • Frente a las ventajas evidentes que ofrece una aplicación nativa, las soluciones de encapsulado de proyectos web o las aplicaciones de plataforma cruzada o multiplataforma recortan mucho los tiempos de desarrollo y despliegue en las tiendas de aplicaciones. Por tanto hay menos costes y el riesgo de apostar por proyectos que no salgan bien es menor.
  • Además, no hay que olvidar que las aplicaciones de plataforma cruzada no sólo reducen el coste sino que maximizan el beneficio, sea por el lado de la exposición a mayor cantidad de usuarios (la empresa dispondrá de una aplicación en la mayoría de entornos), también por el lado de los ingresos.  
  • El equipo de desarrollo puede centralizar todo el esfuerzo de lanzamiento sobre un único código fuente. La fragmentación a la hora de la puesta en marcha de un MVP y también en los siguientes evolutivos no existe.
  • También esto tiene una ventaja no sólo para evitar la fragmentación, sino a la hora de economizar los esfuerzos en la resolución de errores. Cuando el código produce un bug, una única solución vale para todos los entornos.
  • No es necesario incorporar nuevos perfiles al equipo distintos a los que ya pueden estar sirviendo una versión de escritorio: con disponer de un equipo que tenga conocimientos en HTML, CSS y JavaScript sería suficiente.

¿Te interesan las APIs financieras? Descubre todas las que te ofrece BBVA

 

 

¡Suscríbete!

Recibe nuestro boletín semanal. No te pierdas nuestros trucos, consejos, artículos y los eventos más innovadores.