Feeds:
Entradas
Comentarios

Archive for marzo 2012


Este es un pequeño post que tiene doble objetivo, por un lado quiero contar un poco como fue mi día de codemotion y las charlas a las que fui, por otro lado quiero aclarar algunos aspectos de la charla que di. Empecemos por lo primero.

Las charlas a las que yo asistí

La primera charla que vi fue sobre crear aplicaciones nativas en Widows 8 con Javascript, de Boris Armenta (@borisarm). La verdad es que la charla estuvo interesante, y Boris habló justo sobre lo que decía el título de su charla. Empezó con una pequeña introducción sobre la nueva plataforma de desarrollo de Windows 8, y después hizo una demo. La verdad es que tenía mucha curiosidad por ver como lo habían montado los señores de Microsoft para poder desarrollar aplicaciones nativas con JavaScript. Por lo que Boris contó no se lo han montado mal. Por un lado han orientado las APIs de desarrollo al paradigma de aplicaciones táctiles y no de ratón. En el caso de que el dispositivo no sea táctil, Windows 8 adaptará nuestra aplicación al ratón y teclado de forma transparente al programador. Por otro lado han cogido la máquina virtual de JavaScript de IE9, llamada «Chakra», y la han extraído del browser para que podamos ejecutar aplicaciones javascript de escritorio en modo nativo, totalmente separado del browser. Ahora con JavaScript puedes acceder a la API del sistema operativo de forma directa y no estás restringido por el sandbox del browser. ¿Y como pintas las UI? ¡Pués con HTML5 y CSS! Windows 8 te proporciona una sintaxis de microdata para marcar el HTML y hacer bindings de este con tu librería de widgets en javascript. Eso sí, Boris se cuidó mucho de decir que esos bindings sólo funcionan para aplicaciones nativas, que nos olvidáramos de usarlos en IE. Sabia decisión para evitar problemas con los estándares. Parece que Microsoft está aprendiendo. Una apreciación personal (Boris nunca dijo nada parecido), me da la impresión que el tema silverlight y XAML ha quedado en segundo plano, como si Microsoft se estuviera preparando para marcarlo como obsoleto. Inquietante y esperanzador a la vez.

Curiosamente, por la tarde me metí en otra charla de .NET, se trataba de las extensiones reactivas de .NET, presentado por Fernando Escolar (@fernandoescolar) y Quique Martínez (@quiqu3). La verdad es que se lo montaron bien, con una dinámica de presentador «gerente» vs. «técnico» divertida. El tema fue las nueva extensión de .NET para programación reactiva, que no es más que un DSL para manejar relaciones observador/observer y bindings de forma  sencilla y elegante, mediante una fluent API. Me resultó también curioso que la misma extensión estuviera portada a Javascript. ¿Será Javascript el próximo lenguaje de referencia para .NET? No lo se, pero apunta maneras. En cualquier caso técnicamente no me pareció nada nuevo, ya que se parece mucho a las cosas que se pueden hacer con ember.js o con knockout.js.

Antes del café de la mañana me fui a ver a Arun Gupta hablar sobre el futuro de JEE 7. Me salió la vena nostálgica de «javero empresarial» que tengo, y se me antojó ver si la JEE evolucionaba por buen camino. Me alegré ver que están pensando orientar JEE al mundo del cloud. No sólo eso sino que percibí un esfuerzo serio por facilitar la vida tanto al desarrollador como al personal de sistemas. Creo que están intentando reaccionar para eliminar esa fama que tiene JEE como plataforma excesivamente compleja. También me gustó la idea de integrar OSGi dentro de JEE mediante el proyecto Jigsaw.

Después de la comida me divertí mucho con la charla de Berto Yáñez (@bertez) sobre Popcorn.js, un framework de la comunidad Mozilla para mejorar y ampliar la interacción de Javascript con las etiquetas <video> y <audio> de HTML5. Ambiente distendido, risas y código en directo. Sin duda de lo mejor del día.

