Google Analytics

miércoles, 14 de septiembre de 2011

Aprendiendo Javascript: Javascript Koans

En el último año (incluso últimos años) está ganando mucha importancia un lenguaje de programación que nunca ha tenido muy buena fama, me refiero a Javascript. En mi caso personal me interesa aprender Javascript porque se presenta como una solución muy interesante en el desarrollo de aplicaciones móviles multiplataforma, además de tener todo un ecosistema de frameworks, como JQuery, que permiten crear una interfaz más amigable para nuestros clientes.

La cuestión más importante es, ¿por dónde empiezo?. Está la aproximación clásica de leer libros, blogs y hacer todos los ejercicios que puedas, pero he optado por seguir previamente el camino de las koans. ¿No sabes lo que son las koans?, pues a grandes rasgos se trata de un proyecto en el que tienes que completar una serie de problemas propuestos, con pasos muy sencillos. A medida que vas avanzando, cada ejercicio te "ilumina" sobre algún aspecto importante del lenguaje. Existen koans para casi todos los lenguajes, desde Ruby hasta Scala, pasando por Clojure, Java, Groovy y muchos más.

Buscando en Google yo he encontrado los siguientes repositorios de koans para Javascript:


Me he quedado con la primera opción porque utiliza Jasmine para hacer los tests, y me gusta mucho este framework, algo más "avanzado" que QUnit y con un estilo BDD (Behaviour-Driven Development).

Estas koans son bastante cortas y en algo más de una hora puedes completarlas todas sin problemas. Si conoces otros lenguajes de programación será sencillo y te permitirá conocer las comparaciones o la herencia un poco particulares de Javascript entre otras cosas, pero ni mucho menos serás un experto cuando acabes. Me pareció curioso el uso de la librería Underscore.js, que permite añadir un tratamiento más funcional en el uso de listas y arrays.

Tras haber realizado las koans decidí utilizar la librería Underscore.js para refactorizar la kata de StringCalculator que había hecho hacía un tiempo, y aquí está el resultado.

Código final de la kata sin Underscore.js



Código tras utilizar Underscore.js y eliminar alguna función que sobraba :-P



Quien quiera ver el código más en detalle puede utilizar este enlace.

No hay comentarios: