was successfully added to your cart.

Es muy frecuente cuando, con alguno de nuestros clientes o clientes potenciales, nos encontramos con la solicitud de desarrollar una aplicación nativa para dispositivos móviles; es decir, una aplicación que se desarrolle para Android y otra para iOS (iPhone e iPad). Generalmente, como suelo decirlo a las personas que me lo preguntan, los proyectos no requieren del desarrollo de una App y, en su mayoría, se tiene esta inquietud debido a su boom hace un par de años y a que hoy en día son bastante comunes.

Para adentrarnos en el tema, lo primero que hay que aclarar es que ambos tipos de aplicaciones se utilizan en dispositivos móviles (tanto tablets como smartphones) y sirven para desarrollar alguna actividad o tarea en concreto. La diferencia radica en que una aplicación Web se ejecuta enteramente a través de un navegador Web (como Microsoft Office Online o Google Docs) y dentro de éste puedes realizar las actividades que te interesa; por otro lado, las aplicaciones nativas son desarrolladas y ejecutadas específicamente para el sistema operativo y la plataforma concreta que posee el dispositivo del usuario.

El día de hoy, hablaremos acerca de algunas de las ventajas que te ofrece crear una aplicación Web en comparación con una de código nativo para las plataformas móviles más comunes. Esto no significa que las aplicaciones nativas sean obsoletas, sino que simplemente existen muchos casos en los que no es la mejor decisión invertir el tiempo y los recursos de un proyecto en desarrollar aplicaciones nativas si tomas en cuenta el beneficio real que se obtendrá a través de estas.

Una aplicación Web se ejecuta enteramente a través de un navegador Web y las aplicaciones nativas son desarrolladas específicamente para el sistema operativo y la plataforma.

1. Las aplicaciones Web son multiplataforma

Una de las ventajas más importantes y más claras que presentan las aplicaciones Web, deriva del simple hecho de ejecutarse a través de un navegador: no importa el sistema operativo ni la plataforma/dispositivo.

Lamentablemente las aplicaciones nativas, requieren de procesos de programación que son independientes del sitio Web y, si quieres que en verdad tengan buena arquitectura, tendrás que desarrollar una en código nativo para iOS y otra totalmente independiente para Android (y eso sin contar con Windows Phone). Evidentemente existirá un mayor esfuerzo y tiempo que se empleará para generar las aplicaciones y que funcionen correctamente, además su mantenimiento también es independiente y se tiene que realizar con frecuencia en cada plataforma.

2. Los conocimientos de desarrollo Web que ya tienes

Las aplicaciones móviles son relativamente nuevas, ni siquiera han cumplido una década aún (no han llegado siquiera a su pubertad), por lo que sigue siendo un área del conocimiento en el que no se tiene tanta experiencia y del que existe una cantidad reducida de personas con conocimientos profundos. Por otro lado, el desarrollo Web tiene más de dos décadas con nosotros, existen estudios de usabilidad, ergonomía, libros, tutoriales y todo tipo de documentación bien validada al respecto.

Poder utilizar el conocimiento y la experiencia que ya existe, es invaluable; además, con la llegada hace unos años de CSS 3, el trabajo de adaptación responsiva de todo tipo de proyecto se ha convertido en algo mucho más fácil de lograr y requerirá menos horas en producción.

3. Su infraestructura es económica y fácil de conseguir

Cuando desarrollas una aplicación nativa, te encontrarás con el problema de que deberás almacenar los datos de tus usuarios en algún lugar; para eso existen servicios como Microsoft Azure o Google App Engine, pero son algo caros y complicados al inicio. Existen algunas alternativas, pero no son igual de eficientes y los verdaderos servicios de calidad requerirán una inversión seria. Aquí te dejo los precios de Azure y por acá los de Google App Engine.

En el otro lado de la moneda se encuentra la aplicación Web, la cual puedes hospedar en un servidor compartido y tener tu proyecto funcionando con una inversión anual de menos de $40 dlls (lo sé, la diferencia en costos es abismal). Obviamente la decisión dependerá del tipo de proyecto.

