SlideShare a Scribd company logo
1 of 43
Drupal Haters Gonna Hate


  Drupal Haters?
       You’re all
      hypocrites.
Drupal Haters Gonna Hate

    I work with Drupal.
Drupal Haters Gonna Hate
Drupal Haters Gonna Hate




LETS TALK ABOUT PHP.
Drupal Haters Gonna Hate


Ewww, you use PHP?
I thought you were
cool!
Drupal Haters Gonna Hate



All the APIs are
execrable.
Drupal Haters Gonna Hate
All the PHP code I’ve seen
has been messy,
unmaintainable crap.
Spaghetti SQL wrapped in
spaghetti PHP wrapped in
spaghetti HTML.
Drupal Haters Gonna Hate


The term “good PHP
programmer” is
considered an oxymoron.
Drupal Haters Gonna Hate




SOUND FAMILIAR?
Drupal Haters Gonna Hate




WHERE DOES THIS ATTITUDE COME
FROM?
Drupal Haters Gonna Hate



Low barrier to writing or re-
deploying code.
Drupal Haters Gonna Hate


Lots of tutorials, which omit
best-practice in order to
simplify the example.
Drupal Haters Gonna Hate




THE COUNTER-ARGUMENT.
Drupal Haters Gonna Hate


The language you use is
much less important than
the platform you build on it.
Drupal Haters Gonna Hate
There’s a long list of sites
that bust that myth…



…Facebook?
Drupal Haters Gonna Hate




DRUPAL IS BAD…MKKK?
Drupal Haters Gonna Hate

•   Not OOP
•   Learning curve is crazy
•   It’s SLOW
•   Simple, naive
Drupal Haters Gonna Hate

                    Not OOP?
• Drupal uses a coding-pattern we call hooks.
  It’s essentially an implementation of the
  observer/visitor design patterns.
• The menu-router is basically a front-controller.
• It’s not MVC? The business logic is decoupled from the
  presentation logic through the theme layer…it’s not
  MVC, it’s PAC (Presentation-Abstraction Control).
• The implementations for database, caching, and other
  tasks are pluggable.
• Modules such as panels use DI.
• (Oh, PHP isn’t OOP either, right?)
Drupal Haters Gonna Hate

   Learning curve is crazy?
Drupal Haters Gonna Hate
Drupal Haters Gonna Hate
Drupal Haters Gonna Hate

   Learning curve is crazy?
Drupal Haters Gonna Hate

        Learning curve is crazy?
• A Cessna is a simple plane. Small, single-prop,
  it’s a plane to learn on. When you’re qualified,
  you can fly pretty much any small single-prop.
• When you qualify on an A-380, you’re certified
  to fly an A-380. You can’t fly another airbus on
  that licence. You can’t fly a Boeing.
• You need to re-certify for each different plane.
Drupal Haters Gonna Hate

        Learning curve is crazy?
• PHP is a simple language. When you can write
  PHP, you can work with any small, simple PHP
  framework or site.
• When you’re knowledgeable and experienced
  with Zend Framework, can build great Zend
  Framework sites. You can’t dive into a Symfony
  project. You can’t dive into a Drupal project.
• You need to re-learn for each framework.
Drupal Haters Gonna Hate

        It’s SLOW?
Drupal Haters Gonna Hate

                  It’s slow?
• Drupal is expected to work out of the box on
  shared hosting.
• It uses the database as a cache. I know, right?
Drupal Haters Gonna Hate

                 It’s slow?
• We already know how to make sites perform:
  memcache, varnish, APC, CDNs…use them.
• Learn which Drupal configurations have a
  material impact on performance.
• Learn how to leverage the caching APIs in the
  modules you develop.
• Benchmark and profile.
Drupal Haters Gonna Hate

                  It’s slow?
• You’re all professional developers.
• You already have the knowledge and
  experience to know how to make a platform
  perform and scale.
• Drupal already supports the same standard
  practices and tools that you’ll find in the PHP
  community.
Drupal Haters Gonna Hate

     It’s simple, naive?

            DB
                           You’re
                           expecting
            Web            this?
           server
