SlideShare a Scribd company logo
1 of 53
Download to read offline
WHEN WILL 
DRUPAL DIE? 
Chris Shattuck 
@chris_shattuck 
chris@buildamodule.com
WHEN WILL 
DRUPAL DIE? 
Chris Shattuck 
@chris_shattuck 
chris@buildamodule.com
Darth Blogger
Darth Blogger
Backdrop
Backdrop
?
1 
The Competition 
(Project Realtime)
http://plnkr.co
Live Coding - Bret Victor 
http://vimeo.com/36579366
MEAN Stack 
MongoDB 
Express.js 
Angular.js 
Node.js
Drupal Stack 
Apache 
MySQL 
PHP 
JavaScript 
jQuery 
Symfony
Apache (C++) 
MySQL 
PHP 
JavaScript 
jQuery 
Symfony 
! 
Node.js 
MongoDB 
JavaScript 
Angular.js 
Express.js 
SERVER 
DATABASE 
SERVER-SIDE LANGUAGE 
CLIENT-SIDE LANGUAGE 
CLIENT-SIDE FRAMEWORK 
SERVER-SIDE FRAMEWORK
Apache (C++) 
MySQL 
PHP 
JavaScript 
jQuery 
Symfony 
! 
Node.js 
MongoDB 
JavaScript 
Angular.js 
Express.js 
SERVER 
DATABASE 
SERVER-SIDE LANGUAGE 
CLIENT-SIDE LANGUAGE 
CLIENT-SIDE FRAMEWORK 
SERVER-SIDE FRAMEWORK 
1 
2 
3 
4 
1
Woah, only one 
language?
Meteor
(Meteor example)
Github vs. Drupal.org 
100 pages of comments 
57 points of comparison 
https://groups.drupal.org/node/313068
The Competition 
Realtime application building 
Realtime interaction 
DRY to the extreme 
(Do not Repeat Yourself) 
One language = Faster to learn 
2-50x faster on the server
Project Realtime 
Drupal
2 
The Incumbent 
(i.e. Drupal!)
Stable release cycles 
5…6…7…8 2007 
2008 
2011 
2015 
Security + bug fixes 
Security + bug fixes 
Security + bug fixes 
28% of Universities 
http://w3techs.com/technologies/segmentation/tld-edu-/content_management 
150 Governments 
https://groups.drupal.org/government-sites 
23 Fortune 500 Main Sites 
http://www.zyxware.com/articles/4351/list-of-fortune-500-companies-using-drupal-for-their-websites 
!
Established audience 
= Feedback loop 
People use Drupal 
Drupal better 
People make 
what’s needed 
People tell us
Mature community 
(for the most part) 
Camps, Cons, User Groups 
Drupal Association 
Governance Group 
Initiatives 
Code of Conduct 
Working Groups
Best Practices 
Add page programmatically 
Create a list of content 
Alter a form 
Allow manipulation 
of your code 
Share code with others 
Use hook_menu() 
Use Views 
Use hook_form_alter() 
Create an alter hook 
Share a module on D.o
Hype Cycle is (probably) Over 
Node.js 
Angular.js
TestBot 
http://qa.drupal.org 
Patches require tests 
Over 500 tests run on every patch 
Hours of man-hours saved each run 
6000 runs made every month
The Incumbent 
Stable releases 
Established audience 
Mature community 
Automation 
Best practices 
On the Plateau of Productivity
Drupal 
Stable releases 
Project Realtime 
Realtime application building 
Established audience 
Mature community 
Automation 
Best practices 
Realtime interaction 
DRY to the extreme 
On the Plateau of Productivity 
One language 
(faster to learn)
Project Realtime 
CHANGE 
Drupal 
Stable releases 
Realtime application building 
Established audience 
Mature community 
Automation 
Best practices 
Realtime interaction 
DRY to the extreme 
On the Plateau of Productivity 
One language 
(faster to learn)
The problem with big changes is that 
they’re hard to understand. 
Big changes probably have to be 
made to stay relevant. 
Big changes won’t happen if the 
community doesn’t support it.
Controversial Changes 
in Drupal 8 
1. OOP 
2. 3rd Party Libraries
OOP?
Procedural vs. Object-oriented 
Procedural Object-oriented
OOP Benefits: 
1. Clearer interfaces 
2. Unit testing 
3. Greater complexity can be managed 
4. Components are more re-usable 
5. Community of users grows
The cost of OOP 
1. Re-training of the Drupal developer 
community 
2. Added complexity in the short-term
3rd Party Libraries
composer.json file from Drupal 8
3rd Party Library Benefits: 
1. Less Drupal-specific code to manage 
2. More sharing between communities
The cost of 3rd Party 
Libraries 
1. Dashing away of the work of core 
developers 
2. Dependency on other communities 
3. Changes have to be approved by 
library owners
The End User 
Workflow 
Step 1: Copy and paste from example code until it 
works. 
Step 2: Memorize certain patterns enough to 
write code from memory. 
Step 3: Learn more about the underlying 
structures when needed.
Is Drupal Doomed?
What is Drupal? 
Are we still Drupal if we use OOP? 
Are we still Drupal if we use Symfony? 
Are we still Drupal if we convert all our PHP 
to JavaScript and use Node.js? 
Are we still Drupal if it becomes much 
harder to contribute?
When will Drupal die? 
Are big changes needed to manage Drupal’s 
growing complexity? 
Are big changes needed to keep Drupal 
relevant to the users it currently serves? 
Will we be able to make big changes with 
the support of the community in the future?
Project Realtime 
Drupal
Drupal 
Project Realtime 
Drupal 8 
Drupal 8.1.0 
Drupal 9
Thank you, 
you’re awesome! 
Chris Shattuck 
@chris_shattuck 
chris@buildamodule.com
Thank you, 
you’re awesome! 
Chris Shattuck 
@chris_shattuck 
chris@buildamodule.com

