Ser programador de Apps móviles (Android | iOS) en 2021
Mientras 2021 se presenta como un año de crisis mundial, el sector del desarrollo de App móviles no para de crecer.
Esto tiene lógica desde un punto de vista muy sencillo: la transformación digital es ya una obligación, y a día de hoy nuestros posibles clientes se pasan más tiempo de ocio delante de su teléfono que nunca.
¿Cómo pienso que va a afectar todo esto a la situación del desarrollo móvil? ¿Qué tipo de tecnologías deberías aprender, tanto si estás empezando como si quieres seguir avanzando profesionalmente?
En el artículo de hoy te lo cuento todo.
Pequeño disclaimer de que esto son predicciones que considero de forma personal, y que nadie puede conocer 100% el futuro. Me encantaría conocer tu opinión en los comentarios.
La evolución del sector del desarrollo móvil en 2021
Podemos pensar que, como a todos, la crisis del coronavirus ha impactado directamente al mundo del desarrollo de software.
Y durante unos meses fue así, la incertidumbre de una gran crisis económica hizo que muchas empresas tecnológicas pararan sus contrataciones, o incluso que despidieran gente.
Pero ante una situación que va para largo, y viendo que la demanda no deja de crecer, el ritmo de contrataciones está empezando a aumentar.
Eso sí, el mercado ya no volverá a ser igual. Algunas tecnologías han salido beneficiadas.
Estas son mis predicciones para 2021:
El desarrollo móvil nativo seguirá creciendo de forma progresiva
Por si llegas aquí de nuevas, planteándote si quieres dedicar tu carrera al desarrollo móvil, que sepas que hay dos formas de programar Apps:
- Desarrollo nativo: Utilizando las herramientas que te proponen cada una de las plataformas, programas código exclusivamente para esa plataforma. De esta forma el código que programes para Android, no te va a valer para los iPhone (iOS)
- Desarrollo multiplataforma: puedes escribir tu App una vez y utilizarla en múltiples plataformas. Aquí hay varias opciones, entre las que destacan React Native, Flutter o Ionic.
A pesar de la crisis en la que nos encontramos (o quizá más bien debido a ello) muchas empresas que eran 100% offline necesitan transformarse para poder adaptarse a la nueva realidad: la gente no sale de casa tanto como antes.
Para ello, esa reconversión al mundo online necesita ser rápida si no quieren quebrar. Yo mismo he vivido esto en 2020, teniendo que virar a un modelo 100% digital.
Por tanto, tras este pequeño parón de incertidumbre, las empresas tienen que seguir saliendo adelante, y para ello muchas optarán por Apps móviles.
Los programadores y amantes de la tecnología vivimos en una realidad un poco distorsionada, pero hay mucha gente hoy en día que solo acceden a Internet a través de teléfonos móviles, y es la forma más efectiva de llegar a la audiencia.
El desarrollo nativo sigue siendo el rey, y no va a parar de crecer en 2021.
React Native continuará con su declive
La gran ventaja de React Native es que usa JavaScript, y por tanto cualquier desarrollador web podía fácilmente iniciarse en este mundo.
A la larga se ha visto que no todo era tan bonito como parecía, y muchas empresas como AirBnB, grandes abanderados de React Native en su momento, decidieron abandonarlo y desarrollar 100% en nativo.
React Native transforma el código JavaScript a componentes nativos, y esto ha sido uno de sus mayores problemas. El rendimiento de la interfaz de usuario en muchos casos dejaba mucho que desear.
Mi previsión es que React Native va a seguir cayendo en el olvido en el 2021.
Flutter crece con fuerza
Pero no todo está perdido en el mundo multiplataforma.
La realidad es que, aunque muchas empresas necesitan esta transformación digital, también es cierto que la gran mayoría está pasando por problemas económicos.
Flutter está demostrando ser la solución más solida en los últimos meses, con tiempos de desarrollo impensables en el mundo nativo, y con una gran comunidad que lo está impulsando con fuerza.
Preveo que el crecimiento de Flutter va a ser exponencial en 2021, y que esta crisis le va a ayudar a crecer más rápido de lo que se podía pensar.
Si quieres conocer mi opinión sobre Flutter vs Desarrollo Nativo, lo puedes ver en este artículo anterior.
Kotlin Multiplatform se acerca pero no llega
En conversaciones que hemos tenido con personal responsable de los equipos de Mutliplatform, no podemos esperar versiones finales cercanas por temas técnicos que aún necesitan resolver.
Mi apuesta es que este 2021 con suerte veremos la beta de Kotlin Multiplatform, pero no vamos a llegar a ver una release final.
Esto no quiere decir que no se pueda usar en producción, ya que hay empresas usándolo con éxito, pero tenemos que ser conscientes de que la situación no va a ser la ideal, con muchas nuevas herramientas que cambian constantemente.
Eso sí, ser los primeros siempre tiene su recompensa.
Ya no es el año de Kotlin y de Swift
Este punto está ya tan asumido, que a día de hoy no es novedad.
Tanto Swift como Kotlin son ya necesarios a nivel profesional, y su adopción seguirá creciendo de manera progresiva también durante este año.
El pico de crecimiento ya lo alcanzaron en años anteriores, ahora solo queda que las pocas empresas que quedan por empezar a usarlo den el salto.
¿Qué debo aprender si quiero empezar con desarrollo móvil?
Mi opinión es que, en 2021, aún es necesario aprender desarrollo nativo
- Para Android, el estándar hoy en día es utilizar Android Studio con el lenguaje Kotlin.
- Para iOS, se utiliza XCode con Swift
A día de hoy también te recomiendo aún así que tengas unas nociones sobre Java en el caso de Android y sobre Objective-C en el caso de iOS.
Es cierto que cada vez se usan menos, pero hay mucha base de código escrita en estos lenguajes, así que salvo raras excepciones, te vas a ver en la necesidad de utilizarlo.
Sabiendo Kotlin es muy sencillo aprender Java, sin embargo Objective-C te puede llevar más tiempo.
Y si ya me dedico a ello profesionalmente, ¿qué debería aprender?
Si te estás preguntando en qué deberías centrar tus esfuerzos, te cuento qué puedes esperar de este año:
Si aún no lo has hecho, da el salto a Kotlin y Swift
Ya no hay excusas ni tiempo. Si aún no estás al día con estos dos lenguajes, en función de la plataforma en la que te encuentres, es lo primero que te recomiendo hacer.
Si estás en Android, te recomiendo que empieces con mi masterclass gratuita.
Como verás en ella, Kotlin ya está tan extendido que cualquier salto profesional que te plantees va a requerir conocerlo.
Más desarrollo de software y menos desarrollo móvil
El mercado ya está tan maduro que el conocimiento de los frameworks de cada plataforma se da por sentado.
He hablado con muchas personas, tanto en procesos de selección como de recruiting, y todos coinciden en que para dar el siguiente paso no es suficiente con conocer el lenguaje y las librerías, hay que ir más allá.
Conceptos de la ingeniería de software como pueden ser las arquitecturas, el testing, patrones de diseño, integración continua, y este tipo de conocimientos que difierencian proyectos pequeños de grandes productos de software.
De todo esto y mucho más hablamos en Architect Coders, que te puedes apuntar aquí para que te avise de la siguiente semana gratuita que tendremos en poco tiempo.
La programación reactiva vuelve con fuerza
Esto no es algo nuevo, desde el lanzamiento de RxJava hemos visto cómo poco a poco se ha ido extendiendo a muchos ámbitos por las innumerables ventajas que aporta.
Pero la verdad es que la curva de aprendizaje siempre ha sido bastante alta debido a que las herramientas tampoco eran especialmente sencillas.
Pero los lenguajes de estas dos plataformas han añadido herramientas propias que simplifican mucho su aprendizaje, por lo que su popularidad está creciendo a pasos agigantados.
Para que te hagas una idea, la incursión de Flow en Android está siendo tal, que ya muchas librerías como Paging, Room o incluso Data Binding ya lo soportan de forma nativa.
Si te interesa aprender sobre este tema, échale un ojo a mi curso gratuito de Programación Reactiva con Flow en YouTube.
En Swift creo que el equivalente sería Combine, pero no lo conozco mucho así que si estás en ese área, te recomiendo que le eches un ojo.
No pierdas de vista a Flutter
Como te comentaba al principio, Flutter está creciendo de forma meteórica, y no es descartable que tu empresa requiera hacer algún proyecto en esta plataforma.
Como desarrollador Android o iOS te va a ser mucho más sencillo dar el salto.
Es tremendamente fácil de aprender, y vas a tener la ventaja de que conoces cómo desarrollar la parte nativa si se da el caso de que algo no se puede hacer exclusivamente con Flutter.
Así que si te interesa Flutter, este es el año para empezar a aprenderlo.
Si quieres ser de los primeros, a tope con Kotlin Multiplatform
Si bien es verdad que estamos lejos de una versión final, como comentaba antes, si eres de los primeros estarás muy bien posicionado cuando esta tecnología explote.
Yo ya estoy viendo proyectos que lo usan, pero a estas alturas aún van a ser residuales. Eso sí, sospecho que 2022 será diferente, así que tienes un año para empezar a destacar sobre el resto.
Conclusión
Como ves, el desarrollo nativo va a seguir siendo el rey, por supuesto con los lenguajes más modernos, pero hay otras tecnologías que se van abriendo camino y que merece la pena tener en cuenta.
Algunas darán de que hablar ya este año, y para otras habrá que esperar un poco más.
¿Y tú, qué opinas de lo que nos deparará 2021 en cuanto a desarrollo móvil? ¿Crees que me he dejado algo, hay alguna cosa con la que no estés de acuerdo?
Déjamelo en los comentarios.
Senior Software Engineer I
3 añoscreo que también hay que prestar atención a la parte de realidad aumentada, ya que va muy de la mano con dispositivos mobile, y puede que este año den mas de que hablar.