¿Web o AppMobile?

Por Tamara Osona
Developer en OpenSistemas

Hoy en día, cuando tienes la web de un negocio sabes que tienes que abarcar la máxima cantidad de clientes y que la mayoría accede a ti a través de dispositivos móviles, lo cual hace que te preguntes ¿es mejor una web responsive o una aplicación?

La respuesta varía según las necesidades de cada negocio, si es un negocio pequeño, que tiene la web para mostrar información sin ser necesario interactuar con el cliente a través de ella, lo recomendable es hacer una web responsive o un sitio independiente para cada dispositivo. En cambio, si es algo más complejo, se necesita que los usuarios se registren para efectuar pagos o administrar cuentas. En este caso será rentable una aplicación, pero nos surge otra pregunta:

¿Una aplicación nativa o… mejor híbrida?

Las aplicaciones nativas tienen un buen rendimiento, animaciones rápidas y fluidas, soporte multi táctil y acceso completo al hardware del teléfono. Lo negativo de estas aplicaciones es que tiene un código específico para cada plataforma (como Objective-C en iOS o Java en Android) lo que implica un desarrollo mucho más complejo, a pesar de tener una misma lógica base y no hay que olvidar que necesitas pagar la licencia de desarrollador para iOS para que esté disponible en la AppStore. Sin embargo, el potencial de la plataforma se puede aprovechar, lo que impulsa una gran experiencia de usuario y capacidades de aplicaciones más grandes.

Las aplicaciones híbridas son páginas web en el navegador por defecto (UIWebView en iOS o WebView en Android). Se basan en HTML, CSS y Javascript, envueltos en una aplicación nativa a través de plataformas como Cordova o PhoneGap. Tiene un desarrollo más rápido y sencillo. El principal problema es que dependen del navegador por defecto del dispositivo, por lo que son más lentas que las aplicaciones nativas.

Si quieres crear una buena experiencia de usuario, el enfoque de aplicación nativa es mejor porque se acerca más al “look and feel” propio del SO y es más rápida puesto que hablas de tú a tú con el software del dispositivo. Esto no significa que la experiencia de usuario de una aplicación híbrida sea mala, pero sí hay que tener en cuenta que existe un intermediario entre nuestro código y el framework del dispositivo, lo cual la hace un poco menos óptima.

Hace un tiempo me interesé bastante por este tema y había oído hablar de Ionic Framework, ‘cotilleándolo’ descubrí que tenía buena pinta, así que decidí probarlo.

Ionic es un framework opensource basado en HTML5, CSS y Javascript, construido con Sass y optimizado con AngularJS. Muy orientado al rendimiento, mínimo de manipulación DOM y no utiliza jQuery.

– Implementa el patrón MVC de AngularJS para dividir las capas de la aplicación, haciendo uso de las buenas prácticas.
– Se puede ejecutar a través de Apache Cordova, PhoneGap o Trigger.io.
– Modelado como los desarrollos nativos SDK para móviles fácilmente comprensible para desarrolladores en iOS o Android.
– Buen diseño. Simple y funcional, con gran cantidad de componentes para dispositivos móviles, tipografías y elementos interactivos.
– La interfaz emula casi a la perfección una aplicación nativa y si ves la aplicación desde un navegador web, los componentes no cambian ni pierden calidad sin importar la resolución.

La verdad es que lo recomiendo 100%, tiene un código muy claro y sencillo. Para empezar a probar tienes muchos ejemplos en la documentación oficial de Ionic.

Para los más vagos hay un entorno gráfico con el que crear aplicaciones basadas en este framework, Ionic Creator, no lo he probado pero facilitará todavía más el desarrollo.