pillars.js framework de desarrollo web para node.js

39
16 junio 2015 - Madrid

Upload: chelo-quilon-gomez

Post on 12-Aug-2015

556 views

Category:

Software


1 download

TRANSCRIPT

Page 1: Pillars.js framework de desarrollo web para Node.js

16 junio 2015 - Madrid

Page 2: Pillars.js framework de desarrollo web para Node.js

framework de desarrollo web para

www.pillarsjs.com

Page 3: Pillars.js framework de desarrollo web para Node.js

¿Por qué?

Page 4: Pillars.js framework de desarrollo web para Node.js

Licencia

MIThttp://github.com/bifuer/pillars

Page 5: Pillars.js framework de desarrollo web para Node.js

•Optimización de tiempos de desarrollo

•Entorno homogéneo

•Estructuras Dinámicas

•“Pluginizable”

•Herramientas

Objetivos de Pillars.jsProporcionar un entorno de trabajo homogéneo,

asequible y optimizado, para de esta forma hacer llegar el desarrollo web en Node.js a un público más

amplio.

Page 6: Pillars.js framework de desarrollo web para Node.js

ObjetivoOfrecer a la comunidad un

marco de desarrollo web para Node.js, sencillo, ágil y bien

documentado.Las herramientas que necesitamos para el desarrollo web, estén implementadas

de base.

Make it easy!

Page 7: Pillars.js framework de desarrollo web para Node.js

Estado actual

Page 8: Pillars.js framework de desarrollo web para Node.js

• Documentación de librerías

• Documentación y referencia en Inglés

• Test unitarios

Page 9: Pillars.js framework de desarrollo web para Node.js

Hola Mundo!

Page 10: Pillars.js framework de desarrollo web para Node.js

Hello World!! - Code

/01-hello-world/app.js

Page 11: Pillars.js framework de desarrollo web para Node.js
Page 12: Pillars.js framework de desarrollo web para Node.js

Información en consola de las peticiones y envíos

Page 13: Pillars.js framework de desarrollo web para Node.js

Negociación HTTP

gangway: un objeto generado automáticamente en cada petición. Tiene como propiedades los datos del request parseados y métodos para la respuesta (response).

