SlideShare una empresa de Scribd logo
Drupal8 & Symfony2

@DrupalCS
03 mayo 2012




Alessandro Mascherpa



@ALMADEWEB
#Drupal8 & #Symfony2               #DrupalCS, 03May2012


Personal




●   Desarrollador web freelance.
●   Administrador del grupo de usuarios de Drupal
    de Castellón, @DrupalCS:
    http://groups.drupal.org/castellon

@ALMADEWEB                                        2 / 20
#Drupal8 & #Symfony2          #DrupalCS, 03May2012



●   Motivación: ¿Porque Symfony2 en un
    grupo de usuarios de Drupal?
●   Symfony2 framework de desarrollo de
    aplicaciones web y conjunto de
    componentes desacoplados by
    @MagdKudama
●   Componentes de Symfony2 en Drupal8
●   Grupo de estudio Drupal8 en DrupalCS


@ALMADEWEB                                   3 / 20
#Drupal8 & #Symfony2           #DrupalCS, 03May2012




      Una muy sintética historia de Drupal




@ALMADEWEB                                    4 / 20
#Drupal8 & #Symfony2                #DrupalCS, 03May2012

●   2001: Dries libera el código de Drupal y el
    programa se gana el interés de una activa
    comunidad
●   2005: Primera Drupalcon y comienzos de lo que
    sería CCK y Views (factor diferenciador de
    Drupal)
●   2007: EL Boom de Drupal. Fundación de
    Acquia, Lullabot... y otras grandes empresas
    Drupal
●   2009: Grandes sitios (whitehouse) y SmallCore
●   2011: Release de Drupal7 y “Drupal Crisis”

@ALMADEWEB                                         5 / 20
#Drupal8 & #Symfony2                           #DrupalCS, 03May2012


¿Algún problema Drupal?




http://chrisadas.com/2012/01/03/drupal-cores-development-timeline-46-7
@ALMADEWEB                                                       6 / 20
#Drupal8 & #Symfony2          #DrupalCS, 03May2012




   En definitiva: Muchos usuarios, un gran
      volumen de negocio, pero pocos
               desarrolladores...

        Y aquí es donde entra Symfony2




@ALMADEWEB                                   7 / 20
#Drupal8 & #Symfony2                #DrupalCS, 03May2012


… pero antes. ¿Cual es la causa?
●   Core muy complejo
●   Core altamente acoplado con dependencias
    cíclicas
●   Muy difícil hacer testing decente. Imposible usar
    metodologías de desarrollo modernas como
    TDD
●   Sindrome Not Invented Here
●   Iniciativa core WSSCI se ocupa de carga parcial
    en Boostrap con objeto context y respuesta no
    página en core
@ALMADEWEB                                         8 / 20
#Drupal8 & #Symfony2        #DrupalCS, 03May2012


Ahora si.


Symfony 2 framework de desarrollo de
   aplicaciones web y conjunto de
componentes altamente desacoplados,

                by @MagdKudama


@ALMADEWEB                                 9 / 20
#Drupal8 & #Symfony2               #DrupalCS, 03May2012

¿Porque componentes Symfony2 en
Drupal8?
●   Para escapar del síndrome “Not Invented Here”
●   Porque la comunidad Symfony está creciendo
    mucho y sus lideres están dando un gran apoyo
    a la comunidad Drupal
●   Porque los componentes de Symfony2 son de
    muy alta calidad técnica y están especialmente
    desacoplados y pensados para construir
    frameworks web basados en HTTP
●   Por que el futuro es móvil y RESTful
@ALMADEWEB                                       10 / 20
#Drupal8 & #Symfony2    #DrupalCS, 03May2012




      Cambio de arquitectura en
              Drupal 8



@ALMADEWEB                            11 / 20
#Drupal8 & #Symfony2               #DrupalCS, 03May2012


Para conseguir todo esto hay que...
●   Abstraer los controladores de manera que se
    puedan simular y ejecutar de manera aislada
●   Pasar de usar variables globales a usar
    inyección de dependencias (DI)
●   Todo lo anterior es imposible sin usar OOP. Por
    lo tanto hay que dejar de usar código
    procedural puro
●   Trabajar más de cerca con los proyectos
    Symfony 2 y Symfony CMF
@ALMADEWEB                                       12 / 20
#Drupal8 & #Symfony2    #DrupalCS, 03May2012



… y pasar de servir una página ...




@ALMADEWEB                            13 / 20
#Drupal8 & #Symfony2   #DrupalCS, 03May2012

… a servir
una petición.




