Codemotion 2016, a vista de pájaro

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).

luis-calvo-codemotion

Luis Calvo en su charla ‘CSS Grid Layout – Controlando la estructura de nuestra web’

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.

codemotion4

Compañeros de Paradigma en Codemotion 2016

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.

Luis Calvo comenzó su carrera profesional en Netjuice, a finales de los 90, en pleno "boom" de internet, como maquetador y diseñador web. Experto en el uso de las tecnologías "del lado del cliente" (html, css, javascript, xsl, ...) ha participado en el desarrollo y conceptualización de un gran número de portales, páginas corporativas y aplicaciones web para las principales empresas. Cree firmemente en la accesibilidad web y en el desarrollo bajo estándares.

Ver toda la actividad de Luis Calvo

Manuel Zaforas es Ingeniero Superior en Informática por la UPM. Está interesado en HPC, IoT, Cloud, NoSQL, Big Data, Data Science, Machine Learning y Agile. Apoya activamente la implantación de software libre, la calidad en los procesos de desarrollo de software a través de la mejora continua y la innovación en las metodologías de desarrollo y gestión de equipos. Actualmente trabaja en Paradigma como Scrum Master y Arquitecto Software.

Ver toda la actividad de Manuel Zaforas

Alberto Grande es Ingeniero Informático por la UPM, amante de la tecnología y todo lo que la rodea. Está especialmente interesado en desarrollo (principalmente Java), arquitecturas distribuidas y escalables y sistemas Cloud. Piensa que en software la calidad debe estar por encima de todo y nunca debería ser negociable. Actualmente trabaja como Arquitecto Software en Paradigma.

Ver toda la actividad de Alberto Grande

Llevo programando desde los 8 años cuando mis padres se compraron un Amstrad CPC 6128. Desde entonces no he parado y me encanta aprender lenguajes nuevos y aplicar las 3 R (Reutilizar, Reducir, Refactorizar) a los proyectos donde estoy. Actualmente trabajo como Arquitecto de Soluciones en Paradigma.

Ver toda la actividad de Rubén García Becerro

Miguel Sesma es principalmente desarrollador y formador Android desde 2010, apasionado de la calidad del software y comprometido con las arquitecturas clean y la introducción de buenas prácticas en el desarrollo de movilidad. Sus intereses van desde los lenguajes modernos como Kotlin y Swift aplicados al desarrollo móvil, programación funcional, reactiva, hasta investigación de nuevas tecnologías como los ordenadores cuánticos. Anteriormente ha trabajado Network and Database administrator, desarrollador C++ y desarrollo de IoT.

Ver toda la actividad de Miguel Sesma

Recibe más artículos como este

Recibirás un email por cada nuevo artículo.. Acepto los términos legales

Posts relacionados

Escribe un comentario