Drupal Haters Gonna Hate
            HA Proxy     HA Proxy     Last year, I
                                      worked on
              Zeus         Zeus
                                      this Drupal-
             Varnish      Varnish
                                      based
              Web          Web        platform.
Memcache                                LDAP

  SOLR                                  ESB

NAS/SAN    DB (master)   DB (slave)
Drupal Haters Gonna Hate




DRUPAL: THE GOOD PARTS.
Drupal Haters Gonna Hate

           Who’s using Drupal?
•   The White House
•   Warner Music
•   Turner Media
•   Al Jazeera
•   Twitter
•   Apple
Drupal Haters Gonna Hate

    Who’s building with Drupal?
• Global SIs: Capita, Capgemini, Accenture…
• Acquia – founded by Dries.
  “America’s top one-hundred most promising
  companies” – Forbes.
• Ixis – PHPNW Sponsor
Drupal Haters Gonna Hate

   Joining the Drupal community
• DUGs
  NWDUG meet on the first Wednesday of every month
  in Manchester.
• Camps
  Drupalcamp NW: 23-25 November 2012.
• Conferences
  3 Drupalcons in 2013: Sydney, Portland, Prague.
• IRC
  #drupal-uk, #drupal-support
Drupal Haters Gonna Hate
Drupal Haters Gonna Hate




WHERE IS DRUPAL GOING?
Drupal Haters Gonna Hate

               Drupal release schedule




                                                     2 01 2
        2008


                  2009




                                                                             2 01 4
2007




                                                               2 01 3
                                       2 01 1
                           2 010
                                          Retired
                Drupal 5                  Jan 2011
                                   Drupal 6
                                                Drupal 7
                                                                        Drupal 8
                                                              Expected
                                                              mid-2013
Drupal Haters Gonna Hate

      What’s happening Drupal 8?
•   Configuration management
•   Web services
•   Design
•   Multi-lingual
•   HTML 5            http://groups.drupal.org/
•   Mobile            drupal-initiatives
Drupal Haters Gonna Hate

     What’s happening in Drupal 8?
•   Integrating a number of Symfony components
•   HTTPKernel and caching kernel
•   Twig
•   Composer?
•   YAML configuration
Drupal Haters Gonna Hate




FINAL MESSAGE
Drupal Haters Gonna Hate

Before you jump on that bandwagon
thinking nothing interesting could
possibly be done with Drupal,
remember the FUD levelled at PHP.

You might be missing out on
something great.
Drupal Haters Gonna Hate

         Picture attributions
• Haters gonna hate eagle
  Eric J. Lubbers
• Cessna
  Photobunny
• Drupalcon Munich group photo
  Drupal Association
Drupal Haters Gonna Hate

          Thank you!

 Marcus Deglos
 @manarth
 http://deglos.com/
 marcus@deglos.com

More Related Content

What's hot

DrupalCampHI - Drupal vs WordPress
DrupalCampHI - Drupal vs WordPress DrupalCampHI - Drupal vs WordPress
DrupalCampHI - Drupal vs WordPress Rob Bertholf
 
Drupal vs Wordpress
Drupal vs WordpressDrupal vs Wordpress
Drupal vs WordpressIan Mariano
 
Introduction To Drupal
Introduction To DrupalIntroduction To Drupal
Introduction To DrupalLauren Roth
 
Drupal
DrupalDrupal
Drupalbtopro
 
Introduction to Drupal
Introduction to DrupalIntroduction to Drupal
Introduction to DrupalTom Deryckere
 
Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8Angela Byron
 
Drupal session 1 - What are drupal sessions?
Drupal session 1 - What are drupal sessions?Drupal session 1 - What are drupal sessions?
Drupal session 1 - What are drupal sessions?NETNODE AG
 
Drupal content editor flexibility
Drupal content editor flexibilityDrupal content editor flexibility
Drupal content editor flexibilityhernanibf
 
Oxford DrupalCamp 2012 - The things we found in your website
Oxford DrupalCamp 2012 - The things we found in your websiteOxford DrupalCamp 2012 - The things we found in your website
Oxford DrupalCamp 2012 - The things we found in your websitehernanibf
 
