drupal 8: huge wins, a bigger community, and why you (and i) will love it

119
@weaverryan

Upload: ryan-weaver

Post on 08-May-2015

2.141 views

Category:

Software


0 download

DESCRIPTION

It's true: Drupal 8 includes big and exciting changes to its core and how Drupal code is written. These include using outside PHP libraries (Guzzle, Symfony, etc) as well as embracing PHP 5.4 and object-oriented code. Scary, right? Definitely not! These changes give Drupal 8 so many "wins" and new possibilities that you're going to absolutely love it. In this keynote, we'll explore the changes together and start to realize all of the wonderful things that each will bring. These include a (much) larger community, many more libraries you can use, higher quality tools, easier future upgrades, and some fantastic new features. And because Drupal uses Symfony, you'll easily be able to use Symfony (or its little brother Silex) for any non-CMS projects. Being a great Drupal 8 developer means being a great PHP developer. Of course, Drupal 8 has its criticisms: it will be too hard for new developers to learn, or it will not be useable for smaller sites. We'll take on these concerns directly and see why they are valid, but exaggerated.

TRANSCRIPT

Page 1: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

@weaverryan

Page 2: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

PHP Tutorial Screencasts

Drupal 8: Huge wins, a Bigger Community, & why you (and I) will

love it

Page 3: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

PHP Tutorial Screencasts

knplabs.com github.com/weaverryan

• Lead contributor to the Symfony documentation !• KnpLabs US - Symfony consulting, training, Kumbaya !• Writer for KnpUniversity.com

screencasts

Buenos Dias!

Page 4: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

!

!

!

!

!!• Husband of the much more talented @leannapelham

PHP Tutorial Screencasts

knplabs.com github.com/weaverryan

• Lead contributor to the Symfony documentation !• KnpLabs US - Symfony consulting, training, Kumbaya !• Writer for KnpUniversity.com

screencasts

Buenos Dias!

Page 5: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

PHP Tutorial Screencasts

knplabs.com github.com/weaverryan

• Viví en Querétaro in 2003 for 4 months

• I spoke about 5 words of Spanish. These 5 words did not include hermano nor amigo

• Learned of the custom of kissing a women when greeting her… when a woman kissed me on the street

Querétaro

Page 6: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Intro !

PHP Before Now (The Desert of the Real)

Page 7: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

(1) !

Sharing and working together was impossible

Page 8: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

https://www.flickr.com/photos/rossap/8059476135

Every PHP Framework, CMS and Project builds everything from scratch

Page 9: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Sharing was nearly impossible

Page 10: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

http://garfieldtech.com/presentations/sunshinephp2014-php-pie

Page 11: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

(2) !

If PHP is big, we’ll thrive If PHP is small, we’ll die

Page 12: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

@weaverryan

Communities

PHP is HUGE! Right?

http://www.flickr.com/photos/kitty-kat/

Page 13: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

@weaverryan

PHP > Ruby

Page 14: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

@weaverryan http://www.flickr.com/photos/slpunk99/7329609744

Fragmentation:It makes us tiny, isolated,

and misguided trend-setters

https://www.flickr.com/photos/horiavarlan/4273913228

Page 15: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

@weaverryan

PHP projects vs Rails

Page 16: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

@weaverryan

CakePHP

I don’t want a damned CakePHP Plugin!

Page 17: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

@weaverryan

CakePHP

CodeIgniter

I want a PHP library I can use in any project

Page 18: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

@weaverryan

Fragmentation

• More information we have to know !

• Difficult to hire !

• Disjointed forums, StackOverflow !

• Interoperability? What’s that?

Page 19: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Chapter 1 !

Drupal is PHP PHP is Drupal

Page 20: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

PHP is in the middle of a Renaissance

https://www.flickr.com/photos/kafkapie/3761271639

Page 21: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

http://knowyourmeme.com/photos/5713-copypastahttp://garfieldtech.com/presentations/sunshinephp2014-php-pie

Page 22: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

• Shares code !

• works together !

• uses consistent standards !

• projects are interoperable

Now: The Community

@weaverryan

Page 23: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Drupal has missed all of the progress… until now

@weaverryan

Page 24: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Drupal 8 embraces the new tools and standards…

Page 25: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

… and has joined the PHP community as a member and leader

@weaverryan

Page 26: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

@weaverryan

Page 27: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Chapter 2 !

Drupal 8: New Libraries

https://www.flickr.com/photos/spam/5086168739

Page 28: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Drupal 7: !

drupal_http_request()

