79. Diferencias entre el desarrollo nativo y el desarrollo híbrido

Transcripción

Lo que vamos a ver en este episodio, son las principales diferencias a lo largo del desarrollo de una aplicación desde el lado de un desarrollo nativo y, desde el lado de un desarrollo híbrido.

No vamos a entrar en qué es peor o qué es mejor, si no que simplemente vamos a ver cómo sería un desarrollo con respecto al otro, y poder ver las diferencias. En primer lugar, un resumen sobre lo que son el desarrollo nativo y el desarrollo híbrido.

El primero, es aquel que se realiza para las plataformas en concreto. Si queremos hacer una aplicación tanto para Android como para iOS, entonces tendremos que desarrollar primero una aplicación para Android, y después una para iOS. Pueden hacerse en paralelo, pero hay que indicar que se tienen que hacer dos proyectos diferentes.

Por otro lado, el desarrollo híbrido, evita ese doble trabajo: coger un solo proyecto y hacer que valga para ambas plataformas (Android y iOS).

Fases del desarrollo de una aplicación

Dicho esto, ahora vamos a ver las distintas fases por las que pasa el desarrollo de una aplicación y ver las diferencias entre el desarrollo nativo y el híbrido.

Formación del equipo de trabajo

Considero que este punto, es bastante importante porque aunque tengas en mente el encargar el desarrollo de tu aplicación a una empresa y que te de igual la forma en la que se va hacer este desarrollo, es importante que lo conozcas.

Por un lado, saber cómo se desarrolla tu aplicación, es importante porque es tu aplicación y hay grandes diferencias entre un desarrollo y otro, ya sea en términos de tiempo, coste u otros detalles técnicos.

De cualquier manera, no es buena idea tener la mentalidad de: “Yo contrato a una empresa y me olvido de todo”, ya que si en algún momento tu idea va hacia delante, lo más seguro es que ya no externalices tu idea, sino que tengas que formar tu propio equipo, con lo cual es importante saber la forma en se crean los equipos en función de un tipo de desarrollo u otro.

Si vamos a hacer un desarrollo nativo, seguramente vamos a tener que contratar a varias personas o equipos, porque generalmente, los programadores están especializados en una u otra plataforma. Es muy raro encontrar a alguien que sepa desarrollar bien y profesionalmente en ambos sistemas operativos.

Por tanto, por normal general, en este caso debes tener dos personas/equipos. Por ejemplo, si quisiéramos desarrollar una aplicación nativa para ambos sistemas, por un lado, necesitaríamos una persona que se encargara de Android, y otra para iOS. Si la aplicación se hiciera más grande, necesitaríamos equipos de más integrantes.

Con el desarrollo híbrido, como solo tenemos una base de código, y un desarrollo que se realiza en un solo lenguaje que vale para los dos sistemas, la idea es que una sola persona/equipo, sería suficiente, no necesitaríamos más que eso.

Desarrollo / creación de la aplicación

Desde el lado del desarrollo nativo, la programación se hace ya sea en paralelo o, primero un desarrollo y luego otro. Quiero decir que, como tenemos dos proyectos, un desarrollo va a ir por un lado, y otro, por otro.

Esto no quiere decir que necesariamente se va a tardar más tiempo porque estos desarrollos pueden ir en paralelo, lo que, en un mundo ideal, significaría que ambos proyectos terminarían al mismo tiempo.

La otra alternativa es empezar primero el desarrollo en una plataforma y cuanto esté acabado/publicada, se comience con el desarrollo en iOS.

El desarrollo híbrido no requiere ningún tipo de programación en paralelo porque solo hay uno. En el momento en que termina el desarrollo, es el momento en que acaba el desarrollo de ambas aplicaciones al mismo tiempo.

Mantenimiento

Esto es necesario por varias razones. En primer lugar, es útil para solventar esos errores que, aunque no quieras, siempre van apareciendo ya que ningún desarrollo es perfecto, siempre hay pequeños errores que van surgiendo por un motivo u otro.

El caso es que aquí, al tener proyectos distintos, la programación es totalmente distinta. Esto quiere decir que los errores que irán apareciendo después serán independientes y no tendrán relación con el otro desarrollo.

Por ejemplo, la aplicación de Android, podría tener fallos en el login; mientras que en iOS hay fallos a la hora de comprar algo (una aplicación de compra de bienes). Los errores serán distintos, por lo que el mantenimiento también será distinto.

Un lado puede tener más errores y otra menos; una requiere más tiempo para reparar los errores, y otra menos, etc. Con lo cual, esto complica un poco más el proyecto.

Esto quiero decir que ambos equipos tendrán diferentes cargas de trabajo, y diferentes trabajos ya que los encargados de iOS lidiarán solo con este sistema; mientras que los de Android con el suyo.

Naturalmente que con el desarrollo híbrido, el mantenimiento se simplifica mucho más. Al tener una sola base de código, normalmente los errores van a ser los mismos para las dos plataformas, lo cual puede verse de dos maneras.

Por un lado, es malo si se considera que hay errores en ambas plataformas; pero puede ser bueno ya que el mantenimiento va a ser más fácil: al corregir el error, automáticamente se corrige en todos lados. Asimismo, el encargado del proyecto va a poder controlar mucho mejor los errores que vayan surgiendo.

Sin embargo, es importante saber que, aunque hagas un desarrollo híbrido, no quiere decir que los errores que salgan siempre sean para las dos plataformas. Puede haber errores en una sola plataforma y, por tanto, tendrás que hacer ajustes que solo solventen ese error.

Puede darse, y se da. Pero, por norma general, los errores que se producen en una plataforma, se producen en ambas.

Actualizaciones/inclusión de nuevas funciones

Con esto, me refiero a querer seguir ampliando cosas (o quitarlas). Esto es exactamente lo mismo que pasa en la fase de la creación de la aplicación. En el caso del desarrollo nativo, básicamente tendremos que hacer las modificaciones por separado, a través de los equipos correspondientes a cada tecnología.

Esa función estará lista en ambos sistemas cuando las personas/equipos hayan terminado en sus correspondientes sistemas operativos. Por otro lado, en el desarrollo híbrido, no hay que hacer más; simplemente hacemos un solo cambio con un solo programador / equipo.

Si te ha resultado útil este artículo puedes hacer que también lo sea para otras personas compartiéndolo en , LinkedIn o .

Como siempre para cualquier duda o sugerencia puedes contactar conmigo y estaré encantado de poder ayudarte.

¡Suscríbete

a la newsletter!

Simple y llanamente te mantendré al día una vez al mes a través de un email con artículos o noticias de interés relacionadas con el mundo de las aplicaciones móviles. ¡Nada de spam!