Finalmente, como no, saqué el machete y conseguí abrirme paso para conseguir un asiento en la charla de David Bonilla (@david_bonilla). Hizo publicidad de Atlassian de forma muy elegante y para nada encubierta, e hizo alguna que otra crítica constructiva a varias empresas y a algunas actitudes que tenemos los desarrolladores. Por supuesto el tema era interesante de por si, y algo que a mi personalmente me interesa bastante: como atraer a los desarrolladores a tu plataforma/producto para crear un ecosistemas de desarrollo. Conseguir esto es el santo grial, ya que te proporciona una base de desarrolladores enorme que va a extender y enriquecer tu producto de forma totalmente gratuita. En contrapartida los desarrolladores tienen la oportunidad de ganar dinero y/o hacerse una reputación o simplemente divertirse. Quizás el único fallo de la charla de David fue su excesiva duración, ¡ que ya era última hora y estábamos todo deseando ir a unas cañas 🙂 !

Me gustó

Un acierto desde mi punto de vista el reunir a comunidades de distintas plataformas de desarrollo, PHP, Ruby, Python, JavaScript, Java y .NET, y también alguna charla de DevOps y de Agile. La variedad es lo que ha distinguido a esta conferencia de otras. ¡Espero que se rompan las barreras endogámicas que separan a cada comunidad de desarrollo!

Por supuesto me gustó bastante el ambiente, el ver estudiantes siempre es bueno desde mi punto de vista. Es importante que las nuevas generaciones vayan viendo lo que se cuece en el mundo real, ya que desgraciadamente la carrera universitaria suele estar muy alejada de la realidad y anticuada en la mayor parte de los casos (con honrosas excepciones). También es interesante que vean que existen conferencias sobre informática en España, y que no tienen porque irse al extranjero para asistir a una conferencia interesante.

También me pareció un buen detalle el cocktail que los organizadores ofrecieron a los ponentes.

Y como no, lo mejor, que como en todas las conferencias, fue la oportunidad de hacer networking con gente nueva por un lado, y reencontrarse con viejos compañeros de viaje.

Cosas a mejorar

Tal vez el próximo año sería mejor que todos los ponentes comieran junto a los asistentes. Con el cocktail es más que suficiente.

Otro detalle fue que hubo demasiada gente. Esto hizo que todas las salas estuvieran muy llenas y que en algunos casos se estuviera bastante incómodo.

UPDATE: Se me olvidaba, hubiera sido muy interesante tener «stands» para las distintas comunidades de desarrolladores que han participado en el evento. Los asistentes podrían haber trabado mejor contacto con otras comunidades de esta manera. Como co-organizador de MadridJS, creo que para el año que viene sería muy interesante tener esto.

Sobre mi charla

Tengo que comentar un par de cosas sobre mi charla. Tal vez algunos asistentes se pensaron que iba a hablar más de CSS orientado a objetos. En realidad esta charla es la hermana de otra que di en la XPWeek el año pasado. Para mi las dos charlas constituyen dos caras de la misma moneda, en una me centro más en CSS y en otra exploro más el diseño javascript. Lamento la posible confusión que pueda haber causado el título y la descripción de mi charla (que es responsabilidad mía no de la organización).

En mi charla sobre CSS orientado a objetos que di el año pasado me centré sobre todo en la parte de CSS, y solo hablé de pasada sobre la arquitectura javascript, y está más orientada a diseñadores. Para los realmente interesados, y la gente que se quedó con ganas de saber más de OO CSS, pueden encontrarla aquí.

Sin embargo en la charla que di en codemotion me quise centrar en los valores «ágiles» y en la arquitectura de software para aplicaciones javascript, como medio para facilitar la colaboración eficaz entre desarrolladores y diseñadores. Obviamente está más orientada a desarrolladores. Esta última está colgada aquí. La he hecho con impress.js así que necesitaréis un navegador «moderno» que soporte HTML5 para verla. Por cierto, mi idea era ver bastante código, pero no me fijé en que las charlas eran de 45min y la cosa quedó bastante corta en ese aspecto. Afortunadamente todo el código está disponible para que lo miréis en Github aquí.

En cualquier caso creo que ambas charlas pueden ser interesantes para ambos roles, y quizás ayuden a entender un poco más lo que implica el trabajo de uno y otro.

Read Full Post »