Un año más tuvo lugar en Madrid el Codemotion 2016, el mayor evento por y para desarrolladores de España. Este año, superando ediciones anteriores, pudimos disfrutar de más de 160 charlas con más de 2000 asistentes. Un evento de grandes dimensiones que se ha convertido en una referencia en la agenda de los eventos tecnológicos de nuestro país.

Si hay una cita fijada en el calendario para muchos de nosotros, esa era la de Codemotion. Además, no solo acudimos como asistentes, sino que también asistimos al evento con varias ponencias.

En este post vamos a dar unas pinceladas de nuestra visión del evento y a analizar algunas de las charlas más interesantes de este año.

codemotion

Todo lo que necesitas saber a la hora de diseñar RESTful APIs

Una de las charlas más interesantes del primer día de conferencias fue la de Jesús Espejo (@jespejo89), que nos describió su experiencia tras varios años desarrollando APIs y nos dio unas pautas sobre cómo desarrollar APIs para nuestros servicios de manera segura. Además, pudimos entender que, aunque existe un amplio debate sobre qué es RESTful y qué no, él recomendaba ser pragmático y adaptar nuestro API a unas reglas de estilo REST, pero flexibles, dependiendo de las necesidades del proyecto y no convertirnos en unos puristas restafaris.

Git nivel Samurai

Nuestro compañero Sergio Gómez (@pulsarin), de Stratio, realizó una charla sobre cómo trabaja día a día con git, cuáles son sus recetas y nos dio una serie de recomendaciones muy interesantes para aquellos que aún no nos podemos considerar samurais. Automatización de operaciones con git, uso de comandos no aptos para novatos como bisect y una serie de demos finales donde, de una manera rápida, pudimos entender cómo se utilizan las recomendaciones que nos había explicado anteriormente.

Arquitecturas funcionales: más allá de las lambdas

Juan Manuel Serrano nos enseñó cómo aplicar la programación funcional para hacer que nuestras aplicaciones sean más modulares.

Gracias a las mónadas, que a parte de ser un monoide en la categoría de los endofuntores, pueden usarse como una API para implementar programas imperativos y conseguir que nuestro código sea más modular, más fácil de testear y más sencillo de leer. De una forma divertida haciendo referencias a Juego de Tronos, la niña del Exorcista y Celia Cruz (los que no estábamos ya convencidos), vimos la utilidad de usar este tipo de programación en nuestro día a día.

codemotion3

Más allá del CRUD: patrones que nunca olvidan

Diego Moreno dio una charla muy didáctica sobre el patrón CQRS y cómo lo han implementado en la aplicación que están desarrollando.

Con frameworks como React y Redux, usando bases de datos de las de toda la vida (SQL) y de las nuevas (NoSQL), y creando archivos JSON para crear las vistas del UI, han conseguido que su herramienta colaborativa en tiempo real sea robusta, escalable y muy rápida.

Computación cuántica 1

Francisco Gálvez, físico e informático, nos habló de los principios de la computación cuántica, qué es, qué no es, el estado de desarrollo actual y las diversas aproximaciones a la construcción de ordenadores cuánticos.

También habló de las capas de software que se utilizan para desarrollar programas para estos ordenadores, desde la capa del fabricante, un ensamblador intermedio hasta diversos lenguajes de alto nivel como Python y las librerías utilizadas.

Lo más asombroso fue descubrir que la computación cuántica está a nuestro alcance, aunque, sí, tendremos que repasar el álgebra lineal de la facultad.

Computación cuántica 2

Introducida en la charla anterior por Francisco, descubrimos la existencia de un sitio web que nos permite aprender sobre computación cuántica, desarrollar nuestros propios programas con puertas lógicas cuánticas y ejecutarlos en un procesador real de cinco qubits de IBM o en simuladores.

Esta página, de estupenda calidad, fue realizada en España por la Universidad de La Laguna en Tenerife y presentada por dos de sus autores, Paco Martín y Fran Cabrera.

Desde entonces estoy enganchado. ¡No os la perdáis!

codemotion2

PostCSS: The treasure map

Naiara Abaroa nos mostró que PostCSS es más que una herramienta de post/pre procesado de CSS, que no solo se centra en la inclusión de “vendor prefixes” o que solo nos permite usar nuevas características de CSS3. Porque PostCSS es una caja de herramientas en la que podemos incluir los plugins que necesitemos (disponemos de más de 200), o incluso construir el que queramos si tenemos conocimientos de Javascript. Una charla muy amena e interesante, que se vio un poco deslucida por los problemas técnicos que sufrió. Murphy hizo horas extras en la charla, pero Naiara salió victoriosa.

Dockeriza aplicaciones Java

En una de las charlas mejor valoradas por los asistentes, Iván López (@ilopmar) nos hizo una introducción rápida a Docker que fue más allá de los típicos conceptos básicos, enfocándose en cómo se puede meter en contenedores todo el entorno de desarrollo de una aplicación, por complicada que sea.

