Upload
chrisshattuck
View
380
Download
0
Tags:
Embed Size (px)
Citation preview
Darth Blogger
Darth Blogger
Backdrop
Backdrop
?
1 The Competition
(Project Realtime)
http://plnkr.co
http://vimeo.com/36579366 Live Coding - Bret Victor
MEAN Stack
MongoDB Express.js Angular.js
Node.js
Drupal Stack
Apache MySQL
PHPJavaScript
jQuery Symfony
Apache (C++) MySQL
PHPJavaScript
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
PHPJavaScript
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 comments57 points of comparison
https://groups.drupal.org/node/313068
Realtime application building Realtime interaction DRY to the extreme
(Do not Repeat Yourself)
One language = Faster to learn 2-50x faster on the server
The Competition
Drupal
Project Realtime
2 The Incumbent
(i.e. Drupal!)
5…6…7…82007
20082011
2015
28% of Universitieshttp://w3techs.com/technologies/segmentation/tld-edu-/content_management
150 Governmentshttps://groups.drupal.org/government-sites
23 Fortune 500 Main Siteshttp://www.zyxware.com/articles/4351/list-of-fortune-500-companies-using-drupal-for-their-websites
!
Stable release cycles
Securit
y + bug fixes
Securit
y + bug fixes
Securit
y + bug fixes
People use Drupal
People make
Drupal bette
r People tell us w
hat’s needed
Established audience = Feedback loop
Mature community (for the most part)
Camps, Cons, User Groups Drupal Association Governance Group
Initiatives Code of Conduct Working Groups
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
Best Practices
Node.js
Angular.js
Hype Cycle is (probably) Over
TestBot
Patches require tests Over 500 tests run on every patch
Hours of man-hours saved each run 6000 runs made every month
http://qa.drupal.org
Stable releases Established audience Mature community
Automation Best practices
On the Plateau of Productivity
The Incumbent
Stable releases Established audience Mature community
Automation Best practices
On the Plateau of Productivity
Drupal
Realtime application building Realtime interaction DRY to the extreme
One language(faster to learn)
Project Realtime
Stable releases Established audience Mature community
Automation Best practices
On the Plateau of Productivity
Drupal
Realtime application building Realtime interaction DRY to the extreme
One language(faster to learn)
Project Realtime
CHANGE
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.
1. OOP 2. 3rd Party Libraries
Controversial Changes in Drupal 8
OOP?
Procedural Object-oriented
Procedural vs. 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?
Drupal
Project Realtime
Drupal
Project Realtime
Dru
pal 8 Dru
pal 8
.1.0
Dru
pal 9
Chris Shattuck @chris_shattuck
Thank you, you’re awesome!
Chris Shattuck @chris_shattuck
Thank you, you’re awesome!