Latch in Node.js... too mainstream?

viernes, 18 de julio de 2014

Hoy en día cuando comenzamos cualquier proyecto web que se precie existen unos pasos de obligado cumplimiento si queremos estar en la cresta de la ola y convertirnos en verdaderos "hipsters". Lejos quedaron las épocas donde se usaban frameworks que eran "mainstream", donde los hombres eran hombres (y las mujeres mujeres) y escribían sus propios drivers.
Node.js? Too mainstream

Actualmente estamos viviendo una carrera continua para ser más modernos: desde frameworks como Nodyn donde desarrollamos en ClojureScript que compila a JavaScript, se ejecuta en Node.js que compila a una... ¡JVM!, a infinidad de variedades de AngularJS (EmberJS, Backbone, Knockout, Ractive.js etc.), alternativas a Grunt como gulp.js, alternativas a Yeoman como FireShell, pasando por convertidores de JavaScript a CoffeeScript, o mejoras sobre el propio CoffeeScript como Six o Functional Reactive Programming como bacon.js.

Básicamente, estos son los pasos principales para desarrollar cualquier proyecto web en 2014:
  1. Escribe tweets sobre él.
  2. Fotografía tu espacio de trabajo y súbelo a Instagram.
  3. Elige tu framework JS.
  4. Configura tu MongoDB y Redis.
  5. Visita Reddit, meneame, forocoches y similares.
  6. ...
  7. Profit
Bromas aparte, es para nosotros un placer tener ya disponible un SDK de Latch para Node.js e incluso una estrategia de autenticación para PassportJS de Latch. Para los que no lo conozcan, Node.js es un framework creado en 2009 por Ryan Dahl y su desarrollo está patrocinado por la empresa Joyent (compañía que ofrece IaaS y PaaS, y entre cuyos inversores se encuentra Telefónica).

Su característica principal es que está basado en el famoso y potente motor V8 de JavaScript de Google y pretende ofrecer una forma fácil y segura de crear aplicaciones en JavaScript escalables y de altas prestaciones. De hecho una de las características que cuesta un poco al principio entender es su orientación mayoritaria a utilizar código asíncrono y basado en eventos, que puede llegar a ser más complejo que uno síncrono normal.

Si se comprueba el código del SDK de Latch veremos que, realmente, es muy sencillo (el código siguiente está extraído de index.js).

Primero tenemos que añadir las cabeceras HTTP que necesitan recibir nuestros servidores de Latch para saber que las peticiones son correctas:
Y luego simplemente hacemos la petición HTTP a nuestros servidores de Latch con la operación escogida.

Observando este último código podemos ver una parte de funcionamiento de Node.js donde se aprecia ese carácter asíncrono que se ha mencionado. La petición HTTP que realizamos (el "request") es a su vez una función donde podemos ver varios eventos; en la respuesta tenemos el evento "data", que significa que estamos recibiendo datos, y también el evento "end" que significa que ya hemos recibido todos los datos y pueden ser tratados si se quiere (o se podrían haber tratado según llegaban). También existe un evento "error" en la petición, en el caso de que hubiera algún problema con la petición HTTP.

Así de sencillo; con unas cuantas líneas tenemos implementado todo el SDK de Latch en Node.js. También hemos puesto a disposición de todos una estrategia de autenticación de PassportJS para que sea fácil su uso: Ahí mostramos ejemplos de cómo utilizar Latch, ya sea como:
En definitiva, el SDK de latch para Node.js se une a lista de SDK existentes como PHP, Java, Ruby, Python, C, .NET o PowerShell para que se puedan utilizar en todas las aplicaciones.

David Barroso
david.barroso@11paths.com

No hay comentarios:

Publicar un comentario en la entrada