Framework de Desarrollo Web para
const project = require('pillars');
project.services.get('http').start();
project.routes.add(new Route({
method: ["GET","POST"],
port: 8080,
path: "/hola",
https: false,
cors: true,
session: true
},function(gw){
gw.session.counter = gw.session.counter || 0;
gw.session.counter++;
gw.html("Hola!!, tu IP es: " + gw.ip + " y esta es tu visita nº "+ gw.session.counter);
});
Negociación HTTPEstabilidad y funcionalidad
- Envío de archivos con compresión, gestión de caché y byte-range. Compatible con streaming y recuperación de descargas
- Parser de solicitudes para form-urlencoded, multipart y json
- Control automático de errores en manejadores
- CORS administrable por ruta
- Compresión de respuesta automática
- Negociación automática de caché
- Gestión de Cookies y encriptado
- etag encriptado con sorpote para múltiples valores
EnrutadoEntorno dinámico
- Acceso en vivo a todos los controladores del sistema
- Todos los controladores de tu aplicación en project.routes
- Convención antes que configuración
- Añade, modifica o elimina controladores en caliente
- Mejor organización de funcionalidades en árboles de controladores
- Nombrado de controladores; ofrece organización y control sobre el entorno
- Comunicación middleware y controladores
project.routes.add(new Route({
id:"home",
path:"/web",
method:["POST"|"GET"]
},function(gw){
gw.send("Hello from the other side");
}));
project.routes.get("home").active = false;
project.routes.remove("home");
GangwayRequest y Response
- Gangway is the way. Olvida el request y response nativos. Gangway encapsula ambos, ofreciendo propiedades y métodos vitaminados.
- Con tan solo un gw.file(), haces streaming!
const myRoute = new Route(
{
id:"users"
path:"/users"
},
function(gw){
const ip = gw.ip;
const POST = gw.content.params;
const GET = gw.query;
const cookie = gw.cookie;
const method = gw.method;
const browserLang = gw.language;
const userAgent = gw.ua;
const cors = gw.cors;
const encoding = gw.encoding;
gw.send("Hello from the other side");
}
);
MiddlewareMiddleware vitaminado
- El Middleware permite extender las posibilidades de los controladores y modificar el funcionamiento del sistema
- Nombrado de middleware: ofrece organización y control sobre el entorno
- Todos los middleware del proyecto se encuentran en project.middleware
- Los middleware se pueden añadir, modificar o eliminar en caliente.
- PillarsJS tiene una serie de Middleware built-in, esenciales para su funcionamiento.
- Es posible crear un middleware y decidir en qué lugar a de ejecutarse, en caliente.
const project = require('pillars');
project.middleware.add(new Middleware({
id:"idMiddleware",
active: true
},function(gw,next){
next();
});
i18nInternacionalización eficiente
- Librería textualization
- Integración completa de i18n
- Implementa múltiples idiomas sin modificar el código de la app.
- Hojas de traducción en JS/JSON
- Gestión de idioma de la solicitud automática
- Rutas multi-idioma :-)
Template engineUsa tu motor favorito
- Soporte a diferentes motores de plantillas
- Renderizado automático y optimizado.
CRONLibrería Scheduled
- Programación de tareas mediante CRON gracias a la librería Scheduled
- Acceso a todas las tareas programadas en el proyecto
- Acceso en vivo a las tareas programas: modificación, eliminación, ...