Frameworks para Javascript y otras gaitas
La verdad es que cuando te planteas enseñar algo, uno de los retos es conocer la materia que impartes a la perfección, no porque no te puedan pillar los alumnos sin saber algo, sino por intentar que no se te quede nada interesante por enseñar.
A lo largo de estos seis meses de dar clase he aprendido un montón de cosas, no sólo de Javascript y Actionscript (lenguajes que hacía tiempo que no usaba más de 5 horas a la semana), sino incluso de PHP, del cual ya me consideraba mínimamente erudito.
Uno de los aspectos de Javascript, lenguaje que me ha terminado de enamorar, desconocidos hasta ahora para mí, más allá de cuatro efectos chorras, eran los frameworks. El problema es que hay muchos, cada uno con sus peculiaridades, sus genialidades, y sus pecados. Me llevó bastante tiempo dedicarle a cada uno un tiempo que consideré bueno para manejarlo bien (osea, plantearse un objetivo y hacerlo usando las bondades del framework, incluyendo animación, Ajax, etc…).
Mootools me encantó, pero me parecía que tenía cosas que lo hacían bastante complicado para algunas cosas; no soy de los que usan código por usar, sino que quiere saber qué se esconde detrás de cada callback, de cada clase y cada llamada. Y luego llegó Prototype, bastante criticado por su documentación (aunque he visto que no es tan mala), y bastante más “lógico” que Mootools. Me gustó, ciertamente.
Y entonces fue cuando llegué a JQuery, que sí terminó de enamorarme, lógico, potente, sencillo. Y lo mejor de todo, es que me imagino cómo podría hacer yo todo eso que hace él por mí, sólo que él ya me lo da hecho. No me gusta usar código sin entender lo que hace o sin imaginarme cómo podría hacer yo eso que hace él. Lo que me gustó de JQuery fue que muchas de las funciones de que provee ya las había programado yo alguna vez. Me pareció inteligente, interesante, aunque con algunas pegas (como la no conversión automática entre HTMLElement y HTMLIElement), pero que se solucionan fácilmente. Y cuando me tocó usar AJAX ya quedé totalmente impresionado.
Los que llegaron, Dojo, YUI, etc… tenían buena pinta, pero ninguno se acercaba a la maravilla que es JQuery. Y extensible, hay plugins, elementos gráficos, … En tres palabras: del.icio.so (sí, ya sé que es un chiste 2.0 muy malo).
Creo que es un error empezar a usar un FW antes de conocer bastante a fondo lo que es Javascript y cómo funciona por dentro. Para ello recomiendo la web Quirksmode, cuyo autor ha publicado un libro, ppk on javascript, cuya lectura también recomiendo. Es un curso de Javascript en el que se desmitifica el lenguaje para que no sea un “cúmulo de truquillos” sino un lenguaje con un modelo de objetos sólido y comprensible.