Upgrading to Drupal 7
Upgrading to Drupal 7Upgrading to Drupal 7
Upgrading to Drupal 7DesignHammer
 
EdTechJoker Spring 2020 - Lecture 7 Drupal intro
EdTechJoker Spring 2020 - Lecture 7 Drupal introEdTechJoker Spring 2020 - Lecture 7 Drupal intro
EdTechJoker Spring 2020 - Lecture 7 Drupal introBryan Ollendyke
 
Drupal 7x Installation - Introduction to Drupal Concepts
Drupal 7x Installation - Introduction to Drupal ConceptsDrupal 7x Installation - Introduction to Drupal Concepts
Drupal 7x Installation - Introduction to Drupal ConceptsMicky Metts
 
Stuff we do with OSS in libraries (Bergen, 2009)
Stuff we do with OSS in libraries (Bergen, 2009)Stuff we do with OSS in libraries (Bergen, 2009)
Stuff we do with OSS in libraries (Bergen, 2009)Nicolas Morin
 
Drupal 8 theming deep dive
Drupal 8 theming deep diveDrupal 8 theming deep dive
Drupal 8 theming deep diveRomain Jarraud
 
My site is slow
My site is slowMy site is slow
My site is slowhernanibf
 
One drupal to rule them all - Drupalcamp Caceres
One drupal to rule them all - Drupalcamp CaceresOne drupal to rule them all - Drupalcamp Caceres
One drupal to rule them all - Drupalcamp Cacereshernanibf
 

What's hot (20)

DrupalCampHI - Drupal vs WordPress
DrupalCampHI - Drupal vs WordPress DrupalCampHI - Drupal vs WordPress
DrupalCampHI - Drupal vs WordPress
 
Drupal
DrupalDrupal
Drupal
 
Drupal vs Wordpress
Drupal vs WordpressDrupal vs Wordpress
Drupal vs Wordpress
 
Introduction To Drupal
Introduction To DrupalIntroduction To Drupal
Introduction To Drupal
 
Drupal
DrupalDrupal
Drupal
 
Introduction to Drupal
Introduction to DrupalIntroduction to Drupal
Introduction to Drupal
 
Evaluating Base Themes
Evaluating Base ThemesEvaluating Base Themes
Evaluating Base Themes
 
Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8
 
Drupal session 1 - What are drupal sessions?
Drupal session 1 - What are drupal sessions?Drupal session 1 - What are drupal sessions?
Drupal session 1 - What are drupal sessions?
 
Drupal content editor flexibility
Drupal content editor flexibilityDrupal content editor flexibility
Drupal content editor flexibility
 
Oxford DrupalCamp 2012 - The things we found in your website
Oxford DrupalCamp 2012 - The things we found in your websiteOxford DrupalCamp 2012 - The things we found in your website
Oxford DrupalCamp 2012 - The things we found in your website
 
Upgrading to Drupal 7
Upgrading to Drupal 7Upgrading to Drupal 7
Upgrading to Drupal 7
 
EdTechJoker Spring 2020 - Lecture 7 Drupal intro
EdTechJoker Spring 2020 - Lecture 7 Drupal introEdTechJoker Spring 2020 - Lecture 7 Drupal intro
EdTechJoker Spring 2020 - Lecture 7 Drupal intro
 
Drupal 7x Installation - Introduction to Drupal Concepts
Drupal 7x Installation - Introduction to Drupal ConceptsDrupal 7x Installation - Introduction to Drupal Concepts
Drupal 7x Installation - Introduction to Drupal Concepts
 
Stuff we do with OSS in libraries (Bergen, 2009)
Stuff we do with OSS in libraries (Bergen, 2009)Stuff we do with OSS in libraries (Bergen, 2009)
Stuff we do with OSS in libraries (Bergen, 2009)
 
Drupal 8 theming deep dive
Drupal 8 theming deep diveDrupal 8 theming deep dive
Drupal 8 theming deep dive
 
My site is slow
My site is slowMy site is slow
My site is slow
 
