Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it
Upcoming SlideShare
Loading in...5
×
 

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

on

  • 1,008 views

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 ...

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.

Statistics

Views

Total Views
1,008
Views on SlideShare
990
Embed Views
18

Actions

Likes
1
Downloads
1
Comments
0

2 Embeds 18

https://twitter.com 17
http://www.slideee.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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 it Presentation Transcript

  • @weaverryan
  • PHP Tutorial Screencasts Drupal 8: Huge wins, a Bigger Community, & 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!
  • ! ! ! ! ! ! • 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!
  • 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
  • Intro ! PHP Before Now (The Desert of the Real)
  • (1) ! Sharing and working together was impossible
  • https://www.flickr.com/photos/rossap/805947613 Every PHP Framework, CMS and Project builds everything from scratch
  • Sharing was nearly impossible
  • http://garfieldtech.com/presentations/sunshinephp2014-php-pie
  • (2) ! If PHP is big, we’ll thrive If PHP is small, we’ll die
  • @weaverryan Communities PHP is HUGE! Right? http://www.flickr.com/photos/kitty-kat/
  • @weaverryan PHP > Ruby
  • @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
  • @weaverryan PHP projects vs Rails
  • @weaverryan CakePHP I don’t want a damned CakePHP Plugin!
  • @weaverryan CakePHP CodeIgniter I want a PHP library I can use in any project
  • @weaverryan Fragmentation • More information we have to know ! • Difficult to hire ! • Disjointed forums, StackOverflow ! • Interoperability? What’s that?
  • Chapter 1 ! Drupal is PHP PHP is Drupal
  • PHP is in the middle of a Renaissance https://www.flickr.com/photos/kafkapie/3761271639
  • http://knowyourmeme.com/photos/5713-copypasta http://garfieldtech.com/presentations/sunshinephp2014-php-pie
  • • Shares code ! • works together ! • uses consistent standards ! • projects are interoperable Now: The Community @weaverryan
  • Drupal has missed all of the progress… until now @weaverryan
  • Drupal 8 embraces the new tools and standards…
  • … and has joined the PHP community as a member and leader @weaverryan
  • @weaverryan
  • Chapter 2 ! Drupal 8: New Libraries https://www.flickr.com/photos/spam/5086168739
  • Drupal 7: ! drupal_http_request()
  • “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
  • Drupal 8’s HTTP client is *incredible*
  • It has been developed for over 3 years @weaverryan
  • Has 2000+ commits @weaverryan
  • Was entirely sponsored by Amazon @weaverryan
  • And Drupal developers
 didn’t need to waste any
 time making it! @weaverryan
  • Meet Guzzle! An independent PHP library that’s great at making HTTP requests
  • 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
  • Drupal 8:
 
 What fantastic libraries do you get for no effort?
  • 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
  • Assetic • JavaScript and CSS processing,
 minifying and compiling library
 • Used in the Symfony Framework
 and other places http://www.cameronhillphotography.com/@weaverryan
  • • Templating engine used for
 Drupal 8 theming
 • Built by 163 contributors, 
 with 2000 commits over 
 5 years and 63 releases Twig Loved by:
  • • High-Quality library for reading and
 writing RSS and ATOM feeds
 • Written by someone else (score!)
 • A large chapter of already-written
 documentation Zend Feed @weaverryan
  • And Finally…
  • Symfony Components
  • Symfony is just a collection of decoupled PHP libraries
  • Symfony libraries in Drupal • ClassLoader • Debug • DependencyInjection • EventDispatcher • HttpFoundation • HttpKernel • Process • PropertyAccess • Routing • Serializer • Translation • Validator • Yaml
  • These are just tools that Drupal uses, instead of writing everything from scratch
  • Drupal 7 ! “There’s a module for that” … and if there’s not, the Drupal community must write one @weaverryan
  • PHP Drupal 7 @weaverryan
  • Drupal 8 ! “There’s a PHP library for that” … and if there’s not, the entire PHP community can work on it together @weaverryan
  • Drupal 8 Drupal 7 @weaverryan
  • Chapter 3 ! Drupal 8: Hard to Learn? https://www.flickr.com/photos/83633410@N07/7658254172
  • Drupal 8 is much more object-oriented
  • Difficult to Learn? Drupal 7 Deep Arrays Drupal 8 Objectsvs. @weaverryan
  • @weaverryan Drupal 7
  • @weaverryan Drupal 8
  • @weaverryan Drupal 7
  • Drupal 8
  • 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 andYAML @weaverryan
  • 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
  • Bonus
  • Knowing Drupal 8 means ! Knowing Silex
  • Use the same skills to build a CMS or a custom application
  • If you know Drupal ! you understand Symfony or Drufony @weaverryan
  • If you know Symfony ! you understand Drupal or Symfal @weaverryan
  • 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
  • Chapter 4 ! New Paradigms mean New Possibilities https://www.flickr.com/photos/nasamarshall/6731872025
  • New Paradigms • Object-Oriented Code
 • Interfaces
 • Dependency Injection
 • Composer
 • Namespaces @weaverryan
  • Possible in Drupal 8 Completely replace any part of core. That’s supported natively
  • Possible in Drupal 8 Easier Future Upgrades
  • Possible in Drupal 8 Add/Remove entire systems and create distributions
  • Drupal for Blogging? Include Entity/Field, Views Remove Most admin features Focus Node Posting System
  • No blocks CMS Remove Blocks Focus Use only Twig for theming/ layout
  • Syndication CMS Include Atom/RSS syndication Remove All concepts of content beyond feeds Focus Process and serve feeds
  • One Drupal cannot work perfectly for everyone https://www.flickr.com/photos/generalnoir/391009102
  • But many Drupals is now possible https://www.flickr.com/photos/hjmediastudios/7883634326
  • One Technology used for many platforms?
  • 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
  • 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
  • Will this happen? ! It’s up to the community, but finally possible
  • Chapter 5 ! New Features/Goodies
  • My 9 Favorite things!
  • (9) ! Spark: Inline-editing
  • (8) ! Nodes available as JSON
  • (7) ! Mobile Ready: Responsive and with an API
  • Responsive!
  • (6) ! Multilingual support out of the box
  • (5) ! Views in Core (Drupal 8 with views on day 1)
  • (4) ! CKEditor in Core
  • (3) ! CMI: Configuration Management
  • Configuration Management • Configuration moved from the database
 toYAML files
 • Engineered with deployment in mind
 • Deploy configuration changes from staging
 to production
 • Put configuration into version control @weaverryan
  • (2) ! HTTP Caching (thanks to Symfony)
  • (1) ! Symfony’s Web Debug Toolbar Via a community module
  • https://drupal.org/project/webprofiler @weaverryan
  • @weaverryan https://drupal.org/project/webprofiler
  • @weaverryan https://drupal.org/project/webprofiler
  • @weaverryan https://drupal.org/project/webprofiler
  • @weaverryan https://drupal.org/project/webprofiler
  • https://drupal.org/project/webprofiler
  • Are you excited for Drupal 8 yet?!?
  • Chapter 6 ! Doing things the Drupal 7 way
  • The Revolutionary Tape Player http://en.wikipedia.org/wiki/Cassette_deck
  • http://www.amazon.ca/MAXELL-MDV-RW1-Cassette-Rewinder/dp/B00006HOEF Would you start a company in 2014 that sold Walkman accessories?
  • PHP 4
  • Would you write a PHP 4 book today? http://www.amazon.co.uk/Beginning-PHP4-Programmer-Wankyu-Choi/dp/0764543644
  • Would you build a new CMS on PHP 4?
  • Drupal 7 is a CMS built on PHP 4 technology
  • 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
  • Drupal 7 is good, but we can’t keep doing things the Drupal 7 way forever
  • Drupal 8: ! Innovate away from old technolog, or die with it
  • Drupal 8 chooses to Innovate
  • A Stronger Community
  • Higher Quality Features
  • New Skills for You
  • More Tools for You
  • New Possibilities
  • PHP Tutorial Screencasts Ryan Weaver @weaverryan ¡Gracias!
  • @weaveryan @KnpUniversity