4. No todo proyecto es candidato para aplicación nativa

Las aplicaciones nativas están pensadas para ser descargadas y ser utilizadas con frecuencia por sus usuarios, además deben ser suficientemente relevantes para ellos para evitar que las desinstalen después de la primera vez que las utilizaron (te aseguro que tú has desinstalado cientos de apps de tu dispositivo porque no las utilizabas con frecuencia).

Otra característica que define a las aplicaciones nativas es el hecho de utilizar directamente los recursos de hardware del dispositivo anfitrión: como la cámara fotográfica, el giroscopio, lector de huellas, acelerómetro, etc.

Si tu proyecto no cumple con estas condiciones, es muy probable que no valga la pena desarrollar aplicaciones iOS y Android porque seguramente acabarán siendo zombies empolvados en el cajón del olvido. Tienes que pensar en que la app deberá proveerle un valor real a tu usuario.

5. No es necesario instalarlas

Debido a que una aplicación Web se ejecuta remotamente y únicamente interactúas con ella a través de tu navegador, eliminas la necesidad de utilizar tus recursos propios (tanto de almacenamiento como capacidad de procesamiento de cómputo y gráfico).

Obviamente lo anterior tiene su lado bueno y su lado malo, pero en términos generales ayuda a que, tanto el proveedor del servicio como el cliente final, eliminen la necesidad de realizar distribuciones complicadas de software físico, realizar actualizaciones manuales (debido a que la aplicación Web se actualiza en el servidor remoto y de inmediato está disponible para todos sus usuarios por igual) y abre la puerta para un mundo en el que podamos realizar cualquier actividad en el dispositivo que nosotros queramos, independientemente del poder de su hardware.

6. Las aplicaciones Web son el futuro

Independiente de tendencias u opiniones personales, algo que debemos afrontar es el hecho de que la Web tradicional existió antes de las aplicaciones nativas y seguirá existiendo con ellas (y después de ellas). Es cosa de echar un vistazo a las acciones que las grandes empresas han estado emprendiendo en relación al eterno debate de Web App vs Native App: el software ahora busca ser consumido como un servicio y no como un producto final, lo cual se traduce en servidores Web que se encargan de servir contenidos bajo demanda y el pago de una suscripción (típicamente mensual) por el goce del servicio; esto es conocido como Software as a Service (SaaS).

Microsoft ha convertido toda su suite ofimática en una aplicación Web 100% potente y con todas sus capacidades, la cual se utiliza únicamente con un navegador; Adobe, Autodesk y muchísimas otras compañías trabajan arduamente en crear aplicaciones que no requieran de dispositivos ni características avanzadas de hardware para ejecutar sus aplicaciones; es decir, con que tengas un navegador, podrás hacer todo lo que actualmente haces con software que instalas en tu equipo. Eso es el futuro.

Los estudios indican que el éxito de las aplicaciones nativas no durará demasiado tiempo y que cada vez es más difícil obtener dinero a través de una aplicación de este estilo. Basta con que busques en Google y notarás que la mayoría de los desarrolladores de Apps no obtienen suficientes ingresos y que la mayor parte del beneficio está distribuido entre unos pocos.

Comentarios finales

Esta temática es muy polémica, hay quienes apuestan por una tecnología y otros por la opuesta; sin embargo, hemos querido hablar un poco al respecto para plantear un poco el panorama en el que nos encontramos actualmente. No hay verdades absolutas, simplemente como desarrolladores de tecnología tenemos que permanecer pendientes de lo que ocurre en el mundo y adaptarnos con rapidez a las olas para aprovecharlas al máximo.

¿Qué tipo de aplicaciones desarrollas con más frecuencia?

Sigue la revista de Catarsis en Flipboard
Suscríbete a Catarsis en Play Kiosco

Author Josué E. Pizano

Amante del diseño de Experiencia de Usuario (UX), evangelista de CSS, adicto a la tecnología y apasionado del desarrollo Web, el cine, la comida y la música.

Más entradas de Josué E. Pizano

Deja una respuesta