One drupal to rule them all - Drupalcamp Caceres
One drupal to rule them all - Drupalcamp CaceresOne drupal to rule them all - Drupalcamp Caceres
One drupal to rule them all - Drupalcamp Caceres
 
Drupal in 5
Drupal in 5Drupal in 5
Drupal in 5
 
Getting a CLUE at the Command Line
Getting a CLUE at the Command LineGetting a CLUE at the Command Line
Getting a CLUE at the Command Line
 

Viewers also liked

Letter of recommendations Gary Hidalgo
Letter of recommendations Gary HidalgoLetter of recommendations Gary Hidalgo
Letter of recommendations Gary HidalgoGARY HIDALGO
 
Realiza eficientemente el cv
Realiza eficientemente el cvRealiza eficientemente el cv
Realiza eficientemente el cvSevilla
 
남자배구순위★∪⊆kid85.com●⊇∃여자배구토토사이트 여자농구해외토토
남자배구순위★∪⊆kid85.com●⊇∃여자배구토토사이트 여자농구해외토토남자배구순위★∪⊆kid85.com●⊇∃여자배구토토사이트 여자농구해외토토
남자배구순위★∪⊆kid85.com●⊇∃여자배구토토사이트 여자농구해외토토sdgdfhgfj
 
사설토토 사설토토 ★∪⊆kid85.com●⊇∃사설토토 사설토토
사설토토 사설토토 ★∪⊆kid85.com●⊇∃사설토토 사설토토사설토토 사설토토 ★∪⊆kid85.com●⊇∃사설토토 사설토토
사설토토 사설토토 ★∪⊆kid85.com●⊇∃사설토토 사설토토sdgdfhgfj
 
de spin Sebastiaan
de spin Sebastiaande spin Sebastiaan
de spin Sebastiaanklepperke
 
M ariketak
M ariketakM ariketak
M ariketakGontzal
 
Fronteiras entre o Lean e a Gambiarra
Fronteiras entre o Lean e a GambiarraFronteiras entre o Lean e a Gambiarra
Fronteiras entre o Lean e a GambiarraAndrei Tognolo
 
Plataformas del comercio electronico
Plataformas del comercio electronicoPlataformas del comercio electronico
Plataformas del comercio electronicovickisitha
 
Inspeção e Adaptação no Scrum com Indicadores de Resultado e Direção | TDC PO...
Inspeção e Adaptação no Scrum com Indicadores de Resultado e Direção | TDC PO...Inspeção e Adaptação no Scrum com Indicadores de Resultado e Direção | TDC PO...
Inspeção e Adaptação no Scrum com Indicadores de Resultado e Direção | TDC PO...André Bueno
 
Plataformas del comercio electrónico
Plataformas del comercio electrónicoPlataformas del comercio electrónico
Plataformas del comercio electrónicoMalú Mf
 

Viewers also liked (15)

Letter of recommendations Gary Hidalgo
Letter of recommendations Gary HidalgoLetter of recommendations Gary Hidalgo
Letter of recommendations Gary Hidalgo
 
Realiza eficientemente el cv
Realiza eficientemente el cvRealiza eficientemente el cv
Realiza eficientemente el cv
 
Ejercicio
EjercicioEjercicio
Ejercicio
 
남자배구순위★∪⊆kid85.com●⊇∃여자배구토토사이트 여자농구해외토토
남자배구순위★∪⊆kid85.com●⊇∃여자배구토토사이트 여자농구해외토토남자배구순위★∪⊆kid85.com●⊇∃여자배구토토사이트 여자농구해외토토
남자배구순위★∪⊆kid85.com●⊇∃여자배구토토사이트 여자농구해외토토
 
Fayez Shafeek
Fayez ShafeekFayez Shafeek
Fayez Shafeek
 
Intermediarios electronicos
Intermediarios electronicosIntermediarios electronicos
Intermediarios electronicos
 
사설토토 사설토토 ★∪⊆kid85.com●⊇∃사설토토 사설토토
사설토토 사설토토 ★∪⊆kid85.com●⊇∃사설토토 사설토토사설토토 사설토토 ★∪⊆kid85.com●⊇∃사설토토 사설토토
사설토토 사설토토 ★∪⊆kid85.com●⊇∃사설토토 사설토토
 
