Descubriendo el mundo Android 💚
En el 2017 decidí que estar en el rubro de la tecnología era en lo que me quería desarrollar profesionalmente… ¿Cómo lo decidí? — Es una buena pregunta …Prometo que esa historia será contada en un próximo post :) .
Llevo alrededor de dos meses desempeñándome como Android developer a tiempo completo , en este post me gustaría compartir como fué mi transición de desarrollo front-end a desarrollo Android.
Mi mundo : “Desarrollo front-end 😊️“:
En mis días como front-end estuve desarrollando bajo las siguientes tecnologías :
- HTML5 .- El esqueleto de todo 🔨. Esto implica estructurar el contenido de una manera correcta, diciéndole al navegador dónde van textos, imágenes, videos, etc .
- CSS3 .- La parte visual del desarrollo 💄. Implica tener conocimientos sobre conceptos como : Responsive Web Design, Grillas, media queries, preprocesadores como SASS o LESS, frameworks como Bootstrap, Materialize ,etc.
- JavaScript (mi favorito 💛) .- Donde sucede la magia ✨. Estuve viendo conceptos de programación funcional y aprendí a usar librerías como JQuery, React, además de conceptos como SPA(single page aplication),Web Components , AJAX y uso de preprocesadores como BABEL; además, un poco de Node JS para el levantamiento de servidores.
- Manejadores de paquetes .- Como npm y bower , que facilitan la instalación de librerías en los proyectos.
¿Cómo llegó Android ?
Sinceramente siempre sentí la curiosidad sobre programar en varias plataformas, me llamaba mucho la atención ver que habían personas que podían programar especialmente para celulares, televisores, etc ; desde mi punto de vista era como trascender de lo habitual.
Un día recibí una propuesta de trabajo en donde me proponían aprender sobre esto y dije : ¿Por qué no? … Este fué el inicio de mi aventura con el desarrollo Android 😊.
Cuando acepté la propuesta , pensé : “OK, pero ¿Qué implica realmente desarrollar para Android ? ” .
Para empezar a desarrollar aplicaciones mobile nativas en Android , es necesario derribar muchas paredes de conceptos nuevos ; el camino no es fácil , pero si encuentras una muy buena motivación para seguir adelante y tienes muchas ganas de aprender , sería bueno que tomes en cuenta los siguientes pasos(no olvides llevar estos conceptos de la mano con la documentación oficial que nos ofrece Android) :
Programación Orientada a Objetos (POO):
Digo que este es el paso 0 , porque muchas personas asumen que es algo que un@ ya debería saber , sin embargo para mi (con 6 meses programando en ese entonces), fué algo nuevo . Cuando estuve buscando en internet sobre POO me topé con lecturas muy interesantes, que tenían muchos conceptos como : Clases, herencia , encapsulamiento, cohesión, abstracción, polimorfismo y acoplamiento (sabía superficialmente de los 3 primeros ,de abstracción y de los 3 restantes no era consciente de que existían); quedé en shock con el mundo de conceptos nuevos que encontré.
Todos esos conceptos trascienden del lenguaje de programación; eso está bien , pero para este propósito era importante ver que esos conceptos se orienten a Java; por lo que recomiendo muchísimo este curso:
- Object Oriented Programming in Java [by Google] de Udacity.
Este curso es mucho más enfocado y tiene lo necesario para entrar en el siguiente paso.
Java + Android Studio :
Antes de entrar a Kotlin , es importante consolidar los conocimientos en Java ; si bien es cierto Kotlin ya es el lenguaje oficial del desarrollo Android; no podemos olvidar que Java aún sigue siendo parte de Android, además de que gran parte de los tutoriales se encuentran en Java .
- Android Basics: User Interface [by Google] de Udacity.
- Android Basics: User Input [by Google] de Udacity.
- Android Basics: Multiscreen Apps [by Google] de Udacity.
- Android Basics: Networking [by Google] de Udacity.
- Android Basics: Data Storage [by Google] de Udacity.
Todo esto forma parte del curso Android Development for Beginners; una vez familiarizad@ con estos conceptos , lo ideal sería seguir con el fascinante mundo de Kotlin .
Android Studio + Kotlin :
Como ya lo mencioné antes Kotlin es el lenguaje oficial de Android , cuando vi por primera vez Kotlin me dió la ligera impresión de que era algo así como JavaScript y Java juntos en una licuadora (obviamente es mucho más que eso). A continuación detallo un par de características más resaltantes :
- Es muy sencillo y pragmático .- ¿Qué quiere decir esto?Pues , es un lenguaje bastante práctico , no es tan fuertemente tipado como Java y tiene una curva de aprendizaje mucho más ligera , a diferencia de otros lenguajes de programación.
- Es Interoperable al 100% con Java .- Ideal para migrar aplicaciones antiguas.
Suena como un lenguaje de programación muy amigable ; para entenderlo mucho mejor sería una buena idea revisar la documentación oficial :
- Kotlin Programming Language — Documentación oficial.
y el siguiente curso:
- Kotlin Bootcamp for Android Developers [bye Google] de Udacity.
La comunidad de Android es importante :
Cuando estamos adentrándonos en un mundo nuevo , es importante ser y sentirse parte de él; por lo que siempre es bueno mantenerse al tanto de las últimas actualizaciones de la comunidad, seguir a los máximos referentes, para que poco a poco nos vayamos familiarizando con el entorno y nos vayamos sintiendo parte de él .
- Android weekly .-Revista semanal, te inscribes y te llega un correo cada semana con las últimas actualizaciones 😊.
- AndroidDevDigest .-Revista semanal; también llegan muy buenas actualizaciones de este sitio.
- Medios sociales .- Si eres de usar redes sociales como twitter sería bueno que empieces a seguir a referentes como Rebecca Franks , Florina Montescue , las plataformas oficiales : Android Developers , Android Studio, Google Developers, por citar algunas . Todas nos mantienen actualizados .
- Canales en Youtube .- Android Dialogs y Android Developers son unas muy buenas opciones para empezar 😄.
No existe una única fórmula ni el momento perfecto para decidir entrar en el mundo Android, pero si tienes el empuje necesario y le pones todas las ganas garantizo que es una experiencia única y muy reconfortante ✌️ 💚 ✌️ 😊, la verdad es que todos tenemos distintas formas de aprender , descubre la tuya y habrás trazado tu camino perfecto en el mundo de la programación ❤️.