More Related Content

What's hot

What's hot (11)

Golang Microservices meetup
Golang Microservices meetupGolang Microservices meetup
Golang Microservices meetup
 
Future of Grails
Future of GrailsFuture of Grails
Future of Grails
 
How Perl Changed My Life
How Perl Changed My LifeHow Perl Changed My Life
How Perl Changed My Life
 
FrontBox - what frontend web development is? Let's discover ReactJS!
FrontBox - what frontend web development is? Let's discover ReactJS!FrontBox - what frontend web development is? Let's discover ReactJS!
FrontBox - what frontend web development is? Let's discover ReactJS!
 
Let's Git Together! - Hacktoberfest 2020
Let's Git Together! - Hacktoberfest 2020Let's Git Together! - Hacktoberfest 2020
Let's Git Together! - Hacktoberfest 2020
 
Kotlin & Swift
Kotlin & SwiftKotlin & Swift
Kotlin & Swift
 
Hacktoberfest slides
Hacktoberfest slidesHacktoberfest slides
Hacktoberfest slides
 
Introduction to git and gitgub
Introduction to git and gitgubIntroduction to git and gitgub
Introduction to git and gitgub
 
Surgeons guide plugin development
Surgeons guide plugin developmentSurgeons guide plugin development
Surgeons guide plugin development
 
Contributing to Open Source #Hacktoberfest
Contributing to Open Source #HacktoberfestContributing to Open Source #Hacktoberfest
Contributing to Open Source #Hacktoberfest
 
Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...
Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...
Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...
 

Similar to When Will Drupal Die? Keynote talk from Bay Area Drupal Camp 2014

Исполнение JS на сервере при масштабировании - что может пойти не так, Brian ...
Исполнение JS на сервере при масштабировании - что может пойти не так, Brian ...Исполнение JS на сервере при масштабировании - что может пойти не так, Brian ...
Исполнение JS на сервере при масштабировании - что может пойти не так, Brian ...
Ontico
 
When Will Drupal Die?
When Will Drupal Die?When Will Drupal Die?
When Will Drupal Die?
chrisshattuck
 
Hadoop at Yahoo! -- University Talks
Hadoop at Yahoo! -- University TalksHadoop at Yahoo! -- University Talks
Hadoop at Yahoo! -- University Talks
yhadoop
 
Evolving Your Distributed Cache In A Continuous Delivery World: Tyler Vangorder
Evolving Your Distributed Cache In A Continuous Delivery World: Tyler VangorderEvolving Your Distributed Cache In A Continuous Delivery World: Tyler Vangorder
Evolving Your Distributed Cache In A Continuous Delivery World: Tyler Vangorder
Redis Labs
 