de spin Sebastiaan
de spin Sebastiaande spin Sebastiaan
de spin Sebastiaan
 
M ariketak
M ariketakM ariketak
M ariketak
 
Sujetos del Comercio
Sujetos del ComercioSujetos del Comercio
Sujetos del Comercio
 
Dna
DnaDna
Dna
 
Fronteiras entre o Lean e a Gambiarra
Fronteiras entre o Lean e a GambiarraFronteiras entre o Lean e a Gambiarra
Fronteiras entre o Lean e a Gambiarra
 
Plataformas del comercio electronico
Plataformas del comercio electronicoPlataformas del comercio electronico
Plataformas del comercio electronico
 
Inspeção e Adaptação no Scrum com Indicadores de Resultado e Direção | TDC PO...
Inspeção e Adaptação no Scrum com Indicadores de Resultado e Direção | TDC PO...Inspeção e Adaptação no Scrum com Indicadores de Resultado e Direção | TDC PO...
Inspeção e Adaptação no Scrum com Indicadores de Resultado e Direção | TDC PO...
 
Plataformas del comercio electrónico
Plataformas del comercio electrónicoPlataformas del comercio electrónico
Plataformas del comercio electrónico
 

Similar to Drupal haters gonna hate

Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it
Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love itDrupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it
Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love itRyan Weaver
 
Drupal Aware Design: Good Techniques for Better Themes
Drupal Aware Design: Good Techniques for Better ThemesDrupal Aware Design: Good Techniques for Better Themes
Drupal Aware Design: Good Techniques for Better Themesnyccamp
 
PHP IDEs with Drupal: DrupalCon Austin 2014
PHP IDEs with Drupal: DrupalCon Austin 2014PHP IDEs with Drupal: DrupalCon Austin 2014
PHP IDEs with Drupal: DrupalCon Austin 2014Valery Lourie
 
An absolute beginner’s guide to the drupal universe
An absolute beginner’s guide to the drupal universeAn absolute beginner’s guide to the drupal universe
An absolute beginner’s guide to the drupal universeKarel Jan
 
Choosing Drupal as your Content Management Framework
Choosing Drupal as your Content Management FrameworkChoosing Drupal as your Content Management Framework
Choosing Drupal as your Content Management FrameworkMediacurrent
 
Drupalvs wordpress fsoss2011
Drupalvs wordpress fsoss2011Drupalvs wordpress fsoss2011
Drupalvs wordpress fsoss2011Sean Yo
 
Drupal 8 Adoption Myths Debunked
Drupal 8 Adoption Myths DebunkedDrupal 8 Adoption Myths Debunked
Drupal 8 Adoption Myths DebunkedAngela Byron
 
Spark: Authoring Experience++ in Drupal 7, 8, and Beyond
Spark: Authoring Experience++ in Drupal 7, 8, and BeyondSpark: Authoring Experience++ in Drupal 7, 8, and Beyond
Spark: Authoring Experience++ in Drupal 7, 8, and BeyondAngela Byron
 
Introduction to drupal
Introduction to drupalIntroduction to drupal
Introduction to drupalPedro Cambra
 
Opening Keynote - DrupalCamp St. Louis 2014
Opening Keynote - DrupalCamp St. Louis 2014Opening Keynote - DrupalCamp St. Louis 2014
Opening Keynote - DrupalCamp St. Louis 2014Brad Nowak
 
Drupal for beginners - Global Training Days - Cebu 2016
Drupal for beginners - Global Training Days - Cebu 2016Drupal for beginners - Global Training Days - Cebu 2016
Drupal for beginners - Global Training Days - Cebu 2016Luc Bézier
 
Drupal Community Involvement – Drupal 社区参与
Drupal Community Involvement – Drupal 社区参与Drupal Community Involvement – Drupal 社区参与
Drupal Community Involvement – Drupal 社区参与Johanna Lindh
 
