
Hace tiempo que empecé a leer y juguetear con el lenguaje de programación Go , pero por falta de tiempo nunca llegué a programar nada con él, simplemente seguí el tour que tienen online.
Ultimamente, quizás por la popularidad que Go está ganando (éste sí que creo que le puede toser a Java en un futuro cercano), tenía ganas de realmente familiarizarme con él, así que la semana pasada me puse manos a la obra y me voví a hacer el tour y leer algo de documentación. Lo siguiente era escribir código. Pensando que implementar, me dio por mirar Latch de ElevenPath a ver si tenían un SDK para Go, y parece que no, así que a eso me puse y le dediqué la tarde (y la noche) del domingo a crear una librería para Go.
Todo el código está en Github . Para poder usarlo necesitas Go instalado. Yo he usado la version 1.8.3 sobre Ubuntu Linux, aunque también lo he probado en MacOS con la version 1.8 y el código parece funcionar. Como refencia he usado la documentación y el SDK oficial para Python y Java. La version de la API que uso es la 1.6, aunque en la documentación hace referencia a la 1.3 y los SDKs usand la 1.0 y 1.1. No sé que diferencia hay entre cada version o si 1.6 es estable o no.
Hay un par de cosas pendientes de implementar:
- Las cabeceras X-11paths- no veo que se usen en ningún lado, las he añadido a la firma de la petición, pero no a las cabeceras del request.
- Convertir la respuesta del servidor a JSON. Ahora mismo devuelve un cadena de texto con la respuesta del mismo.
Cómo bien dice el título, esta es una SDK NO OFICIAL, y yo no tengo ningún tipo de afiliación o relación con ElevenPath, excepto la amistad con algunos conocidos :). Y cómo decía al principio, este es un proyecto de fin de semana con el objetivo de aprender Go. Si alguien lo usa y encuentra algún error o tiene alguna sugerencia, soy todo oidos ;)
Aunque el uso del SDK (si estás familiarizado con Latch) es trivial, escribiré una nueva entrada con algunos ejemplos y quizás incluso haga un vídeo donde podamos ver la integración del SDK con un servicio REST y el uso de la aplicación móvil.
Happy coding!