Este documento presenta PillarsJS, un framework de desarrollo web para Node.js creado por Javi y Chelo. El framework ofrece herramientas para el desarrollo backend en JavaScript y fue creado para mejorar la velocidad de desarrollo, eficiencia y rendimiento en comparación con frameworks anteriores utilizados por los creadores. PillarsJS fue liberado como código abierto en 2014 y desde entonces ha ido mejorando a través de iteraciones y el trabajo de la comunidad de desarrolladores.
2. Presentación
Javi y Chelo
Nos dedicamos al desarrollo de software desde hace 16
años.
Somos los creadores de PillarsJS, un framework de
desarrollo web para Node.js con licencia MIT.
3. PillarsJS
Pillars.js ofrece un ecosistema de herramientas para el
desarrollo web backend en JavaScript
● Especialmente orientado a objetos.
● Server Object Model / Backend Object Model
● Caché automatizado
● Internacionalización
● Programación de tareas
● Templating
● Formateo de texto y fechas
● Sintaxis y nomenclatura homogénea en todo el entorno
● Curva de aprendizaje muy, muy suave
● ...
4. Contexto
- 2002 - 2003. Metáfora. Framework de desarrollo web, ASP3/JS.
- 2005 - 2013. ODX. Framework de desarrollo para aplicaciones web (intranets). PHP/JS (AJAX,
prototype). Gestión de personal, gestión administrativa, procedimientos, estadisticas, pdf, etc.
- 2013 - actualidad. ODX para WordPress. Framework de desarrollo web sobre WP que permite
desarrollar más rápido, muy customizado (capa de abstracción de WP).
- 2015 - actualidad. PillarsJS. Framework de desarrollo web en Node.js Open Source.
6. Ventajas e inconvenientes del framework Odx para WP
Contábamos con:
- Tiempos de desarrollo muy competitivos.
- Un amplio rango de customización
- Fácil formación y uso
- Abstracción casi completa de WP
- Tracción beneficiosa del ecosistema WP
- Metodología homogénea
Inconvenientes
- Sistema de usuarios y credenciales
- Consultas muy pesadas
- Consumo
- Eficiencia
- Limitaciones en muchos puntos
7. Decisión de mejorar creación de un nuevo framework
Mejorar
- Infraestructura framework
- Homogeneización del entorno
- Velocidad de desarrollo
- Prototipado sencillo
- Eficiencia y rendimiento
- Un techo más alto
- Convención antes de
configuración
- ...
Investigación
- State of art de Node.js
- Frameworks existentes (Funcionalidades,
Características, Curva de aprendizaje,
Normalización, Versatilidad…)
- Express, sails, meteor, ….
- Ecosistema NPM, estadísticas de uso
- Metodologías de otros frameworks
- ...
UNA VISIÓN DIFERENTE
8. Decisión de mejorar creación de un nuevo framework
Cuando empezamos a concebir Pillars, iba a ser
nuestra nueva herramienta de trabajo.
¿Porque hacerla código abierto?
10. Qué nos gustaría que hiciese?, cómo?
- Sistema de gestión de rutas
- Sistema de gestión de “middleware”
- Plugins, extensiones, módulos...
- Internacionalización y rutas internacionalizables
- Soporte a diferentes template engines
- Programación de tareas, CRON
- Logs, métricas y reportes
- Adaptación de las herramientas a la mecánica backend
Objetivo: Un prototipo funcional
12. El desarrollo desde la perspectiva Open Source
El prototipo confirma las expectativas
Se plantea un largo camino de desarrollo y es auto-financiado
Se redujo el alcance inicial, al núcleo de Pillars.js.
KEEP CALM AND
REFACTOR
15. La capa de negociación HTTP
¿Qué debería hacer un servidor HTTP para superar los
test de eficiencia web con la mejor nota de la forma más
sencilla?
posicionamiento, UX
Compresión, etag, cookies, tiempos de respuesta, caché...
ITERANDOYMEJORANDO
16.
17. Nuestro Objetivo era...
Trasladar toda la experiencia en la
construcción de frameworks, y en el uso
de otros tantos, en uno que
metodológicamente fuera homogéneo,
sencillo y eficaz.