Fastest Way to DRUPAL
Fastest Way to DRUPALFastest Way to DRUPAL
Fastest Way to DRUPALBrahm
 
Promet.manila2011.selling drupal.
Promet.manila2011.selling drupal.Promet.manila2011.selling drupal.
Promet.manila2011.selling drupal.Promet Source
 

Similar to Drupal haters gonna hate (20)

Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it
Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love itDrupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it
Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it
 
Drupal Aware Design: Good Techniques for Better Themes
Drupal Aware Design: Good Techniques for Better ThemesDrupal Aware Design: Good Techniques for Better Themes
Drupal Aware Design: Good Techniques for Better Themes
 
PHP IDEs with Drupal: DrupalCon Austin 2014
PHP IDEs with Drupal: DrupalCon Austin 2014PHP IDEs with Drupal: DrupalCon Austin 2014
PHP IDEs with Drupal: DrupalCon Austin 2014
 
Drupal know how's
Drupal know how'sDrupal know how's
Drupal know how's
 
An absolute beginner’s guide to the drupal universe
An absolute beginner’s guide to the drupal universeAn absolute beginner’s guide to the drupal universe
An absolute beginner’s guide to the drupal universe
 
Choosing Drupal as your Content Management Framework
Choosing Drupal as your Content Management FrameworkChoosing Drupal as your Content Management Framework
Choosing Drupal as your Content Management Framework
 
Drupal refcard
Drupal refcardDrupal refcard
Drupal refcard
 
Drupalvs wordpress fsoss2011
Drupalvs wordpress fsoss2011Drupalvs wordpress fsoss2011
Drupalvs wordpress fsoss2011
 
Drupal 8 Adoption Myths Debunked
Drupal 8 Adoption Myths DebunkedDrupal 8 Adoption Myths Debunked
Drupal 8 Adoption Myths Debunked
 
Spark: Authoring Experience++ in Drupal 7, 8, and Beyond
Spark: Authoring Experience++ in Drupal 7, 8, and BeyondSpark: Authoring Experience++ in Drupal 7, 8, and Beyond
Spark: Authoring Experience++ in Drupal 7, 8, and Beyond
 
Introduction to drupal
Introduction to drupalIntroduction to drupal
Introduction to drupal
 
Opening Keynote - DrupalCamp St. Louis 2014
Opening Keynote - DrupalCamp St. Louis 2014Opening Keynote - DrupalCamp St. Louis 2014
Opening Keynote - DrupalCamp St. Louis 2014
 
Drupal for beginners - Global Training Days - Cebu 2016
Drupal for beginners - Global Training Days - Cebu 2016Drupal for beginners - Global Training Days - Cebu 2016
Drupal for beginners - Global Training Days - Cebu 2016
 
Embedding Linked Data Invisibly into Web Pages: Strategies and Workflows for ...
Embedding Linked Data Invisibly into Web Pages: Strategies and Workflows for ...Embedding Linked Data Invisibly into Web Pages: Strategies and Workflows for ...
Embedding Linked Data Invisibly into Web Pages: Strategies and Workflows for ...
 
Drupal 101
Drupal 101Drupal 101
Drupal 101
 
Drupal
DrupalDrupal
Drupal
 
Drupal Community Involvement – Drupal 社区参与
Drupal Community Involvement – Drupal 社区参与Drupal Community Involvement – Drupal 社区参与
Drupal Community Involvement – Drupal 社区参与
 
Fastest Way to DRUPAL
Fastest Way to DRUPALFastest Way to DRUPAL
Fastest Way to DRUPAL
 
Promet.manila2011.selling drupal.
Promet.manila2011.selling drupal.Promet.manila2011.selling drupal.
Promet.manila2011.selling drupal.
 
Forensic Theming - DrupalCon London
Forensic Theming - DrupalCon LondonForensic Theming - DrupalCon London
Forensic Theming - DrupalCon London
 

More from Marcus Deglos

Drupal feature proposal: two new stream-wrappers
Drupal feature proposal: two new stream-wrappersDrupal feature proposal: two new stream-wrappers
Drupal feature proposal: two new stream-wrappersMarcus Deglos
 
