SlideShare una empresa de Scribd logo
1 de 40
PillarsJS Una aventura Open Source
Madrid 14 de Enero de 2017
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.
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
● ...
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.
¿Por qué se decide crear Pillars?
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
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
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?
Analizando el objetivo
MIT
No solo código abierto
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
¡¡Empezamos a Desarrollar!!
4 meses versión alfa funcional
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
DIMENSIONAR
Noviembre 2014
Comenzamos a utilizar
PillarsJS en nuestros
proyectos
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
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.
Liberarlo
¿Qué va a tener la versión 0.1?
¿Cómo lo estructuramos?
Reunión de enfoque. San Valentín.
Desacoplar
Pillars.js, versión
de finales de 2014
Un solo “paquete”
pillars.js + 11 librerías
Ecosistema - 11 Librerías - útiles por sí mismas
1. JSON.crypt
2. JSON.decycled
1. Date.format
2. String.format
5. scheduled
6. templated
7. textualization
8. procedure
9. ObjectArray
10.jailer
11.crier
Uso de Pillars.js
IoT Agricultura
Modelo de servidor
Orientado a objetos
Servidor - Orientado a objetos
Orientado a Objetos
Servidor - Control
Control dinámico
Servidor - Código sencillo y eficiente
Servidor - Consola
Anímate y Colabora!!
hello@pillarsjs.com
@lilxelo
@bifuer
@pillarsjs
Gracias!!!

Más contenido relacionado

Destacado

What Makes Great Infographics
What Makes Great InfographicsWhat Makes Great Infographics
What Makes Great InfographicsSlideShare
 
How To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content MarketingHow To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content MarketingContent Marketing Institute
 
2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShareSlideShare
 
What to Upload to SlideShare
What to Upload to SlideShareWhat to Upload to SlideShare
What to Upload to SlideShareSlideShare
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksSlideShare
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShareSlideShare
 

Destacado (7)

What Makes Great Infographics
What Makes Great InfographicsWhat Makes Great Infographics
What Makes Great Infographics
 
How To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content MarketingHow To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content Marketing
 
You Suck At PowerPoint!
You Suck At PowerPoint!You Suck At PowerPoint!
You Suck At PowerPoint!
 
2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare
 
What to Upload to SlideShare
What to Upload to SlideShareWhat to Upload to SlideShare
What to Upload to SlideShare
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & Tricks
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShare
 

Similar a Pillarsjs una aventura Open Source

Trade-Off sobre Tecnologías Web
Trade-Off sobre Tecnologías WebTrade-Off sobre Tecnologías Web
Trade-Off sobre Tecnologías WebMiguel Angel Macias
 
Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...
Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...
Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...Ianpierr Miranda
 
Commit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine LearningCommit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine LearningRafa Hidalgo
 
Web framework ligeros y micros en java barcamp 2014
Web framework ligeros y micros en java   barcamp 2014Web framework ligeros y micros en java   barcamp 2014
Web framework ligeros y micros en java barcamp 2014Carlos Camacho
 
Act1 tecnologiaweb uni1
Act1 tecnologiaweb uni1Act1 tecnologiaweb uni1
Act1 tecnologiaweb uni1fanyto
 
Soluciones de movilidad con Android y PaaS
Soluciones de movilidad con Android y PaaSSoluciones de movilidad con Android y PaaS
Soluciones de movilidad con Android y PaaSNeodoo Microsystems S.L.
 
CURSO APLICACIONES WEB
CURSO APLICACIONES WEBCURSO APLICACIONES WEB
CURSO APLICACIONES WEBSkynet Erp
 
Algunas Prioridades en la Enseñanza e Investigación en Ingeniería del Software
Algunas Prioridades en la Enseñanza e Investigación en Ingeniería del SoftwareAlgunas Prioridades en la Enseñanza e Investigación en Ingeniería del Software
Algunas Prioridades en la Enseñanza e Investigación en Ingeniería del SoftwareSteelmood
 
SGDB y tecnologías usadas por aplicaciones 2.0
SGDB y tecnologías usadas por aplicaciones 2.0SGDB y tecnologías usadas por aplicaciones 2.0
SGDB y tecnologías usadas por aplicaciones 2.0Anderson Almidon
 
WEB SCRAPING & API REST
 WEB SCRAPING & API REST WEB SCRAPING & API REST
