Local Development Options

(With a focus on Drupal)

Levi Sigworth (wheatpenny) / @levisigworth

Your Notes

Why Local Development?

"The fun of local development is that it is a safe place to fail."

--Levi Sigworth: DrupalCamp NJ Tweet

How am I going to get my work up to a server so I can share it?

Helps to encourage development best practices.

Makes your sites more disaster resistant

Makes you more compatible with other developers

Let's look at some options

XAMPP/MAMP/WAMP

What is it?

A full development environment.

Download, install, develop.

Pros

  • Supports Windows (WAMP), Mac (MAMP), and Linux (XAMPP)
  • Easy to start up (GUI)
  • Installs in a way that feels familiar

Cons

  • Not tailored for Drupal development
  • Can be challenging to upgrade

Learn more

Acquia Dev Desktop

What is it?

Similar to XAMPP/MAMP/WAMP, it is a full development environment.

Pros

  • Lots of documentation
  • GUI startup and shutdown
  • GUI for importing Drupal sites
  • Installs in a way that feels familiar
  • Tailored for Drupal development

Cons

  • Cannot be customised to your specific development environment

Learn more

https://www.acquia.com/products-services/dev-desktop

Install Your Own Stack

What is it?

Building your own development environment, from scratch

Pros

  • You're going to learn a lot.

Cons

  • You learn a lot because you have to repeatedly hit your head against a wall.

Learn more

www.drupal.org/node/157602

Vagrant

What is it?

A virtual machine that runs an entire web server.

Pros

  • Vagrant and other virtualization systems are becoming a standard within the community
  • You can become familiar with this concept while learning local development.
  • Virtualized environments can be tuned to exactly the setup that runs your live environment. No more "well, it works on my machine."

Pros

  • Someone else has set up your dev environment. Get coding instead of configuring Apache/Drush/symlinks/etc
  • Environments are upgradeable! You can rebuild your environment with new configuration.

Cons

  • Relies on the command line. However, you can turn this experience into a Pro!

Learn more

VDD Project: A vagrant configuration tuned to Drupal's needs

Levi Recommends

Are you willing to try using the command line?

Try the VDD project.

Do you want a GUI?

Try Acquia Dev Desktop.