Similar to When Will Drupal Die? Keynote talk from Bay Area Drupal Camp 2014 (20)

When Will Drupal Die? (Keynote talk)
When Will Drupal Die? (Keynote talk)When Will Drupal Die? (Keynote talk)
When Will Drupal Die? (Keynote talk)
 
Dean4j@Njug5
Dean4j@Njug5Dean4j@Njug5
Dean4j@Njug5
 
Open event (show&tell april 2016)
Open event (show&tell april 2016)Open event (show&tell april 2016)
Open event (show&tell april 2016)
 
Исполнение JS на сервере при масштабировании - что может пойти не так, Brian ...
Исполнение JS на сервере при масштабировании - что может пойти не так, Brian ...Исполнение JS на сервере при масштабировании - что может пойти не так, Brian ...
Исполнение JS на сервере при масштабировании - что может пойти не так, Brian ...
 
Top 10 web development tools in 2022
Top 10 web development tools in 2022Top 10 web development tools in 2022
Top 10 web development tools in 2022
 
What Web Framework To Use?
What Web Framework To Use?What Web Framework To Use?
What Web Framework To Use?
 
When Will Drupal Die?
When Will Drupal Die?When Will Drupal Die?
When Will Drupal Die?
 
Java And Community Support
Java And Community SupportJava And Community Support
Java And Community Support
 
OSA Con 2022 - What Data Engineering Can Learn from Frontend Engineering - Pe...
OSA Con 2022 - What Data Engineering Can Learn from Frontend Engineering - Pe...OSA Con 2022 - What Data Engineering Can Learn from Frontend Engineering - Pe...
OSA Con 2022 - What Data Engineering Can Learn from Frontend Engineering - Pe...
 
Hadoop at Yahoo! -- University Talks
Hadoop at Yahoo! -- University TalksHadoop at Yahoo! -- University Talks
Hadoop at Yahoo! -- University Talks
 
Introduction to Go
Introduction to GoIntroduction to Go
Introduction to Go
 
Angular 2 vs React. What to chose in 2017?
Angular 2 vs React. What to chose in 2017?Angular 2 vs React. What to chose in 2017?
Angular 2 vs React. What to chose in 2017?
 
Docker Enables DevOps - Boston
Docker Enables DevOps - BostonDocker Enables DevOps - Boston
Docker Enables DevOps - Boston
 
Build Community Android Distribution and Ensure the Quality
Build Community Android Distribution and Ensure the QualityBuild Community Android Distribution and Ensure the Quality
Build Community Android Distribution and Ensure the Quality
 
Fed Up Of Framework Hype Dcphp
Fed Up Of Framework Hype DcphpFed Up Of Framework Hype Dcphp
Fed Up Of Framework Hype Dcphp
 
Liferay DevCon 2014: Lliferay Platform - A new and exciting vision
Liferay DevCon 2014: Lliferay Platform - A new and exciting visionLiferay DevCon 2014: Lliferay Platform - A new and exciting vision
Liferay DevCon 2014: Lliferay Platform - A new and exciting vision
 
2017 03 25 Microsoft Hacks, How to code efficiently
2017 03 25 Microsoft Hacks, How to code efficiently2017 03 25 Microsoft Hacks, How to code efficiently
2017 03 25 Microsoft Hacks, How to code efficiently
 
Evolving Your Distributed Cache In A Continuous Delivery World: Tyler Vangorder
Evolving Your Distributed Cache In A Continuous Delivery World: Tyler VangorderEvolving Your Distributed Cache In A Continuous Delivery World: Tyler Vangorder
Evolving Your Distributed Cache In A Continuous Delivery World: Tyler Vangorder
 
We need revisions and CRAP everywhere in Drupal core
We need revisions and CRAP everywhere in Drupal coreWe need revisions and CRAP everywhere in Drupal core
We need revisions and CRAP everywhere in Drupal core
 
Building Websites of the Future With Drupal 7
Building Websites of the Future With Drupal 7Building Websites of the Future With Drupal 7
Building Websites of the Future With Drupal 7
 

More from chrisshattuck

Mentored training-intro-slides
Mentored training-intro-slidesMentored training-intro-slides
Mentored training-intro-slides
chrisshattuck
 