@ALMADEWEB                           14 / 20
#Drupal8 & #Symfony2               #DrupalCS, 03May2012


Beneficios inmediatos
●   Mejorar el rendimiento al no tener que hacer un
    Bootstrap completo y que dependa del contexto
    de la aplicación
●   Testing más eficiente.
●   Mejorar los sistemas de caching, Edge Side
    Includes (ESI), CDNs... bloques con URI propia




@ALMADEWEB                                       15 / 20
#Drupal8 & #Symfony2                #DrupalCS, 03May2012


A partir de aquí...
●   Hacking Drupal 8
●   El objetivo principal es aprender
●   También estaría bien contribuir código a las
    iniciativas del core que hagan uso de
    componentes Symfony2 (o no).




@ALMADEWEB                                         16 / 20
#Drupal8 & #Symfony2                 #DrupalCS, 03May2012


Como conseguirlo
●   Estudiar Drupal 8
●   Estudiar Symfony 2 y Componentes
●   Profiling y tracing de peticiones a Drupal 8
    kernel
●   Issue queues relacionadas con Drupal 8 kernel
    y Symfony 2




@ALMADEWEB                                         17 / 20
#Drupal8 & #Symfony2                 #DrupalCS, 03May2012


Referencias
●   http://developmentseed.org/blog/2009/oct/28/smallc
●   http://www.slideshare.net/eaton/drupal-product-fram
●   http://blip.tv/drupalcon/product_platform-5491404
●   http://www.unleashedmind.com/en/blog/sun/the-dru
●   http://www.garfieldtech.com/blog/drupal-post-page-e
●   http://drupal.org/node/1224666
●   http://groups.drupal.org/node/226479

@ALMADEWEB                                         18 / 20
#Drupal8 & #Symfony2                        #DrupalCS, 03May2012


Próximos eventos



         15, 16 y 17 de Junio                 15 y 16 de Junio
http://barcelona2012.drupaldays.org/          desymfony.com




      20 y 21 de Octubre                      20 a 24 de Agosto
http://2012.drupalcamp.es/es           http://munich2012.drupal.org/
@ALMADEWEB                                                   19 / 20
#Drupal8 & #Symfony2                #DrupalCS, 03May2012

¿Preguntas? ...
… comentarios ...
… críticas ...



                       Gracias :)

Alessandro Mascherpa                    Magd Kudama
@ALMADEWEB                             @magdkudama

@ALMADEWEB                                        20 / 20

Más contenido relacionado

Similar a Drupal8 Symfony2 en DrupalCS

