Tras hablar con varios antiguos alumnos así como amigos que trabajan en iOS y Android en Europa y EEUU, hemos decidido hacerle un “lifting” al boot mobile para hacerlo más “lean” y enfocado al core mobile y las tendencias actuales.
¿Por qué ser desarrollador mobile?
Mucho ha cambiado, para mejor, y tenemos una situación inmejorable para ser un desarrollador mobile:
- Gran demanda internacional y creciente de desarrolladores
- Mejoras notables en las herramientas
- Lo más importante de todo, IMHO: una gran similitud y paralelismo entre los dos hermanos en discordia más conocidos desde Caín y Abel: iOS e Android.
Desarrollador Android golpeando a traición a un programador iOS
¡Ya somos uno!
Como bien dicen en Juego de Tronos, uno no hace las paces con los amigos, sino con los enemigos, y eso parece ser que han hecho iOS y Android. Los lenguajes son sumamente parecidos, con features, formas de trabajar, herramientas arquitecturas y frameworks muy similares. ¡Jamás ha sido tan fácil crear apps nativas para ambos sistemas!
Incluso, y que quede entre nosotros, me gusta más Kotlin que Swift.
De la nada a full stack mobile en 6 meses!
El objetivo es concentrar y profundizar en el core:
- 6 meses lectivos para convertirse en full stack mobile
- Varios nuevos módulos que detallo
- Más de 200 horas de material extra opcional para dominar todos los demás aspectos del desarrollo.
Los tracks
Tenemos una secuencia de varios tracks:
- Preboot
- iOS
- Común (herramientas profesionales)
- Híbrido (React Native)
- Android
Hasta aquí llegan los seis meses. Luego tienes más de un año para verte el resto de material opcional (GraphQL, React, Node, despliegue, Realm, agilismo, emprendimiento, etc).
Eh-Ho: un me-too de Telegram
Otra de las novedades es que los módulos están mucho más acoplados e iremos desarrollando un mismo cliente avanzado para un sistema de mensajería (tipo telegram) con mensajes, canales, usuarios, notificaciones llamado Eh-Ho. Os daremos el ReST API y los endpoints, y tendréis que ir creando los clientes iOS y Android, como en cualquier proyecto real de la industria.
Este cliente marca la hoja de ruta y la secuencia de los módulos:
- Haremos que funcione
- Luego que funcione bien
- Luego que funcione rápido y en local
- Finalmente que funcione bonito, en ambos sistemas
Para no enrollarme en exceso, te cuento los cambios en iOS, aunque los hechos al track Android son exactamente iguales.
Preboot
Nada más matricularte, tienes una entrevista con tu coach, María José, que te evaluará y te recomendará material de formación para estar a punto cuando suene el pistoletazo de salida.
En él, tendrás los siguientes módulos grabados:
- Intro a Swift 5 & iOS. Similar al curso de Kotlin desde 0 que ya tenemos. Darás tus primeros pasos con Swift y Xcode creando una app sencilla, pero útil. Lo imparto yo.
- Intro a Autolayout. Este curso, corto, lo condensa todo en 7 ejemplos sencillos, que combinándolos entre sí te permiten crear cualquier UI. Es fruto de mi experiencia enseñando Autolayout en USA y lo imparto yo.
iOS
Consta de los siguientes tracks:
- Fundamentos iOS. Sientae bases sólidas sobre las que construir. Impartido por el nuevo coordinador del Bootcamp, Alexandre Freire. Se desarrolla una App de catálogo.
- Concurrencia y Red. Veremos cómo crear Apps con distintas colas de ejecución que no se bloquean, ya sea al consumir datos de la red o procesar imágenes con CoreImage. Impartido por Julio Martínez, antiguo alumno que hoy trabaja en el Silicon Valley. Haremos la primera versión del cliente de Eh-Ho.
- Arquitectura y Código de Calidad. No basta que nuestro código funcione, tiene que hacerlo bien. En este módulo veremos las diferentes arquitecturas y mecanismos de comunicación usados en Apps. También aprenderemos herramientas y técnicas para asegurar la calidad de nuestro código: TDD, QuickCheck para Swift, Property-Based Testing, Validaciones para simular Tipos Dependientes en Swift. ¡Ni un bug pasará! Lo imparto yo y desarrollaremos un pequeño cliente de Fintech.
- Persistencia, Instrumentación y Optimización. No basta que nuestro cliente funcione conectado a la red. Tiene que funcionar en local con un cache y tiene que ser rápido. En este módulo veremos las diferentes formas de persistencia así como el uso del perfilador (Instruments). Añadiremos persistencia local a nuestro cliente de Eh-Ho aprovechando lo aprendido en el módulo anterior para que implique en la menor cantidad de código posible.
- UX Móvil y diseño de UI. Ya tenemos nuestro cliente “feature complete”. Hay que hacerlo bonito. Aprenderemos los fundamentos de UX y a manejar herramientas como Sketch y PaintCode, que nos permiten crear los assets de forma independiente de la resolución, tanto para iOS como para Android.
- UI Avanzada. Aquí aprenderemos animaciones avanzadas, con o sin Autolayout, a manejar capar y crear vistas personalizadas con CoreGraphics y CoreAnimation. Impartido por Alvaro Royo, que tiene en su haber las Apps del BBVA y varias otras fintech.
Superpoderes iOS. Módulo presencial, centrado en CoreML y ARKit. Impartido también por Alvaro Royo.
Herramientas Profesionales
- Fastlane / BuddyBuild. Integración contínua para apps y gestión de la App Store y Google Play.
- Firebase. Sin duda la mejor opción de MBaaS del mercado. Aprenderemos a crear nuestro propio backend para Eh-Ho, añadiendo algunas features, como push notifications.
Una vez terminado el track de iOS, pasamos a un módulo de React Native y luego al track de Android, que tiene una estructura similar al de iOS y que trabaja también sobre Eh-Ho, para simular a la perfección la situación en una empresa.
¿Y descanso, qué?
Entre módulos se han insertado semanas de “buffer”: para reponerse, terminar prácticas, ver material opcional, avanzar, que te vuelvan a presentar a tu familia o simplemente descansar.
¿Qué podré hacer?
Pasados estos seis meses lectivos, tendréis un portfolio de varias apps reales y complejas y conocimientos que os permitirán, de sobra, optar por los mejores puestos como desarrollador mobile en cualquier empresa de Europa o Estados Unidos.
¡No te pierdas esta oportunidad de arrancar una carrera en uno de los mercados más demandados e interesantes del momento!