gwPlugins built-inLangPath, encoding, maxUploadSize, CORS, directory, bodyReader{

Page 14: Pillars.js framework de desarrollo web para Node.js

Gestión de Caché del sistema de archivos

.maxCacheFileSizeTamaño máximo de un archivo para que entre en la caché. Si el archivo supera este tamaño no lo mete en memoria ni lo comprime.

.cacheMaxSamplesDato relacionado con la heurística del reciclado de caché del servidor, indica el máximo número de usos que se tienen en cuenta para el cálculo.

.cacheMaxSize Tamaño máximo de la caché del servidor.

.cacheMaxItems Número máximo de elementos en la caché del servidor.

project.config

Page 15: Pillars.js framework de desarrollo web para Node.js

Cabeceras HTTP parseadas

Accepts gw.accepts.types Array ordenado

Accepts-Language gw.accepts.languagesgw.language//> ‘en’

Accepts-Encoding gw.accepts.encodingsgw.encoding//> ‘deflate’

User-Agent gw.uagw.ua.mobile//> false

Authorization gw.auth

gw.auth.user, gw.auth.pass//> ‘userName’, ‘userPass’

CORS gw.corstrue, false o array de dominios

ejemplos

Page 16: Pillars.js framework de desarrollo web para Node.js

Datos de la solicitud

IP gw.ip

HOST gw.host

PUERTO gw.port

MÉTODO gw.method

FICHEROS gw.files

POST gw.content.params

GET gw.query

PATH PARAMS gw.pathParams

HTTPS gw.https

ejemplos

Page 17: Pillars.js framework de desarrollo web para Node.js

Respuesta

Envío de ficheros gw.file()

Envío (response)gw.send(), gw.html(), gw.text(), gw.json()...

ejemplos

Page 18: Pillars.js framework de desarrollo web para Node.js

Gestión de Cookies

Seteo cookies para el envíogw.setCookie(name, value [, config]);

Cookies enviadas en el request

gw.cookie;

WWW-Authenticate

gw.authenticate();gw.auth.usergw.auth.pass

ejemplos

Page 19: Pillars.js framework de desarrollo web para Node.js

Enrutado y controladores

&project.routesRoute Class

Page 20: Pillars.js framework de desarrollo web para Node.js

/a-1

project.routes

/b-1 /b-2 /b-n...

/a-2

/c-1 /c-2 /c-n...

/a-n

/z-1 /z-2 /z-n...

...

Page 21: Pillars.js framework de desarrollo web para Node.js

Route Class

var myRoute = new Route( configuration, handler);

Page 22: Pillars.js framework de desarrollo web para Node.js

project.routes{.add(route object)

.get(id route object)

.remove(id route object)

.move(id route object)

Añadiendo hijos

Page 23: Pillars.js framework de desarrollo web para Node.js

{.add(route object)

.get(id route object)

.remove(id route object)

.move(id route object)

myRoute.routes

instancia de la Clase Route

Añadiendo hijos

Page 24: Pillars.js framework de desarrollo web para Node.js

Plugins

&project.pluginsPluginClass

Control y direccionamiento de la solicitud

Page 25: Pillars.js framework de desarrollo web para Node.js

project.plugins

El funcionamiento y flujo de trabajo en Pillars.js se basa en la Cadena de

Plugins, que está formada por objetos de la Clase Plugin.

Plugin router.js

Controlador(Route)

Page 26: Pillars.js framework de desarrollo web para Node.js

project.plugins{.add(plugin object)

.get(id plugin object)

.remove(id plugin object)

.move(id plugin object)

Añadiendo plugins

Page 27: Pillars.js framework de desarrollo web para Node.js

PluginClass

project.plugins.add(myPlugin, ‘p2’);

Controlador(Route)

Page 28: Pillars.js framework de desarrollo web para Node.js

Creación de un Plugin

Un Plugin sólo afectará/se ejecutará en las instancias route que

determinemos.

Page 29: Pillars.js framework de desarrollo web para Node.js

Ejemplo. Plugin que bloquea una URI al visitarla más de 5 veces.

Page 30: Pillars.js framework de desarrollo web para Node.js

i18nLibrería textualization

https://github.com/bifuer/textualization

Page 31: Pillars.js framework de desarrollo web para Node.js

es.js

en.js

idioma por defecto

2/3

Hello!! - i18n

Page 32: Pillars.js framework de desarrollo web para Node.js

Hello World!! - i18n

1/3

Page 33: Pillars.js framework de desarrollo web para Node.js

Hello World!! - i18n

Hojas de traducción JS/JSON - 3/3

Page 34: Pillars.js framework de desarrollo web para Node.js

Directorio estáticoBuilt-in: directory.js

Page 35: Pillars.js framework de desarrollo web para Node.js

Creación de directorio estático

Page 36: Pillars.js framework de desarrollo web para Node.js

Librerías

Page 37: Pillars.js framework de desarrollo web para Node.js

templated Añade motores de renderizado. https://github.com/bifuer/templated

textualization

Internacionalización https://github.com/bifuer/textualization

Scheduled Automatización de tareas con patrones cron y control de estado.

https://github.com/bifuer/scheduled

Crier Gestión de logs, configuración de almacén, tipo de log, etc.

https://github.com/bifuer/crier

Procedure Simple JS async development https://github.com/bifuer/procedure

JSON.decycled

Versión de JSON.stringify() y JSON.parse() respectivamente, pero compatible con objetos con referencias circulares, expresiones regulares, objetos de error, objetos date y funciones.

https://github.com/bifuer/JSON.decycled

Algunas de las librerías están aún sin documentar. Estamos trabajando en ello ;).

Page 38: Pillars.js framework de desarrollo web para Node.js

Turno de Preguntas

Page 39: Pillars.js framework de desarrollo web para Node.js

Referencia y manualesdisponibles en: www.pillarsjs.com

¡Gracias a todos por vuestra atención!

Si quieres colaborar{[email protected]@pillarsjs.com