Powering a Lean Startup With Drupal V.1
Powering a Lean Startup With Drupal V.1Powering a Lean Startup With Drupal V.1
Powering a Lean Startup With Drupal V.1
chrisshattuck
 
Everything I Know About Making Money and Being Happy as a Freelancer
Everything I Know About Making Money and Being Happy as a FreelancerEverything I Know About Making Money and Being Happy as a Freelancer
Everything I Know About Making Money and Being Happy as a Freelancer
chrisshattuck
 
Victoria BC Drupalcamp Presentation - Drupal Development Evolved!
Victoria BC Drupalcamp Presentation - Drupal Development Evolved!Victoria BC Drupalcamp Presentation - Drupal Development Evolved!
Victoria BC Drupalcamp Presentation - Drupal Development Evolved!
chrisshattuck
 

More from chrisshattuck (10)

Unrestricted Play - Boise Play Lab Presentation
Unrestricted Play - Boise Play Lab PresentationUnrestricted Play - Boise Play Lab Presentation
Unrestricted Play - Boise Play Lab Presentation
 
Mentored training intro slides - BadCamp 2014
Mentored training intro slides - BadCamp 2014Mentored training intro slides - BadCamp 2014
Mentored training intro slides - BadCamp 2014
 
DrupalCon Austin BuildAModule Training "Drupal For Beginners" Introduction Sl...
DrupalCon Austin BuildAModule Training "Drupal For Beginners" Introduction Sl...DrupalCon Austin BuildAModule Training "Drupal For Beginners" Introduction Sl...
DrupalCon Austin BuildAModule Training "Drupal For Beginners" Introduction Sl...
 
Mentored training-intro-slides
Mentored training-intro-slidesMentored training-intro-slides
Mentored training-intro-slides
 
Powering a Lean Startup With Drupal V.1
Powering a Lean Startup With Drupal V.1Powering a Lean Startup With Drupal V.1
Powering a Lean Startup With Drupal V.1
 
Everything I Know About Making Money and Being Happy as a Freelancer
Everything I Know About Making Money and Being Happy as a FreelancerEverything I Know About Making Money and Being Happy as a Freelancer
Everything I Know About Making Money and Being Happy as a Freelancer
 
Drupal Kick Butt
Drupal Kick ButtDrupal Kick Butt
Drupal Kick Butt
 
Drupal Development Security Essentials
Drupal Development Security EssentialsDrupal Development Security Essentials
Drupal Development Security Essentials
 
Victoria BC Drupalcamp Presentation - Drupal Development Evolved!
Victoria BC Drupalcamp Presentation - Drupal Development Evolved!Victoria BC Drupalcamp Presentation - Drupal Development Evolved!
Victoria BC Drupalcamp Presentation - Drupal Development Evolved!
 
Plugging Into The Drupal Community - Essential Tools
Plugging Into The Drupal Community - Essential ToolsPlugging Into The Drupal Community - Essential Tools
Plugging Into The Drupal Community - Essential Tools
 

Recently uploaded

Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
UXDXConf
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
FIDO Alliance
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
FIDO Alliance
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
FIDO Alliance
 

Recently uploaded (20)

The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
 
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The InsideCollecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
 
Your enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4jYour enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4j
 
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
 