Siguiendo sus pasos, cualquier programador puede incorporarse a un proyecto y empezar a ser productivo en cuestión de minutos, sin renunciar a usar su sistema operativo o sus herramientas favoritas. Incluso los más curtidos en Docker pudieron ver algunos trucos, como conectar las aplicaciones gráficas a un servidor XWindow en el exterior, o levantar varios servicios en un sólo contenedor utilizando tmux como proceso inicial, que hicieron que todo el público saliera con buen sabor de boca de la charla.

CSS Grid Layout

Nuestro compañero Luis Calvo (@luiscalvodiaz) nos mostró cómo, gracias a la nueva especificación de CSS, podemos crear el grid de nuestro layout de una manera muy sencilla y eficaz utilizando exclusivamente CSS. Por fin podremos dejar de usar “bootstrap, pero solo para el grid”, siempre y cuando los navegadores se pongan las pilas e implementen este nuevo módulo de CSS (como ya ha hecho Microsoft en Edge).

C++17: El reemplazo de C++11/14

Como en ediciones anteriores, el profesor José Daniel García (@jdgarciauc3m) nos puso al día de las novedades en el universo C++. Después de su polémica y exitosa charla del año pasado, este año nos habló del nuevo standard C++17, que está siendo discutido en el comité ISO al que pertenece.

Como siempre no defraudó e hizo un exposición rigurosa y entretenida a la vez. Sin duda es un excelente comunicador y se está convirtiendo en un clásico del Codemotion. Nos invitó al evento “using std::cpp” específico de C++, que tendrá lugar en la Universidad Carlos III de Madrid en los próximos días. C++ sigue renovándose y más vivo que nunca.

Serverless applications

Luis Miguel Fernández (@luismi_ft) y Juan José del Campo (@jjdelcampo), de ATSistemas, nos enseñaron el uso que han hecho de AWS Lambda para crear el backend de una aplicación que han hecho para uno de sus clientes, sin necesidad de definir ni mantener servidores. ¡Olvídate de IaaS, PaaS o BaaS, lo nuevo ahora es FaaS!

Subiendo a la nube únicamente funciones creadas en Java, Javascript o Python, y con apenas unas líneas de configuración para exponerlas al exterior, puedes crear todos los servicios que necesites. Una tecnología que aún necesita madurar un poco, pero con una flexibilidad y un time to market imbatibles. ¿Hemos dicho ya que el primer millón de peticiones de cada mes es gratis?

Microservicios, en qué lío me he metido

En este caso Ernesto Hernández (@ehdez73) y Miguel Ortega (@mortegarod), de Packlink, nos llevaron por un viaje a través de la transformación de un sistema monolítico en una arquitectura basada en microservicios desde el punto de vista de su experiencia. Hicieron hincapié en los retos con los que se fueron encontrando, las decisiones tomadas, los fallos en los que incurrieron y los resultados que finalmente han logrado hasta alcanzar el éxito.

Lo que deberías saber sobre testing para irte de cañas con @pedro_g_s y no empezar con resaca

Desde hace ya varios años el testing se ha convertido en un imprescindible en el desarrollo. Sergio Arroyo nos hizo una introducción al testing desde una visión práctica. Su charla comenzó exponiendo casos de uso concretos que sirvieron de ejemplo para mostrar las diferentes alternativas con las que nos encontramos a la hora de hacer el testing, para continuar con un repaso por los errores típicos a la hora de realizar nuestros desarrollos y los tests asociados y algunas estrategias para el testing sobre código legacy.

En resumen, Codemotion 2016 ha sido todo un éxito. La gran afluencia de asistentes pone de manifiesto el creciente interés por el desarrollo y las últimas tendencias en tecnología. Las conferencias, en general, han sido de muy alto nivel. Algunos de los términos más oídos han sido Docker, Machine Learning, Computación cuántica, Agile, Microservicios y Cloud, así como el omnipresente Javascript (y su pelotón de frameworks), que no podía faltar en un evento de estas características.

Además, por segundo año consecutivo, hubo jornadas de programación para los más peques (talleres de programación en Scratch). Pudimos disfrutar en familia del evento y empezar a formar a los programadores del mañana.

Desde Paradigma agradecemos y felicitamos a los organizadores del evento por seguir haciendo de Codemotion un punto de encuentro referente de profesionales de nuestro sector, y les animamos a continuar con la misma energía e ilusión para futuras ediciones.

Cuéntanos qué te parece.

Los comentarios serán moderados. Serán visibles si aportan un argumento constructivo. Si no estás de acuerdo con algún punto, por favor, muestra tus opiniones de manera educada.

Suscríbete

Estamos comprometidos.

Tecnología, personas e impacto positivo.