Antes de intentar explicar nada, os dejo un video que resalta a la perfección la importancia del diseño y la usabilidad (UI y UX), que en definitiva es de lo que trata esta entrada.
El video es algo antiguo; en él se ve la reacción de una niña pequeña, capaz de manejar a la perfección la versión 6 de iOS (el sistema operativo de los iPhone, iPad, etc.), cuando le ponen delante un móvil con iOS 7.
Ya en el tema, existen dos formas diametralmente opuestas de desarrollar una app móvil: con herramientas multiplataforma o de forma nativa.
Herramientas multiplataforma
Lo que permiten herramientas multiplataforma (Appcelerator, PhoneGap, etc.) es, básicamente, realizar un sólo desarrollo y publicar la app en distintas plataformas (Android, iOS, Windows Mobile, etc.). Además, generalmente para desarrollar estas apps no es necesario saber programar en los lenguajes nativos de cada una de ellas (objective-c o swift, Java, ASP.net, etc.), sino que se suele trabajar con Javascript, HTML5 y CSS, lo que permite a la amplísima comunidad de desarrolladores y diseñadores web el poder crear sus propias apps.
Desarrollo nativo
Por contra, el desarrollo nativo significa que es necesario programar la app para cada una de las plataformas por separado, para lo cual es necesario dominar los lenguajes y frameworks de cada una de ellas, lo que requiere de un equipo técnico con conocimientos avanzados de programación.
La diferencia
La gran diferencia entre ambas opciones está en el resultado que ofrecen. Personalmente, cuando aparecieron las herramientas multiplataforma, lo primero que pensé fue: “¡Menudo chollo! Voy a poder vender una por el precio de 4″. Pero después vi las apps que generan estas herramientas: botones fuera de su sitio, animaciones toscas, controles que no responden al usuario, interfaces mal adaptadas… En definitiva, una experiencia de usuario lamentable, lo que se traduce en malas opiniones en las tiendas de apps, en menos descargas y menos usuarios utilizando tu app, y en última instancia en una mala imagen pública.
Desarrollando de forma nativa tienes absoluto control sobre la aplicación, puedes crear aplicaciones que sean suaves, estéticas y agradables. El usuario de iPhone estará cómodo con una aplicación hecha para iPhone, y el usuario de Android estará cómodo con una aplicación hecha para Android. Lleva un poco más de trabajo, sí, pero consigues que tus usuarios estén encantados con tu aplicación, la valoren positivamente, consigas nuevas descargas y así mejores tu imagen. Si quisieras obtener un resultado parecido mediante multiplataforma tendrías que invertir muchísimo más tiempo (y dinero) en adaptar las apps, y aún así nunca llegarías al nivel de un desarrollo nativo.
Conclusión: ¿nativo o multiplataforma?
Una app móvil es una herramienta de marketing. Y cuando se trata de marketing, la imagen es fundamental. Quizás llegue el día en que las herramientas multiplataforma sean capaces de producir apps realmente buenas, pero hoy en día, el resultado que se consigue con una app nativa es infinitamente mejor. Todos somos un poco como la niña del video, y si una app nos cambia todos los botones de sitio, o va lenta y responde mal, nuestra reacción va a ser el rechazo. Y no queremos que pase eso con nuestra app, ¿verdad?