When Will Drupal Die? Keynote talk from Bay Area Drupal Camp 2014

  • 1. WHEN WILL DRUPAL DIE? Chris Shattuck @chris_shattuck chris@buildamodule.com
  • 2. WHEN WILL DRUPAL DIE? Chris Shattuck @chris_shattuck chris@buildamodule.com
  • 7. ?
  • 8. 1 The Competition (Project Realtime)
  • 9.
  • 11. Live Coding - Bret Victor http://vimeo.com/36579366
  • 12. MEAN Stack MongoDB Express.js Angular.js Node.js
  • 13. Drupal Stack Apache MySQL PHP JavaScript jQuery Symfony
  • 14. Apache (C++) MySQL PHP JavaScript jQuery Symfony ! Node.js MongoDB JavaScript Angular.js Express.js SERVER DATABASE SERVER-SIDE LANGUAGE CLIENT-SIDE LANGUAGE CLIENT-SIDE FRAMEWORK SERVER-SIDE FRAMEWORK
  • 15. Apache (C++) MySQL PHP JavaScript jQuery Symfony ! Node.js MongoDB JavaScript Angular.js Express.js SERVER DATABASE SERVER-SIDE LANGUAGE CLIENT-SIDE LANGUAGE CLIENT-SIDE FRAMEWORK SERVER-SIDE FRAMEWORK 1 2 3 4 1
  • 16. Woah, only one language?
  • 19.
  • 20. Github vs. Drupal.org 100 pages of comments 57 points of comparison https://groups.drupal.org/node/313068
  • 21. The Competition Realtime application building Realtime interaction DRY to the extreme (Do not Repeat Yourself) One language = Faster to learn 2-50x faster on the server
  • 23. 2 The Incumbent (i.e. Drupal!)
  • 24. Stable release cycles 5…6…7…8 2007 2008 2011 2015 Security + bug fixes Security + bug fixes Security + bug fixes 28% of Universities http://w3techs.com/technologies/segmentation/tld-edu-/content_management 150 Governments https://groups.drupal.org/government-sites 23 Fortune 500 Main Sites http://www.zyxware.com/articles/4351/list-of-fortune-500-companies-using-drupal-for-their-websites !
  • 25. Established audience = Feedback loop People use Drupal Drupal better People make what’s needed People tell us
  • 26. Mature community (for the most part) Camps, Cons, User Groups Drupal Association Governance Group Initiatives Code of Conduct Working Groups
  • 27. Best Practices Add page programmatically Create a list of content Alter a form Allow manipulation of your code Share code with others Use hook_menu() Use Views Use hook_form_alter() Create an alter hook Share a module on D.o
  • 28. Hype Cycle is (probably) Over Node.js Angular.js
  • 29. TestBot http://qa.drupal.org Patches require tests Over 500 tests run on every patch Hours of man-hours saved each run 6000 runs made every month
  • 30. The Incumbent Stable releases Established audience Mature community Automation Best practices On the Plateau of Productivity
  • 31. Drupal Stable releases Project Realtime Realtime application building Established audience Mature community Automation Best practices Realtime interaction DRY to the extreme On the Plateau of Productivity One language (faster to learn)
  • 32. Project Realtime CHANGE Drupal Stable releases Realtime application building Established audience Mature community Automation Best practices Realtime interaction DRY to the extreme On the Plateau of Productivity One language (faster to learn)
  • 33. The problem with big changes is that they’re hard to understand. Big changes probably have to be made to stay relevant. Big changes won’t happen if the community doesn’t support it.
  • 34. Controversial Changes in Drupal 8 1. OOP 2. 3rd Party Libraries
  • 35. OOP?
  • 36. Procedural vs. Object-oriented Procedural Object-oriented
  • 37. OOP Benefits: 1. Clearer interfaces 2. Unit testing 3. Greater complexity can be managed 4. Components are more re-usable 5. Community of users grows
  • 38. The cost of OOP 1. Re-training of the Drupal developer community 2. Added complexity in the short-term
  • 40.
  • 41.
  • 42.
  • 44. 3rd Party Library Benefits: 1. Less Drupal-specific code to manage 2. More sharing between communities
  • 45. The cost of 3rd Party Libraries 1. Dashing away of the work of core developers 2. Dependency on other communities 3. Changes have to be approved by library owners
  • 46. The End User Workflow Step 1: Copy and paste from example code until it works. Step 2: Memorize certain patterns enough to write code from memory. Step 3: Learn more about the underlying structures when needed.
  • 48. What is Drupal? Are we still Drupal if we use OOP? Are we still Drupal if we use Symfony? Are we still Drupal if we convert all our PHP to JavaScript and use Node.js? Are we still Drupal if it becomes much harder to contribute?
  • 49. When will Drupal die? Are big changes needed to manage Drupal’s growing complexity? Are big changes needed to keep Drupal relevant to the users it currently serves? Will we be able to make big changes with the support of the community in the future?
  • 51. Drupal Project Realtime Drupal 8 Drupal 8.1.0 Drupal 9
  • 52. Thank you, you’re awesome! Chris Shattuck @chris_shattuck chris@buildamodule.com
  • 53. Thank you, you’re awesome! Chris Shattuck @chris_shattuck chris@buildamodule.com