Compartir

Uno de los pilares del método científico se conoce como “Navaja de Ockham” y postula que, en igualdad de condiciones, la explicación o solución más simple suele ser la correcta. Sin embargo, no debemos caer en la tentación de torcer el modelo y buscar una solución sencilla a todo como pensamos que será lo mejor.

Cuando pensamos en el Desarrollo de aplicaciones móvilesPodemos ver la tendencia a creer que las aplicaciones web son el futuro de este complejo ecosistema ya que es la más simple de todas las alternativas propuestas. Cuando hablamos de aplicaciones web, nos enfocamos principalmente en HTML5 (aunque es solo una de las alternativas de desarrollo) ya que es el estándar de moda. En este artículo intentaremos ignorar la barrera entre eso defensor Aplicaciones web (Brad Hill: In Defense of HTML5) y crítico de ellos (Mark Zuckerberg: Nuestro mayor error fue poner demasiado en HTML5); y propondremos una comparativa que puede hacernos creer que en este caso la mejor solución es la más diversificada … o no.

Aplicaciones nativas, aplicaciones web y aplicaciones híbridas

Hoy en día se suele hablar de él en función de cómo se aborde su desarrollo. Tres tipos de aplicaciones móviles: aplicaciones nativas, web e híbridas, que se definen como:

  • Aplicaciones nativas: aquellas que están totalmente programadas en el entorno de desarrollo específico de cada sistema operativo.
  • Aplicaciones web: desarrolladas íntegramente en HTML 5.
  • Aplicaciones híbridas: Aplicaciones que se desarrollaron en parte con el entorno de desarrollo nativo y en parte en el lenguaje WEB (HTML 5).

Cada uno de ellos tiene sus aspectos positivos y negativos que pueden y deben incidir en la toma de decisiones para su desarrollo.

Uno de los puntos fuertes de las aplicaciones web móviles es que funcionan en todas las plataformas (solo se debe considerar la compatibilidad con el motor del navegador). Una aplicación web funciona en (casi) todos los teléfonos inteligentes, mientras que aplicaciones nativas Requieren desarrollo para cada uno de los sistemas operativos (e incluso diferentes versiones de ellos), y los híbridos requieren al menos el desarrollo del “contenedor” nativo que aloja las partes en el lenguaje web. Debido a que operan en recursos web, tanto las aplicaciones híbridas como las web necesitan una buena capacidad de concurrencia en los servidores en los que están alojadas y una muy buena conectividad para funcionar de manera óptima.

Por supuesto, este también es uno de los puntos críticos: algunas de estas aplicaciones no funcionan sin conexión, incluso si no son necesarias a priori (lo que puede generar frustraciones para los usuarios). Por el contrario, la gran ventaja es que no se requieren grandes requisitos de hardware (procesador, memoria) por parte del dispositivo móvil para poder ejecutar las aplicaciones.

Cuando analizamos la integración de aplicaciones con las funciones que ofrecen los teléfonos móviles, encontramos que los lenguajes web aún no son compatibles con todas las funciones.API nativas (como GPS, acelerómetro, captura de imágenes, audio y video, 3D, libreta de direcciones, calendario, etc.) y eso en ocasiones complica su integración. En algunos casos, es necesario desarrollar un marco para usar API nativas. Esto hace que el desarrollo de aplicaciones web sea tan tedioso como desarrollar una aplicación nativa. Puede encontrar un ejemplo de esto en el blog de Sencha en el oficina postal “The Making of Fastbook: An HTML5 Love Story”, Jamie Avins y Jacky Nguyen explican cómo pudieron crear una Aplicación de Facebook en HTML5 con gran rendimiento (que niega lo dicho por Mark Zuckerberg) pero a costa de desarrollar un framework que sería muy complejo para un desarrollador poco experimentado.

Factores a considerar: complejidad del desarrollo, interfaz de usuario, canal de ventas

