Skip to content
Benchmarking onboarding experience with a variety of local Drupal development environments.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
methods
tests
.gitignore
.travis.yml
LICENSE
README.md

README.md

Drupal, the Fastest

Build Status

At DrupalCon Nashville 2018, I became deeply interested in the realm of first-time Drupal experiences, specifically around technical evaluation, and how people would get their feet wet with Drupal.

There are a number of different tools people can use to run a new Drupal installation, but documentation and ease of use for beginners is all over the place. The intention of this project is to highlight the most stable, simple, and popular ways to get a Drupal site installed and running for testing or site building, and measure a few benchmarks to help determine which one(s) might be best for Drupal newcomers.

For reference, here's a spreadsheet I maintain of all the community-maintained local Drupal development environment tools I've heard of.

Methods

If the method is linked to a local build script, there is an automated build process that can be easily measured in terms of complexity, dependencies, and time required to build (basically, go from no Drupal to Drupal 8 site installed and accessible in the browser).

  1. drupal-quick-start.sh: Download Drupal and run a local environment with PHP and SQLite using Drupal core's quick-start.
  2. composer-drupal-vm.sh: Drupal Composer Project and Drupal VM Docker Composer Plugin.
  3. lando.sh: Download Drupal and run a local environment with Lando.
  4. drupal-vm-composer.sh: Drupal VM, Vagrant, and VirtualBox, with Drupal Composer Project.
  5. ddev-local.sh: Download Drupal and run a local environment with DDEV Local.
  6. docksal.sh: Run a local environment with Docksal.
  7. SimplyTest.me.

The intention here is to make as automated a build process per tool as possible, so anyone can re-verify both the build process and the complexity and time taken for each.

Test Philosophy

There is no one reliable way to measure "what is the [best|fastest|most efficient]" local development tool for Drupal. However, I define a basic set of tasks which apply universally and are consistently measurable across any of the tools available:

  1. Download and install dependencies (for things like VirtualBox or Docker CE, I discount the time involved downloading and installing them to be more consistent across modern environment tools).
  2. Download Drupal (or create codebase with Composer).
  3. Download the development environment tool (and install it if necessary).
  4. Start the local development environment.
  5. Install Drupal (either with drush site-install or an inbuilt method).
  6. Load the home page.

The scripts included with this repository are all meant to do the above process, end-to-end, repeatably, and ideally fully automated within Travis CI so there is little variance from workstation to workstation (e.g. I have a fast 2016 MacBook Pro with high speed Internet, but maybe someone else has an older PC with really slow Internet—that greatly affects benchmarking!).

Results

Current as of: April 12, 2018

Tool Name Time to build Required Dependencies Steps Environment
Drupal quick-start 02:00 2 3 Travis CI
Composer with Drupal VM Docker 05:53 3 4 Travis CI
Drupal with Lando 03:01 1 7 Travis CI
Drupal VM with Vagrant and Composer 08:33 3 2 MacBook Pro
Drupal with DDEV Local 02:30 1 6 Travis CI
Drupal with Docksal 02:39 1 5 Travis CI
SimplyTest.me 01:22 0 1 Cloud

License

This project is licensed under the MIT open source license.

About the Author

Jeff Geerling created the Drupal, the Fastest in 2018 to evaluate the Drupal evaluator experience.

You can’t perform that action at this time.