Performance all teh things
Performance all teh thingsPerformance all teh things
Performance all teh thingsMarcus Deglos
 
Vagrant crash course
Vagrant crash courseVagrant crash course
Vagrant crash courseMarcus Deglos
 
Drupal, varnish, esi - Toulouse November 2
Drupal, varnish, esi - Toulouse November 2Drupal, varnish, esi - Toulouse November 2
Drupal, varnish, esi - Toulouse November 2Marcus Deglos
 
Speeding Up The Snail
Speeding Up The SnailSpeeding Up The Snail
Speeding Up The SnailMarcus Deglos
 

More from Marcus Deglos (10)

Drupal feature proposal: two new stream-wrappers
Drupal feature proposal: two new stream-wrappersDrupal feature proposal: two new stream-wrappers
Drupal feature proposal: two new stream-wrappers
 
Performance all teh things
Performance all teh thingsPerformance all teh things
Performance all teh things
 
Vagrant crash course
Vagrant crash courseVagrant crash course
Vagrant crash course
 
Drupal, varnish, esi - Toulouse November 2
Drupal, varnish, esi - Toulouse November 2Drupal, varnish, esi - Toulouse November 2
Drupal, varnish, esi - Toulouse November 2
 
With one click
With one clickWith one click
With one click
 
Panels rocks!
Panels rocks!Panels rocks!
Panels rocks!
 
Varnish bof
Varnish bofVarnish bof
Varnish bof
 
SSO To go
SSO To goSSO To go
SSO To go
 
Where in the world
Where in the worldWhere in the world
Where in the world
 
Speeding Up The Snail
Speeding Up The SnailSpeeding Up The Snail
Speeding Up The Snail
 

Recently uploaded

costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 

Recently uploaded (20)

costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 