Page 29: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

“Drupal's current outgoing-HTTP capability is, to be polite,

minimal. We have one small function with a lousy API that

can do basic requests, but that's it. If we want to be serious about

web services we need strong bidirectional HTTP support.”

https://drupal.org/node/1447736

Page 30: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Drupal 8’s HTTP client is *incredible*

Page 31: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

It has been developed for over 3 years

@weaverryan

Page 32: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Has 2000+ commits

@weaverryan

Page 33: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Was entirely sponsored by Amazon

@weaverryan

Page 34: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

And Drupal developersdidn’t need to waste any

time making it!

@weaverryan

Page 35: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Meet Guzzle!

An independent PHP library that’s great at making

HTTP requests

Page 36: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

drupal_http_request Guzzle

Available Documentation comments above the function 9 chapter book

Commits ~40 ~2000

Contributors ~20 131

Used by Drupal All PHP devs

Features Some Many!

Compare & Contrast

@weaverryan

Page 37: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Drupal 8:

What fantastic libraries do you get for no effort?

Page 38: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

PHPUnit• Unit-testing library that’s used

across all of PHP

• Some cool German guy spent years building this for you!

• Core has ~5000 unit tests that run in 18 seconds

• Easily use unit tests (finally) in your project

@weaverryan

Page 39: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Assetic

• JavaScript and CSS processing,minifying and compiling library

• Used in the Symfony Frameworkand other places

http://www.cameronhillphotography.com/@weaverryan

Page 40: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

• Templating engine used forDrupal 8 theming

• Built by 163 contributors, with 2000 commits over 5 years and 63 releases

Twig

Loved by:

Page 41: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

• High-Quality library for reading andwriting RSS and ATOM feeds

• Written by someone else (score!)

• A large chapter of already-written documentation

Zend Feed

@weaverryan

Page 42: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

And Finally…

Page 43: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Symfony Components

Page 44: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Symfony is just a collection of decoupled

PHP libraries

Page 45: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Symfony libraries in Drupal

• ClassLoader • Debug • DependencyInjection • EventDispatcher • HttpFoundation • HttpKernel

• Process • PropertyAccess • Routing • Serializer • Translation • Validator • Yaml

Page 46: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

These are just tools that Drupal uses, instead of writing

everything from scratch

Page 47: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Drupal 7 !

“There’s a module for that”

… and if there’s not, the Drupal community must write one

@weaverryan

Page 48: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

PHP

Drupal 7

@weaverryan

Page 49: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Drupal 8 !

“There’s a PHP library for that”

… and if there’s not, the entire PHP community can work on it together

@weaverryan

Page 50: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Drupal 8

Drupal 7

@weaverryan

Page 51: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Chapter 3 !

Drupal 8: Hard to Learn?

https://www.flickr.com/photos/83633410@N07/7658254172

Page 52: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Drupal 8 is much more object-oriented

Page 53: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Difficult to Learn?

Drupal 7 Deep Arrays

Drupal 8 Objectsvs.

@weaverryan

Page 54: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

@weaverryan

Drupal 7

Page 55: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

@weaverryan

Drupal 8

Page 56: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

@weaverryan

Drupal 7

Page 57: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Drupal 8

Page 58: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Drupal 7

Drupal 8

• Learn Drupalisms (Drupal-specific practices) • Non-Drupal developers have a learning curve • New devs will copy and paste functions and arrays

• Learn practices used across almost all languages • Non-Drupal developers feel at home • New devs will copy and paste functions and YAML

@weaverryan

Page 59: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Drupal 8: good for you

Learn these new, highly-needed skills all at once as one big community

https://www.flickr.com/photos/aussiegall/309391023

Page 60: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Bonus

Page 61: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Knowing Drupal 8 means !

Knowing Silex

Page 62: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Use the same skills to build a CMS or a custom application

Page 63: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

If you know Drupal !

you understand Symfony

or Drufony@weaverryan

Page 64: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

If you know Symfony !

you understand Drupal

or Symfal@weaverryan

Page 65: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Hundreds of pages of documentation exist, thanks to

Symfony, Guzzle and other libraries

Drupal has a lot of work to do, but has a head-start!

Learning Drupal 8

@weaverryan

Page 66: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Chapter 4 !

New Paradigms mean New Possibilities

https://www.flickr.com/photos/nasamarshall/6731872025

Page 67: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

New Paradigms

• Object-Oriented Code

• Interfaces

• Dependency Injection

• Composer

• Namespaces

@weaverryan