[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9
[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9
[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9Keopx
 
Drupal User Points. MicroCharla marzo 2012
Drupal User Points. MicroCharla marzo 2012Drupal User Points. MicroCharla marzo 2012
Drupal User Points. MicroCharla marzo 2012Alessandro Mascherpa
 
Drupal RAD - Drupalcamp Spain 2010
Drupal RAD - Drupalcamp Spain 2010Drupal RAD - Drupalcamp Spain 2010
Drupal RAD - Drupalcamp Spain 2010Jorge López-Lago
 
Magia con Drupal
Magia con DrupalMagia con Drupal
Magia con Drupalmbavio
 
Symfony y Drupal - Drupal Day Santander 2013
Symfony y Drupal - Drupal Day Santander 2013Symfony y Drupal - Drupal Day Santander 2013
Symfony y Drupal - Drupal Day Santander 2013Juampy NR
 
Drupal 7: mucho más que una nueva versión (para desarrolladores)
Drupal 7: mucho más que una nueva versión (para desarrolladores)Drupal 7: mucho más que una nueva versión (para desarrolladores)
Drupal 7: mucho más que una nueva versión (para desarrolladores)Ymbra
 
Qué puede aprender Drupal de Plone
Qué puede aprender Drupal de PloneQué puede aprender Drupal de Plone
Qué puede aprender Drupal de Plonementtes
 
No más curva.
No más curva. No más curva.
No más curva. Jose Leiva
 
Curso Drupal 7 SiteBuilding parte 2
Curso Drupal 7 SiteBuilding parte 2Curso Drupal 7 SiteBuilding parte 2
Curso Drupal 7 SiteBuilding parte 2Alessandro Mascherpa
 
[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10
[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10
[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10Keopx
 
Drupal 7: mucho más que una nueva versión
Drupal 7: mucho más que una nueva versiónDrupal 7: mucho más que una nueva versión
Drupal 7: mucho más que una nueva versiónYmbra
 
Los mejores trucos y prácticas para configurar drupal
Los mejores trucos y prácticas para configurar drupalLos mejores trucos y prácticas para configurar drupal
Los mejores trucos y prácticas para configurar drupalSiteGround España
 
Curso Drupal7 SiteBuilding parte 1
Curso Drupal7 SiteBuilding parte 1Curso Drupal7 SiteBuilding parte 1
Curso Drupal7 SiteBuilding parte 1Alessandro Mascherpa
 
Drupal empezando con drupal
Drupal   empezando con drupalDrupal   empezando con drupal
Drupal empezando con drupalCristian Mamani
 
Marketing, Comunidad, Empleo y Negocio Internacional basado en Drupal
Marketing, Comunidad, Empleo y Negocio Internacional basado en DrupalMarketing, Comunidad, Empleo y Negocio Internacional basado en Drupal
Marketing, Comunidad, Empleo y Negocio Internacional basado en DrupalLa Drupalera
 
Visteme con 'Clean Architecture' que tengo prisas
Visteme con 'Clean Architecture' que tengo prisasVisteme con 'Clean Architecture' que tengo prisas
Visteme con 'Clean Architecture' que tengo prisasJosé María Pérez Ramos
 
Presente y futuro de la Drupal Admin UI - Drupal Camp Costa Rica 2020
Presente y futuro de la Drupal Admin UI - Drupal Camp Costa Rica 2020Presente y futuro de la Drupal Admin UI - Drupal Camp Costa Rica 2020
Presente y futuro de la Drupal Admin UI - Drupal Camp Costa Rica 2020Cristina Chumillas
 

Similar a Drupal8 Symfony2 en DrupalCS (20)

Drupal Sitebuilding 101
Drupal Sitebuilding 101Drupal Sitebuilding 101
Drupal Sitebuilding 101
 
[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9
[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9
[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9
 
Drupal User Points. MicroCharla marzo 2012
Drupal User Points. MicroCharla marzo 2012Drupal User Points. MicroCharla marzo 2012
Drupal User Points. MicroCharla marzo 2012
 
Drupal RAD - Drupalcamp Spain 2010
Drupal RAD - Drupalcamp Spain 2010Drupal RAD - Drupalcamp Spain 2010
Drupal RAD - Drupalcamp Spain 2010
 
Magia con Drupal
Magia con DrupalMagia con Drupal
Magia con Drupal
 
Symfony y Drupal - Drupal Day Santander 2013
Symfony y Drupal - Drupal Day Santander 2013Symfony y Drupal - Drupal Day Santander 2013
Symfony y Drupal - Drupal Day Santander 2013
 
Drupal 7: mucho más que una nueva versión (para desarrolladores)
Drupal 7: mucho más que una nueva versión (para desarrolladores)Drupal 7: mucho más que una nueva versión (para desarrolladores)
Drupal 7: mucho más que una nueva versión (para desarrolladores)
 
Cw15 conoce drupal_v28
Cw15 conoce drupal_v28Cw15 conoce drupal_v28
Cw15 conoce drupal_v28
 
Qué puede aprender Drupal de Plone
Qué puede aprender Drupal de PloneQué puede aprender Drupal de Plone
Qué puede aprender Drupal de Plone
 
No más curva.
No más curva. No más curva.
No más curva.
 
Drupal7 site buildingesue_3
Drupal7 site buildingesue_3Drupal7 site buildingesue_3
Drupal7 site buildingesue_3
 
Curso Drupal 7 SiteBuilding parte 2
Curso Drupal 7 SiteBuilding parte 2Curso Drupal 7 SiteBuilding parte 2
Curso Drupal 7 SiteBuilding parte 2
 
[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10
[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10
[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10
 
Drupal 7: mucho más que una nueva versión
Drupal 7: mucho más que una nueva versiónDrupal 7: mucho más que una nueva versión
Drupal 7: mucho más que una nueva versión
 
Los mejores trucos y prácticas para configurar drupal
Los mejores trucos y prácticas para configurar drupalLos mejores trucos y prácticas para configurar drupal
Los mejores trucos y prácticas para configurar drupal
 
Curso Drupal7 SiteBuilding parte 1
Curso Drupal7 SiteBuilding parte 1Curso Drupal7 SiteBuilding parte 1
Curso Drupal7 SiteBuilding parte 1
 
Drupal empezando con drupal
Drupal   empezando con drupalDrupal   empezando con drupal
Drupal empezando con drupal
 
Marketing, Comunidad, Empleo y Negocio Internacional basado en Drupal
Marketing, Comunidad, Empleo y Negocio Internacional basado en DrupalMarketing, Comunidad, Empleo y Negocio Internacional basado en Drupal
Marketing, Comunidad, Empleo y Negocio Internacional basado en Drupal
 
Visteme con 'Clean Architecture' que tengo prisas
Visteme con 'Clean Architecture' que tengo prisasVisteme con 'Clean Architecture' que tengo prisas
Visteme con 'Clean Architecture' que tengo prisas
 
Presente y futuro de la Drupal Admin UI - Drupal Camp Costa Rica 2020
Presente y futuro de la Drupal Admin UI - Drupal Camp Costa Rica 2020Presente y futuro de la Drupal Admin UI - Drupal Camp Costa Rica 2020
Presente y futuro de la Drupal Admin UI - Drupal Camp Costa Rica 2020
 

Último

Gestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL ServerGestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL ServerRobertoCarrancioFern
 
lenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometrialenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometriasofiasonder
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusraquelariza02
 
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...Luis Fernando Uribe Villamil
 
Introducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptxIntroducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptxJohanna4222
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestrerafaelsalazar0615
 
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docxPRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docxencinasm992
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxLeidyfuentes19
 
¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf7adelosriosarangojua
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfcj3806354
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Telefónica
 
Estudio de la geometría analitica. Pptx.
Estudio de la geometría analitica. Pptx.Estudio de la geometría analitica. Pptx.
Estudio de la geometría analitica. Pptx.sofiasonder
 
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdfPons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdffrank0071
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiegoCampos433849
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfjjfch3110
 
HIGADO Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
HIGADO  Y TRAUMA HEPATICO UDABOL 2024 (3).pdfHIGADO  Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
HIGADO Y TRAUMA HEPATICO UDABOL 2024 (3).pdfIsabelHuairaGarma
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx44652726
 
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docxwerito139410
 

Último (20)

Gestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL ServerGestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL Server
 
lenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometrialenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometria
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
 
Introducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptxIntroducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptx
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docxPRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 
Estudio de la geometría analitica. Pptx.
Estudio de la geometría analitica. Pptx.Estudio de la geometría analitica. Pptx.
Estudio de la geometría analitica. Pptx.
 
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdfPons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
HIGADO Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
HIGADO  Y TRAUMA HEPATICO UDABOL 2024 (3).pdfHIGADO  Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
HIGADO Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx
 
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
 

Drupal8 Symfony2 en DrupalCS

  • 1. Drupal8 & Symfony2 @DrupalCS 03 mayo 2012 Alessandro Mascherpa @ALMADEWEB
  • 2. #Drupal8 & #Symfony2 #DrupalCS, 03May2012 Personal ● Desarrollador web freelance. ● Administrador del grupo de usuarios de Drupal de Castellón, @DrupalCS: http://groups.drupal.org/castellon @ALMADEWEB 2 / 20
  • 3. #Drupal8 & #Symfony2 #DrupalCS, 03May2012 ● Motivación: ¿Porque Symfony2 en un grupo de usuarios de Drupal? ● Symfony2 framework de desarrollo de aplicaciones web y conjunto de componentes desacoplados by @MagdKudama ● Componentes de Symfony2 en Drupal8 ● Grupo de estudio Drupal8 en DrupalCS @ALMADEWEB 3 / 20
  • 4. #Drupal8 & #Symfony2 #DrupalCS, 03May2012 Una muy sintética historia de Drupal @ALMADEWEB 4 / 20
  • 5. #Drupal8 & #Symfony2 #DrupalCS, 03May2012 ● 2001: Dries libera el código de Drupal y el programa se gana el interés de una activa comunidad ● 2005: Primera Drupalcon y comienzos de lo que sería CCK y Views (factor diferenciador de Drupal) ● 2007: EL Boom de Drupal. Fundación de Acquia, Lullabot... y otras grandes empresas Drupal ● 2009: Grandes sitios (whitehouse) y SmallCore ● 2011: Release de Drupal7 y “Drupal Crisis” @ALMADEWEB 5 / 20
  • 6. #Drupal8 & #Symfony2 #DrupalCS, 03May2012 ¿Algún problema Drupal? http://chrisadas.com/2012/01/03/drupal-cores-development-timeline-46-7 @ALMADEWEB 6 / 20
  • 7. #Drupal8 & #Symfony2 #DrupalCS, 03May2012 En definitiva: Muchos usuarios, un gran volumen de negocio, pero pocos desarrolladores... Y aquí es donde entra Symfony2 @ALMADEWEB 7 / 20
  • 8. #Drupal8 & #Symfony2 #DrupalCS, 03May2012 … pero antes. ¿Cual es la causa? ● Core muy complejo ● Core altamente acoplado con dependencias cíclicas ● Muy difícil hacer testing decente. Imposible usar metodologías de desarrollo modernas como TDD ● Sindrome Not Invented Here ● Iniciativa core WSSCI se ocupa de carga parcial en Boostrap con objeto context y respuesta no página en core @ALMADEWEB 8 / 20
  • 9. #Drupal8 & #Symfony2 #DrupalCS, 03May2012 Ahora si. Symfony 2 framework de desarrollo de aplicaciones web y conjunto de componentes altamente desacoplados, by @MagdKudama @ALMADEWEB 9 / 20
  • 10. #Drupal8 & #Symfony2 #DrupalCS, 03May2012 ¿Porque componentes Symfony2 en Drupal8? ● Para escapar del síndrome “Not Invented Here” ● Porque la comunidad Symfony está creciendo mucho y sus lideres están dando un gran apoyo a la comunidad Drupal ● Porque los componentes de Symfony2 son de muy alta calidad técnica y están especialmente desacoplados y pensados para construir frameworks web basados en HTTP ● Por que el futuro es móvil y RESTful @ALMADEWEB 10 / 20
  • 11. #Drupal8 & #Symfony2 #DrupalCS, 03May2012 Cambio de arquitectura en Drupal 8 @ALMADEWEB 11 / 20
  • 12. #Drupal8 & #Symfony2 #DrupalCS, 03May2012 Para conseguir todo esto hay que... ● Abstraer los controladores de manera que se puedan simular y ejecutar de manera aislada ● Pasar de usar variables globales a usar inyección de dependencias (DI) ● Todo lo anterior es imposible sin usar OOP. Por lo tanto hay que dejar de usar código procedural puro ● Trabajar más de cerca con los proyectos Symfony 2 y Symfony CMF @ALMADEWEB 12 / 20
  • 13. #Drupal8 & #Symfony2 #DrupalCS, 03May2012 … y pasar de servir una página ... @ALMADEWEB 13 / 20
  • 14. #Drupal8 & #Symfony2 #DrupalCS, 03May2012 … a servir una petición. @ALMADEWEB 14 / 20
  • 15. #Drupal8 & #Symfony2 #DrupalCS, 03May2012 Beneficios inmediatos ● Mejorar el rendimiento al no tener que hacer un Bootstrap completo y que dependa del contexto de la aplicación ● Testing más eficiente. ● Mejorar los sistemas de caching, Edge Side Includes (ESI), CDNs... bloques con URI propia @ALMADEWEB 15 / 20
  • 16. #Drupal8 & #Symfony2 #DrupalCS, 03May2012 A partir de aquí... ● Hacking Drupal 8 ● El objetivo principal es aprender ● También estaría bien contribuir código a las iniciativas del core que hagan uso de componentes Symfony2 (o no). @ALMADEWEB 16 / 20
  • 17. #Drupal8 & #Symfony2 #DrupalCS, 03May2012 Como conseguirlo ● Estudiar Drupal 8 ● Estudiar Symfony 2 y Componentes ● Profiling y tracing de peticiones a Drupal 8 kernel ● Issue queues relacionadas con Drupal 8 kernel y Symfony 2 @ALMADEWEB 17 / 20
  • 18. #Drupal8 & #Symfony2 #DrupalCS, 03May2012 Referencias ● http://developmentseed.org/blog/2009/oct/28/smallc ● http://www.slideshare.net/eaton/drupal-product-fram ● http://blip.tv/drupalcon/product_platform-5491404 ● http://www.unleashedmind.com/en/blog/sun/the-dru ● http://www.garfieldtech.com/blog/drupal-post-page-e ● http://drupal.org/node/1224666 ● http://groups.drupal.org/node/226479 @ALMADEWEB 18 / 20
  • 19. #Drupal8 & #Symfony2 #DrupalCS, 03May2012 Próximos eventos 15, 16 y 17 de Junio 15 y 16 de Junio http://barcelona2012.drupaldays.org/ desymfony.com 20 y 21 de Octubre 20 a 24 de Agosto http://2012.drupalcamp.es/es http://munich2012.drupal.org/ @ALMADEWEB 19 / 20
  • 20. #Drupal8 & #Symfony2 #DrupalCS, 03May2012 ¿Preguntas? ... … comentarios ... … críticas ... Gracias :) Alessandro Mascherpa Magd Kudama @ALMADEWEB @magdkudama @ALMADEWEB 20 / 20