Drupal haters gonna hate

  • 1. Drupal Haters Gonna Hate Drupal Haters? You’re all hypocrites.
  • 2. Drupal Haters Gonna Hate I work with Drupal.
  • 4. Drupal Haters Gonna Hate LETS TALK ABOUT PHP.
  • 5. Drupal Haters Gonna Hate Ewww, you use PHP? I thought you were cool!
  • 6. Drupal Haters Gonna Hate All the APIs are execrable.
  • 7. Drupal Haters Gonna Hate All the PHP code I’ve seen has been messy, unmaintainable crap. Spaghetti SQL wrapped in spaghetti PHP wrapped in spaghetti HTML.
  • 8. Drupal Haters Gonna Hate The term “good PHP programmer” is considered an oxymoron.
  • 9. Drupal Haters Gonna Hate SOUND FAMILIAR?
  • 10. Drupal Haters Gonna Hate WHERE DOES THIS ATTITUDE COME FROM?
  • 11. Drupal Haters Gonna Hate Low barrier to writing or re- deploying code.
  • 12. Drupal Haters Gonna Hate Lots of tutorials, which omit best-practice in order to simplify the example.
  • 13. Drupal Haters Gonna Hate THE COUNTER-ARGUMENT.
  • 14. Drupal Haters Gonna Hate The language you use is much less important than the platform you build on it.
  • 15. Drupal Haters Gonna Hate There’s a long list of sites that bust that myth… …Facebook?
  • 16. Drupal Haters Gonna Hate DRUPAL IS BAD…MKKK?
  • 17. Drupal Haters Gonna Hate • Not OOP • Learning curve is crazy • It’s SLOW • Simple, naive
  • 18. Drupal Haters Gonna Hate Not OOP? • Drupal uses a coding-pattern we call hooks. It’s essentially an implementation of the observer/visitor design patterns. • The menu-router is basically a front-controller. • It’s not MVC? The business logic is decoupled from the presentation logic through the theme layer…it’s not MVC, it’s PAC (Presentation-Abstraction Control). • The implementations for database, caching, and other tasks are pluggable. • Modules such as panels use DI. • (Oh, PHP isn’t OOP either, right?)
  • 19. Drupal Haters Gonna Hate Learning curve is crazy?
  • 22. Drupal Haters Gonna Hate Learning curve is crazy?
  • 23. Drupal Haters Gonna Hate Learning curve is crazy? • A Cessna is a simple plane. Small, single-prop, it’s a plane to learn on. When you’re qualified, you can fly pretty much any small single-prop. • When you qualify on an A-380, you’re certified to fly an A-380. You can’t fly another airbus on that licence. You can’t fly a Boeing. • You need to re-certify for each different plane.
  • 24. Drupal Haters Gonna Hate Learning curve is crazy? • PHP is a simple language. When you can write PHP, you can work with any small, simple PHP framework or site. • When you’re knowledgeable and experienced with Zend Framework, can build great Zend Framework sites. You can’t dive into a Symfony project. You can’t dive into a Drupal project. • You need to re-learn for each framework.
  • 25. Drupal Haters Gonna Hate It’s SLOW?
  • 26. Drupal Haters Gonna Hate It’s slow? • Drupal is expected to work out of the box on shared hosting. • It uses the database as a cache. I know, right?
  • 27. Drupal Haters Gonna Hate It’s slow? • We already know how to make sites perform: memcache, varnish, APC, CDNs…use them. • Learn which Drupal configurations have a material impact on performance. • Learn how to leverage the caching APIs in the modules you develop. • Benchmark and profile.
  • 28. Drupal Haters Gonna Hate It’s slow? • You’re all professional developers. • You already have the knowledge and experience to know how to make a platform perform and scale. • Drupal already supports the same standard practices and tools that you’ll find in the PHP community.
  • 29. Drupal Haters Gonna Hate It’s simple, naive? DB You’re expecting Web this? server
  • 30. Drupal Haters Gonna Hate HA Proxy HA Proxy Last year, I worked on Zeus Zeus this Drupal- Varnish Varnish based Web Web platform. Memcache LDAP SOLR ESB NAS/SAN DB (master) DB (slave)
  • 31. Drupal Haters Gonna Hate DRUPAL: THE GOOD PARTS.
  • 32. Drupal Haters Gonna Hate Who’s using Drupal? • The White House • Warner Music • Turner Media • Al Jazeera • Twitter • Apple
  • 33. Drupal Haters Gonna Hate Who’s building with Drupal? • Global SIs: Capita, Capgemini, Accenture… • Acquia – founded by Dries. “America’s top one-hundred most promising companies” – Forbes. • Ixis – PHPNW Sponsor
  • 34. Drupal Haters Gonna Hate Joining the Drupal community • DUGs NWDUG meet on the first Wednesday of every month in Manchester. • Camps Drupalcamp NW: 23-25 November 2012. • Conferences 3 Drupalcons in 2013: Sydney, Portland, Prague. • IRC #drupal-uk, #drupal-support
  • 36. Drupal Haters Gonna Hate WHERE IS DRUPAL GOING?
  • 37. Drupal Haters Gonna Hate Drupal release schedule 2 01 2 2008 2009 2 01 4 2007 2 01 3 2 01 1 2 010 Retired Drupal 5 Jan 2011 Drupal 6 Drupal 7 Drupal 8 Expected mid-2013
  • 38. Drupal Haters Gonna Hate What’s happening Drupal 8? • Configuration management • Web services • Design • Multi-lingual • HTML 5 http://groups.drupal.org/ • Mobile drupal-initiatives
  • 39. Drupal Haters Gonna Hate What’s happening in Drupal 8? • Integrating a number of Symfony components • HTTPKernel and caching kernel • Twig • Composer? • YAML configuration
  • 40. Drupal Haters Gonna Hate FINAL MESSAGE
  • 41. Drupal Haters Gonna Hate Before you jump on that bandwagon thinking nothing interesting could possibly be done with Drupal, remember the FUD levelled at PHP. You might be missing out on something great.
  • 42. Drupal Haters Gonna Hate Picture attributions • Haters gonna hate eagle Eric J. Lubbers • Cessna Photobunny • Drupalcon Munich group photo Drupal Association
  • 43. Drupal Haters Gonna Hate Thank you!  Marcus Deglos  @manarth  http://deglos.com/  marcus@deglos.com