Actualidad, Android, Guatemala, Informática, Internet, Linux, Open-Source, Software, Tecnología

Apps nativas vs Apps híbridas vs Apps generadas, ventajas y desventajas

Una de las grandes complicaciones para los programadores al momento de iniciarse en el mundo del desarrollo móvil es  decidir entre ¿Apps nativas, híbridas o generadas? Tu respuesta será contestada dependiendo que tan buena calidad de trabajo quieres entregar, y cuál será el retorno de inversión que deseas.

banner_nativas_hibridas_generadas
¿Qué tipo de aplicación debo construir?

A continuación te compartimos las ventajas y desventajas de cada una, así como su su significado e implicaciones.  

¿Qué es una app híbrida?

El término app híbrida  hace referencia a poder realizar un solo proyecto con código HTML, JAVASCRIPT y CSS. De esta manera obtendrás una app móvil para cada una de las plataformas móviles que utilices. ¡Así es!  Sólo desarrollas un proyecto y este te genera un instalador para cada plataforma móvil que desees.

¿Qué es una app nativa?

La app nativa es nada más y nada menos que la contraparte de las híbridas. Este tipo de app te ofrece la mejor experiencia de usuario (UX). Será necesario que sepas programar con el lenguaje de programación específico de la plataforma.

Supongamos que quieres desarrollar una app para iPhone (iOS). Para crear esta app nativa necesitarás aprender y manejar el lenguaje de programación Objective-C o Swift.

Por supuesto la curva de aprendizaje es más larga, y claro que tendrás que aprender a utilizar la herramienta también, que en este caso sería el Xcode de Apple.

¿Qué es una app generada?

Esta probablemente será la tecnología del futuro en el desarrollo móvil, pero aún no ha llegado ese día.

Este tipo de apps son aquellas donde utilizas un lenguaje de programación específico, y en las que  generas un código nativo para cada plataforma concreta . ¿Cómo pasa eso?

Vale,antes que nada las apps generadas no son similares a las apps híbridas, en realidad no se parecen en nada.  Esto es así porque las apps generadas utilizan un lenguaje de programación estándar y este mismo se adapta para cada sistema operativo.

info_nativa_hibridas_webapp
Pro y contra de las apps nativas

Como el caso de Xamarin, sabrás que escribes código C# y luego el compilador genera el código nativo para Android, iOS y Windows Mobile, ya que estas son las 3 plataformas punteras en el mercado.

De cierta manera reutilizamos el código, y únicamente tendremos que escribir código específico de cada plataforma para manejar ciertos sensores y servicios, en los cuales el código reutilizable no podrá acceder a los mismos.

how_it_works_xamarin
Xamarin y su funcionamiento general

Ventajas de las apps híbridas

              La ventaja más taquillera podría ser el hecho de utilizar código de etiquetas y JavaScript.

              Generar un solo proyecto y obtener un instalador para cada plataforma móvil.

              La curva de aprendizaje es más rápida.

              Ahorras tiempo.

              La Inversión de recursos es menor ya que con un ordenador basta y sobra.

Desventajas de las apps nativas

              El manejo de sensores y servicios es un caos, por la misma razón del código de etiquetas y JavaScript.

              Bajo Soporte para las actualizaciones del sistema operativo. Cuando un sistema operativo estrena una actualización de su software demorará más en el caso de las apps híbridas y eso definitivamente juega en tu contra.

              La experiencia de usuario no suele ser tan buena. Las apps híbridas no manejan un patrón de diseño para cada plataforma, así que si ves una app en Android y es idénticamente igual en iOS, probablemente es una hibrida. En muchos casos, estas apps se traban o se caen.

Ventajas de las apps nativas

              La experiencia de usuario es la mejor que se puede encontrar. Es evidente que al momento de realizar una app con el código específico del sistema operativo, y utilizar los patrones de diseño como indica la documentación, el resultado es una muy buena UX.

              Excelente manejo de los sensores y servicios del Smartphone. Esto significa que podrás acceder a los mismos de una manera eficaz.

              Herramientas oficiales para cada plataforma. Para cada sistema operativo móvil existe una herramienta oficial para desarrollar proyectos al 1000 por 1000, y de esa manera  aprovechar el máximo rendimiento. Esto también es una gran ventaja, ya que todo dentro de las herramientas oficiales esta arreglado para que puedas programar mucho más rápido y con los mejores estándares.

              El Tamaño en peso es mucho más ligero. Tal y como lo menciono en la ventaja anterior, cuando usas todo nativo, optimizas todos los recursos del instalador de una app y también para el performance de la app.

              Más alcance a dispositivos móviles. Cuando desarrollamos una app nativa cuentas con toda la cantidad de versiones del sistema operativo con las que quieras trabajar, cosa que con las híbridas no  sucede, debes limitarte a la versión del sistema operativo que te indiquen.

Desventajas de las apps nativas

              Debemos aprender a utilizar cada lenguaje de programación para presentar la misma aplicación móvil en distintos sistema operativos.

              Es fundamental saber utilizar al menos en un 80% las herramientas que nos proporciona cada plataforma para ejecutar grandiosas apps. En el caso de Android necesitarás aprender muy bien Android Studio, en iOS cuentas con Xcode, y para el extraño pero genial Windows Mobile utilizaras Visual Studio.

              Crear las vistas o aplicar las reglas para los distintos tamaños de pantalla. En las apps nativas la idea es ofrecer al usuario la mejor experiencia dentro de la app, por tanto es necesario personalizar cada una de las vistas, algo que no pasa en las apps híbridas puesto que se basan en los lenguajes de la web como el típico HTML que con un responsive nos basta y sobra.

hibridovsnativo_chiste
Un poco de humor… pero vaya que es cierto.

Ventajas de las apps generadas

              Comparte con las híbridas el hecho de reciclar código para las distintas plataformas. Sin embargo nos queda claro que es distinta la manera en que lo gestiona cada uno.

              La curva de aprendizaje es un poco menor a comparación a las nativas,  aunque será crucial  saber al menos un poco de cada lenguaje en específico.

              Buena optimización muy similar a las apps nativas.

              Promete ser el futuro del desarrollo de las apps móviles.

Desventajas de las apps generadas.

              A pesar de que utilizan un lenguaje base para todas las plataformas, aún así debes saber el lenguaje de programación de cada unas de los sistemas operativos. Ya que por el tema de los sensores y algunos servicios (como la cámara por ejemplo), tendrás que escribir código específico para manejar eso.

              El árbol del proyecto puede ser confuso. He visto cómo maneja Xamarin el árbol de una app generada y hasta cierto punto es algo aborrecedor. Quizá en las próximas actualizaciones de Xamarin y Visual Studio se realicen mejoras a esta parte.

              Aún está muy verde el desarrollo de las apps generadas. He mencionado que probablemente este será el futuro de las apps móviles, aunque todavía hay algunos problemas con esto. Como por ejemplo, la necesidad de tener una Mac para compilar el proyecto iOS, en Windows Mobile deberás compilarlo en una Pc con Windows. Mientras que Android por ser prácticamente Java correrá donde sea.

Te compartimos un video de Software Guru, debatiendo apps nativas vs app híbridas

Dinos, ¿Por cuál te dejaras llevar y empezar a desarrollar aplicaciones increíbles?

 

Anuncios

1 thought on “Apps nativas vs Apps híbridas vs Apps generadas, ventajas y desventajas”

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s