Impresiones de la DjangoCon Europe 2011

0

Manuel Saelices
Chief Developer en Yaco

Manuel Saelices, en la DjangoCon Europe 2011.

He tenido el placer de poder asistir a la DjangoCon Europe que tuvo lugar en Ámsterdam. En contra de lo que se puede suponer a priori, el viaje a Ámsterdam fue de todo menos un viaje de ocio. Con decir que tuve que quedar con un español que vive allí, el futuro compañero de Yaco Danny Navarro, para visitar Ámsterdam (bueno sólo ir a ver algunos escaparates, sin comprar nada por supuesto que hay crisis ;).

En fin, que me lo pasé en grande con casi 200 geeks que asistían a la conferencia (cinco de ellos españoles :). Bueno, en realidad sólo me lo empecé a pasar bien a partir del lunes por la tarde, una vez había dado mi charlita de 10 minutos sobre Merengue (transparencias en HTML5 aquí), dentro de la charla “3 CMSs in 45 minutes”. Hasta entonces sólo había sido un cúmulo de nervios y de trabajo de preparación, debido a mi mal inglés. Menos mal que al parecer salió bien la cosa y a muchos le gustó Merengue.

Con respecto a la primea DjangoCon de 2008, a la que asistí con Marc García, ha habido muchas diferencias. El sitio no era GooglePlex, cierto es, pero también es cierto que… We conquered the Castle! En serio, la gran mayor diferencia que veo es que se nota estos tres años de alto crecimiento de Django y sobre todo tres años de recorrido de muchas empresas, organizaciones e individuos que han ido creciendo alrededor, y todos encantados de su experiencia.

No sabía que sitios como Prezi era Django, así como todas las webs que se están haciendo en Mozilla, como la de addons (código liberado en github), como la famosa que recogía las descargas en tiempo real del FF4. Por ejemplo la de addons recibe más 500 millones de peticiones a su API para la comprobación de nuevos addons y temas similares. También los chicos de bitbucket,org lo hacen todo con Django. Muchas webs e iniciativas exitosas son en Django: djangozoom, ep.io, disqus, etc. etc. En 2008 sólo teníamos un par de referencias como Pownce. Por cierto, allí de nuevo estaba la guapa Djanguera Leah Culver, co-desarrolladora de Pownce (ahora no existe).

Se nota en estos tres años de conferencia un alto crecimiento de Django y sobre el recorrido de muchas empresas, organizaciones e individuos que han ido creciendo alrededor

Estos tres años han dado, además, para encontrar un sin fin de código liberado para Django que era el topic de las charlas o se usaban en los proyectos mencionados anteriores. Estos proyectos ni se intuían hace tres años y algunos tampoco los conocíamos antes de las conferencias (estaban en un github perdido). Cito algunos ejemplos:

Celery, para tareas asíncronas (usado en Yaco con éxito).

Fiber, un set de funcionalidades de CMS para añadir a tu proyecto Django, presentado por Dennis, una gran persona.

Django-qunit, para integración de django y qunit, que permiten hacer tests en Javascript. Se pueden ejecutar en varias máquinas usando jstestnet.

Django-cache-machine, basado en el antiguo django-caching, que es una alternativa menos mágica a Johnny-cache.

Django-waffle, para hacer test AB según ciertos flags activos o no.

Django-bleach, para evitar ataques de inyección de Javascript.

Django-queryset-transform, que permite evitar consultas SQL tomando el control del ORM, para cuando el select_related es insuficiente.

Django-nani, para traducción de modelos usando la aproximación en dos tablas, como hacía django-multilingual pero mucho mejor que este último. En merengue se usa django-transmeta, que se basa en una tabla con columnas para cada idioma.

Django-qmixin que permite una personalización elegante de tus managers y querysets.

Django-rest-framework, que parece mejor pensado que django-piston. Es curioso como a la gente no le termina de convencer django-piston y están tomando otros productos, aunque dicen los de ‘bitbucket’ que van a sacar una mejor versión pronto. El producto que al parecer está más de moda es django-tastypie, que tiene sin duda la mejor documentación de todos.

kong para testing funcional cuando Selenium se convierte en un cañón para matar moscas (depende de la naturaleza de la web que programes).

Dagny, o como aprovechar el REST para mejorar la estructura y reutilización de tu código. Esta es otra gran alternativa a django-piston, pero además te cambia el modelo de cómo programar. Un modelo elegantísimo.

› etc.

 

Estamos haciendo las cosas bien

Por otra parte, como ya le pareció a Loren en la PyCon, veo que estamos haciendo las cosas bien, tanto en desarrollo como en despliegue. Para integración continua usan Jenkins, como estamos empezando a usar nosotros. Otros usan bamboo. Para creación de máquinas y mantenimiento usan puppet y chef. Muchos usan la nube para ello.

Aunque todas estuvieron interesantes, voy a destacar algunas charlas especialmente:

› La lightning talk de PyCharm. Es sin duda el mejor IDE Django que hay. Permite autocompletado de todo, incluyendo dentro de las plantillas Django (carga de librerías, expresiones, filtros, ¡todo!). Lo único malo es que tarda mucho en cargar por el análisis que hace al proyecto que carga. Como curiosidad el desarrollador principal es un geek superdotado que entró a la universidad con 15 años (y se arrepiente mucho de ello).

› Muy interesante la charla de compass y less y del responsive web design.

› La charla de django on rails que trata de cómo aprender del modelo restful de Rails y aplicarlo a Django. El resultado es dagny, mencionado antes.

› La charla de reusable apps using «eicht spaces«, me pareció cómo analizaba el problema del import circular en Django y permitía un diseño de vistas que dejaba mucha mayor reutilización. Permite, por ejemplo, que puedas extender el modelo de una aplicación en una segunda aplicación que sea el modelo que usa la primera aplicación, pero sin el problema del import circular, que es el que saldría si intentaras hacerlo sin un artefacto ingenioso como “eicht spaces”.

Otra cosa interesante fue ver a Reinout van Rees escribiendo los artículos de blog de las charlas que iba viendo en tiempo real como si de una taquígrafa se tratara. ¡Very cool!

Por último los Sprints. Fueron en el castillo de De Waag, y la verdad es que pasamos un rato agradable. Yo estuve con Samuel Fuentes, el único de los españoles que se quedó a los sprints. La verdad es que sólo trabajé sprintando en Django unas 5-6 horas, en las cuales metí mano a 3-4 tickets del trac de Django. El resto estuve también ayudando a gente, desarrollando con Merengue, preparando el sprint de la EuroPython, contestando correos, redactando documentación de Yaco, etc.

Al final llegó Danny Navarro y pasamos un buen rato de charla juntos hasta las 1 y pico de la mañana.

En fin, unas conferencias magníficas, la gente estupenda, una organización increíble, pendiente de los asistentes en cada momento, con buena comida (el queso genial), mejor cerveza belga. Eso sí, hay algo que fallo en la DjangoCon Europe… faltó Cal Henderson.

 

Compartir.

Responder