Desarrollo móvil en 2021.

Smartphone
¿Te acuerdas cuándo el móvil sólo era para llamar? ¡Cómo hemos cambiado!

El teléfono móvil ha pasado de ser ese dispositivo que utilizábamos simplemente para llamar a nuestros amigos o familiares a ser un dispositivo con multitud de funcionalidades. Cada día nos conectamos más a Internet desde nuestro smartphone y eso ha impactado en el desarrollo, con tendencias como mobile first, es decir, programar la web app primero para el móvil y desarrollar luego la versión web (y no al revés, que venía siendo lo habitual). 

No obstante, y especialmente si vienes de web, el mundo del desarrollo móvil, aunque también es programación, es otro campo y en este artículo queremos revisar el estado del desarrollo móvil en 2021. ¿Qué lenguajes aprender? ¿Cuáles están al alza y cuáles están en decadencia? Abordaremos todo en este artículo.

El origen de las aplicaciones nativas.

Muchas veces, pese a nuestro mejor esfuerzo, las páginas webs no se adaptan perfectamente al 100% a todos los tamaños de pantalla. O no renderizan adecuadamente. O cualquier otro problema relacionado con las diferencias que existen al navegar en Internet desde un PC a hacerlo desde un móvil. Por eso, las grandes compañías (Google y Apple) desarrollaron lenguajes nativos para aplicaciones móviles. ¡No navegues en nuestra web, navega en nuestra aplicación, adaptada específicamente para nuestro sistema operativo! Y así, surgieron en su momento lenguajes nativos, se empezó a usar Java para desarrollar apps para Android y Objective-C para desarrollar apps para iOS. En ese momento si querías la misma app para los dos sistemas operativos, tenías que hacer dos desarrollos distintos.

Por supuesto, el poder hacer un desarrollo específico para iOS y otro para Android, te permite extraer el 100% del potencial de cada dispositivo, pero tiene la clara desventaja de que es mucho más caro.

El estado del desarrollo móvil en 2021.

Imagen de una tablet con multitud de apps
En la actualidad usarás apps en multitud de dispositivos.

Fruto de las limitaciones de usar desarrollo 100% nativo, el estado del desarrollo ha ido avanzando a fin de poder superar las mismas. Así tenemos:

Aplicaciones nativas: pese al coste mayor de desarrollar 100% nativo, muchas empresas siguen desarrollando de esa forma. ¿Por qué? Pues simplemente porque a día de hoy es imposible desarrollar con cualquier lenguaje de programación/framework multiplataforma una app que ofrezca el mismo rendimiento que si estuviera programado en nativo.  En Android, el lenguaje de programación que debes aprender si quieres especializarte en ello es Kotlin. Un lenguaje apoyado por Google y que cada vez tiene más demanda. En iOS, sin duda alguna, el estándar de desarrollo ahora es Swift.

Aplicaciones nativas multiplataforma: ¿Para qué desarrollar dos veces una aplicación para distintos sistemas operativos, pudiendo hacerlo una vez? Esto es lo que nos propone Flutter, un framework multiplataforma basado en el lenguaje de programación Dart lanzado por Google a finales de 2018. Pese a ser algo muy nuevo, Flutter cada vez está siendo más demandado por las empresas, al suponer un ahorro para las mismas y al ofrecer un mejor rendimiento por sus características que las aplicaciones bridge.

Aplicaciones híbridas: de nuevo, desarrolla para dos sistemas operativos pero sólo una única aplicación. Las aplicaciones híbridas exportan la aplicación ejecutándola dentro de un entorno de ejecución basado en HTML, CSS y JavaScript. Por ejemplo, aquí encontramos Ionic, basado en Angular. El problema de este tipo de aplicaciones es que ofrecen un menor rendimiento comparado con el desarrollo nativo y la tendencia en cuanto a demanda es descendente.

Aplicaciones Bridge: de nuevo, desarrolla para dos sistemas operativos pero sólo una única aplicación. Se llaman así porque crean una especie de “puente” entre el código nativo y el código escrito en JavaScript, de modo que la aplicación realmente se está ejecutando en nativo con un impacto en el rendimiento de la app mucho menor que el que teníamos con aplicaciones híbridas. Aquí destaca React Native. Por supuesto, este tipo de aplicaciones está desplazando a las híbridas.

¿Qué debería estudiar en este 2021?

Programador/a desarrollando una app móvil
¿Con ganas de aprender un lenguaje de desarrollo móvil en este 2021?

Como puedes imaginar, esta respuesta es muy subjetiva, y refleja mi opinión, basándome eso sí en las tendencias del mercado de desarrollo móvil para este año. En desarrollo nativo no hay duda alguna: si te quieres especializar en desarrollo Android tendrás que aprender Kotlin, y si te vas a especializar en desarrollo iOS te tocará aprender Swift.

Respecto a desarrollo multiplataforma, es innegable la tracción que está cogiendo Flutter. Por otro lado, si aprendes Angular o React porque eres desarrollador web, no te resultará difícil para nada Ionic o React Native, aunque desde mi punto de vista las aplicaciones híbridas o bridge van a ir perdiendo terreno en favor de Flutter, por el mejor rendimiento de éste último y porque además viene apoyado por un gigante como Google. 

Y tú, ¿qué opinas al respecto? ¿Qué lenguaje de desarrollo móvil estudiarás en este 2021? Puedes contárnoslo por TwitterInstagram o por nuestro formulario. Por supuesto, recuerda que si quieres que te ayudemos a crecer como profesional de forma más personalizada, no dudes en consultar nuestros servicios. Y si estás pensando en comprar algún producto relacionado con informática, no dudes en consultar nuestras recomendaciones en la sección Productos. Nos vemos en el siguiente artículo.