¿Qué estudiar?

¿Qué estudiar?

Como pudiste notar, estuve ausente y no porque ya no vaya a escribir pero créeme que a veces es complicado (supongo que los creadores de contenido lo entienden perfectamente) pensar en qué ofrecer y que esto pueda parecer atractivo y no aburrido; pero bueno, dejémonos de rodeos.

Estas últimas semanas he comenzado con un poco de ansiedad, mucho trabajo, retomé algunos videojuegos y estudié algunas cosas que me parecen interesantes; en esto último es donde quiero sumergirme... ¿Has pensado seriamente en que estás perdiendo el tiempo? Bueno y es aquí donde me sumerjo en mi ansiedad, esa ansiedad por sentir que estoy perdiendo el tiempo pero, cuando me pongo a estudiar realmente siento no estar aprendiendo nada y, además, no tengo donde practicarlo, ¿por qué? Bueno, en el trabajo las actividades son diferentes y no tengo tanto margen para andar experimentando, al menos no en el proyecto. Y, si tengo ideas para algunas aplicaciones pero no las logro consolidar porque no tengo 100% la idea bajada o ya son cosas que existen, además de que no conozco a un buen diseñador que sólo quiera hacer las cosas por el simple gusto, así como yo.

Además de que últimamente estoy cayendo en el clásico sentir que me hace falta mucho para realizar lo que tengo en mente, por ejemplo, he estado estudiando SwiftUI pero cada vez que intento comenzar algo me doy cuenta que me hace falta, no sé, Combine + Networking y, cuando voy a comenzar con Combine me doy cuenta que no estoy tan sólido en first class functions para colecciones y, cuando comienzo con eso pues me aviento varios capítulos de un libro de Swift avanzado y, cuando me doy cuenta de todo realmente no he iniciado nada, a la mejor si aprendí más cosas pero, ¡NO HE HECHO NADA!, ¿te ha pasado?

Pero dejemos a un lado los problemas, te diré lo que creo que deberías de estudiar estando en este mundo del mobile:

  1. ¿Sabes sólo UIKit? Creo que es momento que voltees a ver SwiftUI y comenzar a cambiar el paradigma para crear vistas, en vez de crear un layout dependiente de un ciclo de vida y acciones; describirás la vista desde un inicio, con sus acciones y el refrescado se da de forma automática cuando el hash de cada vista o subvista haya cambiado, a esto se le conoce como UI Components o Descriptive UI y se usa en muchos frameworks modernos como React, React Native, Flutter, JetPack Compose y, obviamente SwiftUI. Me costó trabajo pero comienzo a notar como todas las cosas se alinean para crear un MVVM puro y reactivo; ahora que si tienes mucho negocio, esto se acopla muy bien con CLEAN, I think!

  2. Últimamente (a la mejor desde antes, no estoy diciendo que esté sucediendo apenas) las empresas apuestan por menos código que mantener y, obviamente, por un menor costo al momento de realizar TODOS sus sistemas, entonces en la industria se está apostando por cosas como React Native y Flutter para realizar aplicaciones pero, ¿qué tipo de aplicaciones? Bueno, es real que para sacar todo el provecho de la interfaz y de todo lo que tenga que ver con performance lo mejor es irnos por el lado nativo (ya sabes, Swift y Kotlin) pero si las aplicaciones son cosas de mucho consumo de información, presentar la información, etc. Creo que es una buena idea pensar en alguna de las otras soluciones.

  3. Programación funcional porque TODO lo que te mencioné con anterioridad funciona con FUNCIONES (qué bien le leyó eso), entonces es momento de que entiendas un poco más este paradigma.

  4. Y bueno, no olvidarte de Unit Testing, GIT, Semantic Versioning, CI / CD y más.

Bueno, es todo por esta ocasión, espero te ayude de algo.

🤘🏼