Page 68: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Possible in Drupal 8

Completely replace any part of core. That’s supported natively

Page 69: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Possible in Drupal 8

Easier Future Upgrades

Page 70: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Possible in Drupal 8

Add/Remove entire systems and create

distributions

Page 71: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Drupal for Blogging?

Include Entity/Field, Views

Remove Most admin features

Focus Node Posting System

Page 72: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

No blocks CMS

Remove Blocks

Focus Use only Twig for theming/layout

Page 73: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Syndication CMS

Include Atom/RSS syndication

Remove All concepts of content beyond feeds

Focus Process and serve feeds

Page 74: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

One Drupal cannot work perfectly for everyone

https://www.flickr.com/photos/generalnoir/391009102

Page 75: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

But many Drupals is now possible

https://www.flickr.com/photos/hjmediastudios/7883634326

Page 76: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

One Technology used for many

platforms?

Page 77: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

A Proven Model

Best!Use-Case Uses Symfony?

Silex Small sites yes

Laravel Quicker medium/large sites yes

Symfony Framework

Enterprise medium/large sites yes

Drupal CMS yes

Page 78: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Drupal 8?

Best!Use-Case Uses Drupal?

Drupal Small Small sites yes

Drupal Medium Quicker medium/large sites yes

Drupal Enterprise Enterprise medium/large sites yes

Page 79: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Will this happen? !

It’s up to the community, but finally

possible

Page 80: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Chapter 5 !

New Features/Goodies

Page 81: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

My 9 Favorite things!

Page 82: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

(9) !

Spark: Inline-editing

Page 83: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it
Page 84: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

(8) !

Nodes available as JSON

Page 85: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

(7) !

Mobile Ready: Responsive and with an API

Page 86: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Responsive!

Page 87: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

(6) !

Multilingual support out of the box

Page 88: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

(5) !

Views in Core (Drupal 8 with views on day 1)

Page 89: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

(4) !

CKEditor in Core

Page 90: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it
Page 91: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

(3) !

CMI: Configuration Management

Page 92: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Configuration Management

• Configuration moved from the databaseto YAML files

• Engineered with deployment in mind

• Deploy configuration changes from stagingto production

• Put configuration into version control

@weaverryan

Page 93: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

(2) !

HTTP Caching (thanks to Symfony)

Page 94: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

(1) !

Symfony’s Web Debug Toolbar

Via a community module

Page 95: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

https://drupal.org/project/webprofiler

@weaverryan

Page 96: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

@weaverryan

https://drupal.org/project/webprofiler

Page 97: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

@weaverryan

https://drupal.org/project/webprofiler

Page 98: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

@weaverryan

https://drupal.org/project/webprofiler

Page 99: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

@weaverryan

https://drupal.org/project/webprofiler

Page 100: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

https://drupal.org/project/webprofiler

Page 101: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Are you excited for Drupal 8 yet?!?

Page 102: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Chapter 6 !

Doing things the Drupal 7 way

Page 103: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

The Revolutionary Tape Player

http://en.wikipedia.org/wiki/Cassette_deck

Page 104: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

http://www.amazon.ca/MAXELL-MDV-RW1-Cassette-Rewinder/dp/B00006HOEF

Would you start a company in 2014 that sold

Walkman accessories?

Page 105: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

PHP 4

Page 106: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Would you write a PHP 4 book

today?

http://www.amazon.co.uk/Beginning-PHP4-Programmer-Wankyu-Choi/dp/0764543644

Page 107: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Would you build a new CMS on

PHP 4?

Page 108: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Drupal 7 is a CMS built on PHP 4 technology

Page 109: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Drupal 7 Drupal 8

Technology PHP 4 (2000-2007) PHP 5.4 (2011-)

Practices Outdated, Drupal-specific Best-Practices, applicable across languages

Non-Drupal devs Code looks unfamiliar Code feels familiar

Developer Experience Arrays and hooks Interfaces, IDE code-

completion, shared code

Page 110: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Drupal 7 is good, but we can’t keep

doing things the Drupal 7 way forever

Page 111: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Drupal 8: !

Innovate away from old technolog, or die with it

Page 112: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Drupal 8 chooses to Innovate

Page 113: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

A Stronger Community

Page 114: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Higher Quality Features

Page 115: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

New Skills for You

Page 116: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

More Tools for You

Page 117: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

New Possibilities

Page 118: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

PHP Tutorial Screencasts

Ryan Weaver @weaverryan

¡Gracias!

Page 119: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

@weaveryan @KnpUniversity