WEB SCRAPING & API RESTCharly Graf Q
 
comparava lenguajes web
comparava lenguajes webcomparava lenguajes web
comparava lenguajes webjohn_benitez
 
Teamnet centro de competencia
Teamnet centro de competenciaTeamnet centro de competencia
Teamnet centro de competenciaTEAMNET
 

Similar a Pillarsjs una aventura Open Source (20)

Trade-Off sobre Tecnologías Web
Trade-Off sobre Tecnologías WebTrade-Off sobre Tecnologías Web
Trade-Off sobre Tecnologías Web
 
Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...
Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...
Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...
 
Commit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine LearningCommit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine Learning
 
Web framework ligeros y micros en java barcamp 2014
Web framework ligeros y micros en java   barcamp 2014Web framework ligeros y micros en java   barcamp 2014
Web framework ligeros y micros en java barcamp 2014
 
Temas Relacionados Web 2
Temas Relacionados Web 2Temas Relacionados Web 2
Temas Relacionados Web 2
 
Act1 tecnologiaweb uni1
Act1 tecnologiaweb uni1Act1 tecnologiaweb uni1
Act1 tecnologiaweb uni1
 
Soluciones de movilidad con Android y PaaS
Soluciones de movilidad con Android y PaaSSoluciones de movilidad con Android y PaaS
Soluciones de movilidad con Android y PaaS
 
Dinamicas
DinamicasDinamicas
Dinamicas
 
CURSO APLICACIONES WEB
CURSO APLICACIONES WEBCURSO APLICACIONES WEB
CURSO APLICACIONES WEB
 
CV Santiago Barrio
CV Santiago BarrioCV Santiago Barrio
CV Santiago Barrio
 
JS Patterns Applied to a Real World Example
JS Patterns Applied to a Real World ExampleJS Patterns Applied to a Real World Example
JS Patterns Applied to a Real World Example
 
Presentacion Soft
Presentacion SoftPresentacion Soft
Presentacion Soft
 
Capitulo1
Capitulo1Capitulo1
Capitulo1
 
Capitulo1
Capitulo1Capitulo1
Capitulo1
 
Algunas Prioridades en la Enseñanza e Investigación en Ingeniería del Software
Algunas Prioridades en la Enseñanza e Investigación en Ingeniería del SoftwareAlgunas Prioridades en la Enseñanza e Investigación en Ingeniería del Software
Algunas Prioridades en la Enseñanza e Investigación en Ingeniería del Software
 
SGDB y tecnologías usadas por aplicaciones 2.0
SGDB y tecnologías usadas por aplicaciones 2.0SGDB y tecnologías usadas por aplicaciones 2.0
SGDB y tecnologías usadas por aplicaciones 2.0
 
Front end
Front endFront end
Front end
 
WEB SCRAPING & API REST
 WEB SCRAPING & API REST WEB SCRAPING & API REST
WEB SCRAPING & API REST
 
comparava lenguajes web
comparava lenguajes webcomparava lenguajes web
comparava lenguajes web
 
Teamnet centro de competencia
Teamnet centro de competenciaTeamnet centro de competencia
Teamnet centro de competencia
 

Pillarsjs una aventura Open Source

  • 1. PillarsJS Una aventura Open Source Madrid 14 de Enero de 2017
  • 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.
  • 5. ¿Por qué se decide crear Pillars?
  • 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?
  • 9. Analizando el objetivo MIT No solo 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
  • 11. ¡¡Empezamos a Desarrollar!! 4 meses versión alfa 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
  • 14. Noviembre 2014 Comenzamos a utilizar PillarsJS en nuestros proyectos
  • 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.
  • 18. Liberarlo ¿Qué va a tener la versión 0.1? ¿Cómo lo estructuramos?
  • 19. Reunión de enfoque. San Valentín.
  • 20. Desacoplar Pillars.js, versión de finales de 2014 Un solo “paquete” pillars.js + 11 librerías
  • 21. Ecosistema - 11 Librerías - útiles por sí mismas 1. JSON.crypt 2. JSON.decycled 1. Date.format 2. String.format 5. scheduled 6. templated 7. textualization 8. procedure 9. ObjectArray 10.jailer 11.crier
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 30.
  • 32. Servidor - Orientado a objetos Orientado a Objetos
  • 33.
  • 34.
  • 35.
  • 37. Servidor - Código sencillo y eficiente