SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Downloaden Sie, um offline zu lesen
16 junio 2015 - Madrid
framework de desarrollo web
para
www.pillarsjs.com
¿Por qué?
Licencia
MIT
http://github.com/bifuer/pillars
• Optimización de tiempos de desarrollo
• Entorno homogéneo
• Estructuras Dinámicas
• “Pluginizable”
• Herramientas
Objetivos de Pillars.js
Proporcionar 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.
Objetivo
Ofrecer 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!
Estado actual
• Documentación de librerías
• Documentación y referencia en Inglés
• Test unitarios
Hola Mundo!
Hello World!! - Code
/01-hello-world/app.js
Información en consola de las peticiones y envíos
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).
gw
Plugins built-in
LangPath, encoding,
maxUploadSize, CORS,
directory, bodyReader
{
Gestión de Caché del sistema de archivos
.maxCacheFileSize
Tamañ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.
.cacheMaxSamples
Dato 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
Cabeceras HTTP parseadas
Accepts gw.accepts.types Array ordenado
Accepts-Language gw.accepts.languages
gw.language
//> ‘en’
Accepts-Encoding gw.accepts.encodings
gw.encoding
//> ‘deflate’
User-Agent gw.ua
gw.ua.mobile
//> false
Authorization gw.auth
gw.auth.user, gw.auth.pass
//> ‘userName’, ‘userPass’
CORS gw.cors true, false o array de dominios
ejemplos
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
Respuesta
Envío de ficheros gw.file()
Envío (response)
gw.send(), gw.html(), gw.text(),
gw.json()...
ejemplos
Gestión de Cookies
Seteo cookies para el envío gw.setCookie(name, value [, config]);
Cookies enviadas en el request gw.cookie;
WWW-Authenticate
gw.authenticate();
gw.auth.user
gw.auth.pass
ejemplos
Enrutado y
controladores
&project.routes
Route
Class
/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...
...
Route
Class
var myRoute =
new Route( configuration, handler);
project.routes
{
.add(route object)
.get(id route object)
.remove(id route object)
.move(id route object)
Añadiendo hijos
{
.add(route object)
.get(id route object)
.remove(id route object)
.move(id route object)
myRoute.rout
es
instancia de la Clase Route
Añadiendo hijos
Plugins
&project.plugins
Plugin
Class
Control y direccionamiento de la solicitud
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)
project.plugins
{
.add(plugin object)
.get(id plugin object)
.remove(id plugin object)
.move(id plugin object)
Añadiendo plugins
Plugin
Class
project.plugins.add(myPlugin, ‘p2’);
Controlador
(Route)
Creación de un Plugin
Un Plugin sólo afectará/se ejecutará en las
instancias route que determinemos.
Ejemplo. Plugin que bloquea una URI al visitarla más
de 5 veces.
i18nLibrería textualization
https://github.com/bifuer/textualization
es.js
en.js
idioma por defecto
2/3
Hello!! - i18n
Hello World!! - i18n
1/3
Hello World!! - i18n
Hojas de traducción JS/JSON - 3/3
Directorio estático
Built-in: directory.js
Creación de directorio estático
Librerías
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 ;).
Turno de Preguntas
Referencia y manuales
disponibles en:
www.pillarsjs.com
¡Gracias a todos por vuestra
atención!
Si quieres colaborar
{chelo@pillarsjs.com
javi@pillarsjs.com

Weitere ähnliche Inhalte

Ähnlich wie Pillars.js framework de desarrollo web para Node.js

Programación Optimizada - Search Congress Valencia 2009
Programación Optimizada - Search Congress Valencia 2009Programación Optimizada - Search Congress Valencia 2009
Programación Optimizada - Search Congress Valencia 2009ferranbonas
 
12-Unidad 3: Webservices-3.3 Inicio del Proyecto
12-Unidad 3: Webservices-3.3 Inicio del Proyecto12-Unidad 3: Webservices-3.3 Inicio del Proyecto
12-Unidad 3: Webservices-3.3 Inicio del ProyectoLuis Fernando Aguas Bucheli
 
Wordpress: El Framework desconocido
Wordpress: El Framework desconocidoWordpress: El Framework desconocido
Wordpress: El Framework desconocidoSamuel Rocha
 
Lecciones aprendidas creando una red social
Lecciones aprendidas creando una red socialLecciones aprendidas creando una red social
Lecciones aprendidas creando una red socialRoberto Luis Bisbé
 
Jc Web20 Open Source Why Floss2007
Jc Web20 Open Source Why Floss2007Jc Web20 Open Source Why Floss2007
Jc Web20 Open Source Why Floss2007guestd24c393
 
Open Source Modern Web Development
Open Source Modern Web DevelopmentOpen Source Modern Web Development
Open Source Modern Web DevelopmentJaime Irurzun
 
Web20
Web20Web20
Web20UJAP
 
HTML5 en Acción
HTML5 en AcciónHTML5 en Acción
HTML5 en Accióndrarock
 
Jc Web20 Open Source Why Floss2007
Jc Web20 Open Source Why Floss2007Jc Web20 Open Source Why Floss2007
Jc Web20 Open Source Why Floss2007guest976d083
 
Seminario html5
Seminario html5Seminario html5
Seminario html5UDECI
 
Web services GeneXus Tilo
Web services GeneXus TiloWeb services GeneXus Tilo
Web services GeneXus TiloGeneXus
 
CouchDB y el desarrollo de aplicaciones Android
CouchDB y el desarrollo de aplicaciones AndroidCouchDB y el desarrollo de aplicaciones Android
CouchDB y el desarrollo de aplicaciones AndroidRicardo Monagas Medina
 
RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...
RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...
RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...SOFTENG
 

Ähnlich wie Pillars.js framework de desarrollo web para Node.js (20)

ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Programación Optimizada - Search Congress Valencia 2009
Programación Optimizada - Search Congress Valencia 2009Programación Optimizada - Search Congress Valencia 2009
Programación Optimizada - Search Congress Valencia 2009
 
12-Unidad 3: Webservices-3.3 Inicio del Proyecto
12-Unidad 3: Webservices-3.3 Inicio del Proyecto12-Unidad 3: Webservices-3.3 Inicio del Proyecto
12-Unidad 3: Webservices-3.3 Inicio del Proyecto
 
Wordpress: El Framework desconocido
Wordpress: El Framework desconocidoWordpress: El Framework desconocido
Wordpress: El Framework desconocido
 
Lecciones aprendidas creando una red social
Lecciones aprendidas creando una red socialLecciones aprendidas creando una red social
Lecciones aprendidas creando una red social
 
Introducción a Django
Introducción a DjangoIntroducción a Django
Introducción a Django
 
Jc Web20 Open Source Why Floss2007
Jc Web20 Open Source Why Floss2007Jc Web20 Open Source Why Floss2007
Jc Web20 Open Source Why Floss2007
 
Backbeam
BackbeamBackbeam
Backbeam
 
Open Source Modern Web Development
Open Source Modern Web DevelopmentOpen Source Modern Web Development
Open Source Modern Web Development
 
Web20
Web20Web20
Web20
 
HTML5 en Acción
HTML5 en AcciónHTML5 en Acción
HTML5 en Acción
 
Jc Web20 Open Source Why Floss2007
Jc Web20 Open Source Why Floss2007Jc Web20 Open Source Why Floss2007
Jc Web20 Open Source Why Floss2007
 
El Nuevo Internet Explorer 9
El Nuevo Internet Explorer 9El Nuevo Internet Explorer 9
El Nuevo Internet Explorer 9
 
HTML5-Aplicaciones web
HTML5-Aplicaciones webHTML5-Aplicaciones web
HTML5-Aplicaciones web
 
ASP.NET MVC Workshop Día 3
ASP.NET MVC Workshop Día 3ASP.NET MVC Workshop Día 3
ASP.NET MVC Workshop Día 3
 
Seminario html5
Seminario html5Seminario html5
Seminario html5
 
Web services GeneXus Tilo
Web services GeneXus TiloWeb services GeneXus Tilo
Web services GeneXus Tilo
 
CouchDB y el desarrollo de aplicaciones Android
CouchDB y el desarrollo de aplicaciones AndroidCouchDB y el desarrollo de aplicaciones Android
CouchDB y el desarrollo de aplicaciones Android
 
RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...
RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...
RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...
 
Curso introductorio a Raptor.js con Node.js
Curso introductorio a Raptor.js con Node.jsCurso introductorio a Raptor.js con Node.js
Curso introductorio a Raptor.js con Node.js
 

Kürzlich hochgeladen

Tipos de pensamiento y pensamiento lógico
Tipos de pensamiento y pensamiento lógicoTipos de pensamiento y pensamiento lógico
Tipos de pensamiento y pensamiento lógicoMaxCaldern2
 
SQL server Analysis Services & SQL Server Reporting Services.pptx
SQL server Analysis Services & SQL Server Reporting Services.pptxSQL server Analysis Services & SQL Server Reporting Services.pptx
SQL server Analysis Services & SQL Server Reporting Services.pptxRAMIROANTONIOGALINDO
 
Delitos informáticos en Slideshare.pptx
Delitos informáticos en  Slideshare.pptxDelitos informáticos en  Slideshare.pptx
Delitos informáticos en Slideshare.pptxmaykolmagallanes012
 
ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...
ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...
ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...Neo4j
 
Webinar Resolucion2335 de 2023 Kubapp.pdf
Webinar Resolucion2335 de 2023 Kubapp.pdfWebinar Resolucion2335 de 2023 Kubapp.pdf
Webinar Resolucion2335 de 2023 Kubapp.pdfAnaRosaMontenegro
 
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...Neo4j
 
Trabajo Tecnologia - José Alejandro Martínez Torres 11-5
Trabajo Tecnologia - José Alejandro Martínez Torres 11-5Trabajo Tecnologia - José Alejandro Martínez Torres 11-5
Trabajo Tecnologia - José Alejandro Martínez Torres 11-5Laura225304
 
Presentación acerca de la importancia de la filosofia en la ingenieria en sis...
Presentación acerca de la importancia de la filosofia en la ingenieria en sis...Presentación acerca de la importancia de la filosofia en la ingenieria en sis...
Presentación acerca de la importancia de la filosofia en la ingenieria en sis...capil94195
 
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafos
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafosBBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafos
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafosNeo4j
 
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVOSISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVOELIAMARYTOVARFLOREZD
 

Kürzlich hochgeladen (10)

Tipos de pensamiento y pensamiento lógico
Tipos de pensamiento y pensamiento lógicoTipos de pensamiento y pensamiento lógico
Tipos de pensamiento y pensamiento lógico
 
SQL server Analysis Services & SQL Server Reporting Services.pptx
SQL server Analysis Services & SQL Server Reporting Services.pptxSQL server Analysis Services & SQL Server Reporting Services.pptx
SQL server Analysis Services & SQL Server Reporting Services.pptx
 
Delitos informáticos en Slideshare.pptx
Delitos informáticos en  Slideshare.pptxDelitos informáticos en  Slideshare.pptx
Delitos informáticos en Slideshare.pptx
 
ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...
ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...
ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...
 
Webinar Resolucion2335 de 2023 Kubapp.pdf
Webinar Resolucion2335 de 2023 Kubapp.pdfWebinar Resolucion2335 de 2023 Kubapp.pdf
Webinar Resolucion2335 de 2023 Kubapp.pdf
 
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...
 
Trabajo Tecnologia - José Alejandro Martínez Torres 11-5
Trabajo Tecnologia - José Alejandro Martínez Torres 11-5Trabajo Tecnologia - José Alejandro Martínez Torres 11-5
Trabajo Tecnologia - José Alejandro Martínez Torres 11-5
 
Presentación acerca de la importancia de la filosofia en la ingenieria en sis...
Presentación acerca de la importancia de la filosofia en la ingenieria en sis...Presentación acerca de la importancia de la filosofia en la ingenieria en sis...
Presentación acerca de la importancia de la filosofia en la ingenieria en sis...
 
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafos
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafosBBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafos
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafos
 
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVOSISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
 

Pillars.js framework de desarrollo web para Node.js

Hinweis der Redaktion

  1. - gracias, grupo meetup nodejs y al openexpoday
  2. - No tenemos aún una presentación formal de producto. - Aprovechando el expoday, tenemos la oportunidad de hacer una presentación del proyecto, Feedback - Patadas en el culo por tener una versión lo más estable posible, con la máxima doc. posible.
  3. - muchas librerías, muchas decisiones de qué hacer, integrar todas las librerías - Necesidad de tener algo base sobre lo que construir aplicaciones web - licencia, crear comunidad
  4. - usar sin restricciones - feedback, mejorar y colaborar
  5. - Grupos de controladores, conjunto de funcionalidades concreto - Cada route tiene objetos de configuración con propiedades: herencia.
  6. - Se van pasando el control la solicitud/gangway - Configuración de route --> lo importante que es para los plugins. - En gw.routing vamos a tener toda la información de la configuración del objeto route.
  7. - Integración de i18n con Pillars.js
  8. - Si en un directorio se encuentra un archivo de una extensión conocida por el sistema de templates, se mostrará renderizado, es como funciona el sitio actual de la referencia de Pillarsjs.com. - si hay un index, se muestra el index. Por lo tanto funciona como lo que podemos tener con un servidor apache de base.