26

Jun

Publicado por: Eric Cobos Sanchez | aplicaciones móviles | app híbrida | app nativa | apps | desarrollo apps | mobile

¿App Nativa o Híbrida? Difícil decisión…

El mundo digital, y concretamente el de las aplicaciones móviles no para de crecer a pasos de gigante. Y es que todo lo que hace unos años veíamos como un futuro relativamente lejano, hoy en día se ha convertido en una realidad, siempre y cuando se disponga de la herramienta apropiada.

Y ahí entramos los desarrolladores, que nos estrujamos el coco para diseñar todo tipo de apps para cubrir cualquiera de las necesidades imaginables por un usuario. Esto presenta casi siempre a un dilema inicial: ¿App nativa o híbrida?

¿Pero, qué son exactamente?

Nativas.

Una app nativa es aquella que se desarrolla pensando en su ejecución para los dispositivos con un sistema operativo determinado. Los factores positivo que tienen son:

  • Acceso a todo el hardware del móvil como el GPS, la cámara y demás accesorios.
  • Manejo de las APIs (librerías gráficas, botones, etc.) propias del dispositivo.

Además, debemos considerar que cada plataforma requiere unas herramientas concretas para su desarrollo. Por ejemplo, las aplicaciones para IOS se elaborarán normalmente con Objective-C y Swift, mientras las de Android con Java y las de Windows Phone con C#.

Híbridas.

Por otra parte, las apps híbridas son aquellas que funcionan en cualquier dispositivo, ya que se ejecutan a través del navegador nativo del móvil, esto conlleva que su programación se realiza con herramientas de desarrollo web como HTML, CSS y Javascript.

Además, se deben tener en cuenta las consideraciones siguientes:

  • En función del framework que uses, es posible tener acceso a las APIs de sistema pero con menor optimización que en las nativas.
  • Permiten reutilizar de código la misma programación funcionará para todos los sistema operativos.
  • El mantenimiento de la aplicación es más sencillo, pues no requiere un lenguaje para cada plataforma como ocurre con las nativas.

Entonces… Si las apps nativas funciona sólo con un sistema y las híbridas con todos,  la elección parece sencilla ¿no? Adentrémonos un poco más…

¿En qué se diferencian?

Principalmente, una app nativa es como un traje hecho a medida por un sastre, mientras que una híbrida se podría considerar un traje estándar de nuestra talla, que cumple su función correctamente, no tiene un costes excesivo ni la comodidad del traje del sastre pero es funcional.

Rendimiento.

Obviamente, una aplicación nativa creada exclusivamente para una plataforma especifica tendrá un rendimiento más óptimo, será más fluida, rápida y aprovechará mejor los recursos del terminal. Mientras que la híbrida necesita el navegador nativo para funcionar, utiliza una capa más de recursos lo que se traduce en un rendimiento menor, puesto que no está optimizada igual que la nativa.

nativa-vs-hibrida

Interfaz gráfico.

Evidentemente, resulta más sencillo realizar un interfaz nativo para un único sistema operativo, siempre y cuando dispongas del SDK (Software Developer Toolkit) adecuado, que realizar un diseño adaptable todas las plataformas que se requieran.

Coste del producto.

Como todo buen traje a medida, los costes se disparan en las apps nativas debido a todas las personalizaciones que requiere el sistema operativo. Además, como casi todas las aplicaciones deben estar disponibles para las principales plataformas (Android, IOS o Windows Phone). Si mencionar el tiempo empleado, que se puede multiplicar por dos o por tres, en fnción de la disponibilidad que queramos darle, así como los conocimientos y costes de la herramienta específicas por parte el desarrollador.

Por contrapartida, las apps híbridas se crearán una sola vez utilizando las herramientas de desarrollo web, ya que será compatible en todos los sistemas operativos, por lo que el coste claramente inferior.

Frameworks de desarrollo.

Hay una gran variedad de frameworks para desarrolla apps.

Para aplicaciones nativas, los principales son:

  • Titanium (propiedad de appCelerator), basado en JavaScript.
  • React Native, basado en JavaScript y React.
  • Xamarin (propiedad de Microsoft), aplicado sobre Visual Studio permite crear apps nativas para iOS o Android.
  • Native Script, que soporta el framework AngularJS.

En aplicaciones híbridas los más destacables son:

  • Ionic, trabaja sobre AngularJS y Apache Cordova.
  • PhoneGap (propiedad de Adobe).
  • Jquery Mobile, compatible con PhoneGap entre otros.
Transformación de código: J2OBJC

J2OBJC se trata de una herramienta creada por Google para convertir código escrito en Java para Android a código escritor en Objective-C para iOS, permitiendo la portabilidad de una app -o de parte de ella- entre ambas plataformas.

Es compatible con la mayoría de las herramientas de construcción, incluso Xcode y Make, además también hay plugins de Gradle y Maven.

J2ObjC se centra en escribir abstracciones comunes una vez y verificarlas con un conjunto común de pruebas unitarias. Esto garantiza que las características de una aplicación funcionen de la misma manera en todas las plataformas, mejorando la experiencia de los clientes.

Gracias al modelo de integración continua, a medida que se van agregando características o se van corrigiendo bugs en el código compartido de la aplicación, todas las plataformas se reconstruyen y prueban automáticamente.

Conclusión

Antes de elegir el tipos de aplicación para desarrollar, debemos tener muy presentes estos dos factores por encima de todo:

  1. Las prestaciones que debe ofrecer. Para una app que necesite el uso de componentes locales o parte del hardware del terminal (como el GPS, la cámara, etc.) es aconsejable desarrollarla como nativa.
  2. Coste del proyecto. El presupuesto disponible determina la mayoría de proyectos, por eso el coste de desarrollo suele ser un factor clave en la creación de apps. Puede determinar la decisión fácilmente.

Así pues, antes de iniciar el desarrollo de una app es muy importante analizar las características que debe tener, a qué tipo de usuarios va destinada y de qué presupuesto disponemos para realizar la elección correcta. En JustDigital somos expertos en el desarrollo de soluciones mobile en función de las necesidades del cliente, te ayudamos a realizar la elección correcta y ofrecemos un servicio de calidad adaptado a tus necesidades. ¡Es tu momento para iniciar ese proyecto que lleva tiempo rondándote por la cabeza!

 

Únete a la discusión El comentario
Barcelona
Passeig Gaiolà 13
+34 933 801 144
Lleida
Carrer Agustins 7
+34 973 988 222
Andorra
(Escaldes-Engordany)
Parc de la Mola 10, AD700
Bogota
Carrera 9A #99-07 Piso 9. Despacho 02
Torre la Equidad