Todo esto es más o menos relevante en función de la complejidad de las aplicaciones que queramos desarrollar. La gran ventaja de las aplicaciones web, y en ocasiones híbridas, es que requieren una menor inversión inicial, ya que la mayor parte del desarrollo no tiene que repetirse para cada sistema operativo. Además, tenga en cuenta que si crea varias versiones de una aplicación, no solo necesitará desarrollarlas, sino también probarlas y mantenerlas, lo que puede aumentar los costos. Otro beneficio de las aplicaciones web es que a menudo necesitan una menor tiempo de desarrollo que sus equivalentes nativos, lo que puede ser crítico en caso de que haya una ventana de oportunidad para vender la aplicación.

Otro aspecto que debe analizarse es la consistencia de la aplicación con la interfaz de usuario de cada sistema operativo. En general, si desea crear una aplicación única para todos los sistemas operativos, la homogeneidad que se gana se pierde en la gran cantidad de personalizaciones que se proporcionan a través de la interfaz nativa. En otras palabras, el desarrollador tiene que juzgar si vale la pena tener la misma aplicación (web) en un teléfono móvil. Android, Windows Phone, sistema operativo Firefox o iOS, a expensas de la aplicación, que va en contra del estilo de la IU nativa del dispositivo y pierde las opciones específicas de cada plataforma.

Si bien este no es un aspecto técnico, también es muy importante considerar cómo se ve el canal de ventas para los diferentes tipos de aplicaciones, es decir, el negocio. Las aplicaciones web son las más afectadas en este sentido, ya que no se admite su presencia en las tiendas oficiales de los sistemas operativos predominantes iOS y Android. Esto significa que es más complicado de descubrir y que se requiere más esfuerzo de marketing para que la aplicación sea visible que las aplicaciones nativas. También Las aplicaciones híbridas están en el centro de atención el “propietario” de estos sistemas operativos, que en algunos casos, dependiendo de qué parte se desarrolló con el lenguaje web, no aprueba su publicación. En el caso de Firefox OS, la detección de aplicaciones web desde el terminal está garantizada, aunque actualmente es específico de esa plataforma.

Comience con aplicaciones web, pero siga una estrategia híbrida.

Cualquier empresa que quiera desarrollar aplicaciones móviles debe apreciar que Ventajas y desventajas de las aplicaciones nativas y web antes de empezar a dibujar el código. La decisión depende no solo de lo fácil o difícil que sea desarrollar la aplicación usted mismo, sino también de factores como la ventana de tiempo, el peso que desea otorgar a la experiencia del usuario, el rendimiento, la agilidad con el mantenimiento y las habilidades para actualizar la aplicación. la propia aplicación o la información que contiene.

Personalmente, no soy partidario de “tirar por la calle del medio” y apostar exclusivamente por aplicaciones híbridas, ya que pueden combinar las ventajas de las aplicaciones web y nativas por separado (simplificación, homogeneidad, flexibilidad, personalización de la interfaz de usuario). También conoces las desventajas de ambos (Fragmentación, dificultades de mantenimiento, optimización compleja del rendimiento, aumento de la inversión inicial y del coste). Sin embargo, podría ser una buena idea considerar una estrategia híbrida en su lugar, si las características del proyecto lo permiten. Ejemplo: cree una versión web inicial que pueda usar para comenzar rápidamente y verificar la aceptación del mercado. Cuando la fase de desarrollo es rápida y económica, siempre es más fácil desviar parte de la inversión inicial al marketing, lo que afecta sus posibilidades de éxito. Y si el concepto funciona, puedes Apueste por una segunda ola de aplicaciones nativas (o híbridos) con menor riesgo de falla. Además, sería posible utilizar las inversiones ya realizadas en marketing.

En última instancia, lo único que me doy cuenta es que la navaja de Occam no tiene ninguna ventaja en el entorno de aplicaciones móviles.

Autores | Alfonso Fernandez Gutierrez y Salvatore Chessa

Imágenes Icenio, Sigalakos encima Compfight cc Y. Boagworld

Dejar una respuesta

Please enter your comment!
Please enter your name here