Google Web

20 may 2015

EmbedIO Extras

Estos últimos días he estado trabajando en un proyecto adicional a EmbedIO para extender la funcionalidad del mismo por medio de módulos, unos interesantes y otros solo por el #LOL. Los que si valen la pena revisar, y que ya estan en Nugets son:

EmbedIO Bearer Token Module - Que permite utilizar autentificación por medio de Bearer Tokens directamente en EmbedIO con una plataforma muy similar a la que cuenta en ASP.NET. El Nuget esta disponible como EmbedIO.BearerToken.

EmbedIO Owin integration - Este paquete incluye dos maneras de trabajar la integración con OWIN:


  • Usar EmbedIO directamente como un server de OWIN y por lo tanto recibir todo el pipeline en los Modulos de EmbedIO.
  • Si no quieres cargar con todo OWIN, puedes usar modulos Middleware de OWIN directamente en EmbedIO, registrando el modulo de EmbedIO especializado.


En el sitio web de EmbedIO Extra hay ejemplos, me falta documentarlo un poco mas. El Nuget se llama EmbedIO.OWIN

14 may 2015

EmbedIO v1.0.5

EmbedIO ha estado en proceso de actualización y se han agregado mejoras (aunque hay muchas todavía en lista de espera), pero por si están interesados en detalles:


  • Se agrego soporte a async Tasks en los métodos de los WebAPI's Controllers. Que no le veo tantísima utilidad pero un fan lo pidio.
  • Se implementaron métodos de extensión para permitir trabajar el WebServer con metodos encadenados (Fluent Interface) para tu sabes:

var server = WebServer
                .CreateWithConsole(url)
                .WithLocalSession()
                .WithStaticFolderAt("c:/web");


Ya pueden encontrar el Nuget actualizado. 

7 may 2015

Documentando Directivas de AngularJS

Me encontraba en la necesidad de documentar el código de Tubular para que sea visible todos los atributos y hermosos controles que tenemos. Apenas estaba pensando que quizás solo haría un montón de documentos planos y que Pikachu guiara mi camino de dolor a la salvación. Pero me dije, si AngularJS tiene documentación no tan mal, seguramente algo estan haciendo.

Llegue al documento de AngularJS en Github titulado Writing-AngularJS-Documentation que explican, nada claro, como realizar la documentación por medio. Para realizar la documentación necesitas comenzar con escribir en tu código todo lo que necesitas explicar usando ngDoc que es un sabor extendido de jsDoc. Es lo mismo pero solo con unos campos adicionales especificos para AngularJS.

Ya con tus archivos JS llenos de comentarios relevantes y detalles que casi nadie lee. Es momento que comience lo bueno, pues hay que montar un paquete llamado Dgeni (nota: por favor instala el Dgeni-packages porque Dgeni por si mismo hace nada) y comenzar a escribir un Javascript que debera procesar los comentarios jsDoc.

Dgeni soporta muchas formas de exportar el contenido, y en los paquetes trae soporte para nunjunks que es una especie de template engine, no tan cool, que puedes usar para generar unos lindos HTML con todo. La verdad que al principio configurar dgeni es un poco raro, por eso mejor les dejo el siguiente ejemplo que use para comenzar https://github.com/petebacondarwin/dgeni-angular. El archivo "dgeni-conf.js" es donde sucede gran parte de la magía.

Finalmente ya puedes mover tu monton de archivos HTML con links internos, o como yo que los bote para usar un método de AngularJS acoplado a un controller que hice. El resultado se puede ver ya en línea: Tubular Documentation. Falta terminar de detallar, pero ya tenemos API DOC!

4 may 2015

Novedades Tubular

El desarrollo de Tubular continua  y ahora ya tenemos un nuevo y elegante generador usando la plataforma de Yeoman, que funciona con NodeJS. Las tareas que se pueden hacer con el generator-tubular son:


  • Iniciar un nuevo proyecto Tubular (con AngularJS y Bootstrap) que puede usar tanto Bower como un CDN para cargar las librerías.
  • Crear vistas de ejemplo o desde un archivo JSON.
  • Generar una vista de Grid directamente a tu proyecto actual usando un OData, con opciones para personalizar (similares a las del generador en línea).
  • Generar una vista de Form, igual con un servicio OData.
Faltan detalles, pero está luciendo bastante bien. Ya no me da tanto "flojera" programar con NodeJS, no es tan feo después de todo.