Development tools overview
Use these development tools to help you create Drupal sites faster and with less effort. If you have a favorite Drupal tool that is not listed, make sure you've checked every section of this document. Still can't find your fav? Please add it using the format as other listings, similar to: Toolname (Free/Commercial. FOSS/Proprietary. OS Platforms.) - Description.
- Acquia Cloud
(Free or Commercial, corporation owned, not open source, OS limitations, continuous delivery and developer tools)
Acquia Cloud is a Drupal hosting platform and developer tool suite that aims to make Drupal developers faster and more powerful. You can sign up for free to try out most of the tools with unlimited sandboxes.
Acquia Cloud provides multiple development environments out of the box, with support for a drag-and-drop workflow on the web, a desktop GUI client, or Drush/command line integration. It also includes Insight (a set of tests to check that your site follows best practices). Different tiers include different levels of Acquia Search, Mollom anti-spam and Drupal support. Acquia was co-founded by Drupal project lead Dries Buytaert.
- Pantheon cloud
(Free or Commercial, corporation owned, not open source, no OS limitations, cloud hosting and development pipeline)
Pantheon provides instant Drupal 7 development environments hosted in the cloud. You can sign up for a free account and with one click script you get three sites, development, test and production all protected by Git version control. The sub domains are built automatically.
The control panel simplifies the Git pull and push between the sites. There is a one click site back up and site download feature. You can export sites to your own hosting environment. You can also collaborate within your team if they each sign up for a free account. Costs kick in when you want to park the sites on your own domain names. The killer feature is the command line access into the sites via SSH/ SFTP. That way you can execute commands using the built-in Drush.
Kalabox. Free. Easily integrate with your Pantheon account. Works on many versions of Linux, Mac, Windows. Includes dev tools such as Xdebug, WP-CLI, Drush, Git, Grunt, and more. Available as free and open source, or paid version.
- Aegir hosting
What makes Aegir exceptional is that some advanced work has been done to integrate it into large project 'control panels' along with other power tools like Jenkins and Vagrant. The goals of the Aegir project are ambitious. This is about as close as you will find to a complete solution to the Drupal 7 deployment, version control, everything-in-code puzzle. The project is mature and there are some excellent screencasts out there. The downside is that if you go the Aegir route you will need to invest a certain amount of time planning your Aegir infrastructure and creating the scripts to do the job the way you need. However, the rewards could be considerable a month or two into the project.
(Free, community owned and supported, open source, a true Cloud Hosting Style Solution, enterprise support available)
DevShop is a "cloud hosting" system for Drupal. DevShop makes it easy to host, develop, test and update drupal sites. It provides a front-end built in Drupal (Devmaster) and a back-end built with drush (DevShop Provision).
DevShop deploys your sites using git, and allows you to create unlimited environments for each site. DevShop makes it very easy to deploy any branch or tag to each environment
Code is deployed on push to your git repo automatically. Deploy any branch or tag to any environment. Data (the database and files) can be deployed between environments. Run the built-in hooks whenever code or data is deployed, or write your own.
Open DevShop is built on top of Aegir and proves to be a project developed with the DRY principle in mind, as it's core developers are also contributors to the Aegit project
Command line tools
Drush is one of the most popular, if not the most popular, Drupal development tool out there. Drush is the command line and scripting interface for Drupal. You can use it to speed up installing, developing and maintaining Drupal sites. It takes some getting used to, and there are a lot of commands to remember but, once you do, it is a real time saver. Rather than clicking through the admin interface to achieve something, you simply type in one command. When building Drupal sites and developing custom modules and themes, this can really help.
Drush is hosted on github: https://github.com/drush-ops/drush
- Drupal Console
The new CLI for Drupal. Drupal Console is a tool to generate boilerplate code, interact and debug Drupal. From the ground up, it has been built to utilize the same modern PHP practices which were introduced in Drupal 8.
Drupal Console has been designed to facilitate the Drupal 8 adoption while making development and interaction more efficient and enjoyable.
Landing page: https://drupalconsole.com/
- Drupal Code Generator
A simple command line code generator for Drupal.
Git is the modern version control system and has become the defacto standard for open source projects. You can use it to track changes made to files within your entire Drupal installation, or just the module or theme that you are working on. Git makes it easy to try out changes, and if necessary, revert to a previous version of your files if there is a problem.
Composer is a dependency manager for PHP, it is the standard way across many PHP projects to set requirements for external dependencies. You can use it to install and update Drupal's external dependencies.
The Drupal coding standards specify Unix-style line endings. If you inherit code that uses a different convention, the easiest tool to correct the code is dos2unix. If you develop on Linux, you will probably find it installed, or if not you can probably install it from your distribution's repository. To correct all code files in a directory and its subdirectories, cd to the top directory and use the CLI command
find -name \*|xargs dos2unix
Tools for Your Browser
- Microsoft Internet Explorer
- (Commercial. Not open source. Windows only.)
- Internet Explorer Developer Toolbar
- Multiple Internet Explorer versions for testing purposes. This is not supported by Microsoft. It may be wise to backup your computer before installing
- IETester allows you to view sites in multiple IE versions without installing all of the versions
- Solutions for using IE on a non-Windows computer
- Mozilla Firefox
(Free. Open Source. Linux, Mac, Windows, Android and others.)
- Web Developer Extension - Adds a tool bar and menu to the browser with various web developer tools. For example, you can disable form fields; reveal hidden form elements; edit CSS in real time; and clear the browser cache and session cookies.
- YSlow - A Firefox add-on integrated with the Firebug web development tool, YSlow analyzes a web page's performance and returns a "performance report card" that shows how well the page utilizes a set of best practice guidelines for high performance web sites.
- Page Speed - Similar to YSlow, Page Speed Firefox/Firebug add-on allows you to evaluate the performance of your web pages and to get suggestions on how to improve them.
- There is also a Drupal for Firebug module, which includes a Firebug extension.
- How to setup a Firefox quick search for the Drupal API
- FireFTP - An FTP plugin for Firefox.
(Free. Proprietary. Linux, Mac, Windows and others.)
Versions 9.5 and above contain developer tools similar to Firebug for debugging web pages.
(Free. Proprietary. Mac and Windows. Shares code with Chrome.)
- Google Chrome
(Free, proprietary—based on the open source edition "Chromium", multi-platform)
- Cross-browser extensions
- A set of plug-ins, tools and utilities used in browsers that works across several browsers.
- Dreditor – Enhances your drupal.org experience. Useful in issue queues and working with content. Chrome, Firefox, Safari.
- Firebug Lite offers some Firebug functionality in a non-Firefox browser; also available as a Drupal module
- Drupal For Firebug Enhances the debugging experience in Chrome and Firefox. Provides extensions for both.
Tools for working with text & code
In the world of pure Linux/Unix, the most popular editors are the intimidating but powerful Emacs and Vi. Devotees have long argued the merits of which is better. You'll want a cheat sheet to learn either, but serious users find that Emacs and Vi allow fast, touch-typed editing that's quicker than using a mouse-based desktop application.
(Free. Open source. Runs on Linux, Mac, Windows and others.)
An extensible, customizable text editor with its own interpreter for Emacs Lisp. Read more about Emacs setup for Drupal.
(Free. Open source. Linux, Mac, Windows and others)
An advanced text editor based on vi, but more powerful. The learning curve is reasonably steep and the interface can be confusing at first, but this is soon rewarded with greater editing efficiency. Read more about configuring VIM for Drupal and documentation for the Vimrc project.
- GNU Global
- A editor independent source code tagging system commonly used in Emacs and Vim. Read more about GNU Global setup for Drupal
- BBEdit (Commercial. Proprietary. Mac only.) Check out BBEdit Clippings for Drupal 7
- Brackets (Free. Open Source. Windows, Mac, Linux.), has a plugin system with extensions for Drupal (php syntax for drupal file extensions), integrating Git, and many others for styling and validating code.
- Dreamweaver (Commercial. Proprietary. Mac and Windows.) - A WYSIWYG HTML/XHTML, CSS, PHP, XSL/T editor, and there's a free Drupal API extension for Dreamweaver.
- gPHPEdit (Free. Open source. Runs on Linux)
- jEdit (Free. Open source. Runs on Linux, Mac, Windows and others. Java based.)
- Komodo Edit (Free. Open source. Runs on Linux, Mac and Windows. Configuration guide available.)
- Notepad++ (Free. Open Source. Windows only.) - A light-weight notepad replacement with tabbing and syntax highlighting.
- Smultron (Commercial. Proprietary. Mac only.)
- TextMate (Commercial. Proprietary. Mac only.) - A couple of Drupal specific bundles are available, the PHP Drupal bundle which has the most features and another by Steven Wittens which allows tab completion of function signatures - both can exist without conflict. A lot of the power of TextMate is in its bundle system and it has built-in support for diff which speeds up the rolling and applying of patches and many more.
- TextWrangler (Free. Proprietary. Mac only.) -- Lets you read and save via FTP/SFTP, and supports grep and Show Changes (diff).
- Coda (Proprietary. Mac only.) - Editor for web pages (HTML, CSS) with preview and FTP capabilities; has a Drupal plugin.
- Sublime Text (Commercial. Proprietary. Win, Mac OSX, and Linux). Sublime Text is a sophisticated text editor for code, markup and prose. You'll love the slick user interface, extraordinary features and amazing performance. (Has full-featured trial available with no time limit)
- Visual Studio Code (Free. Open Source. Windows, Mac, Linux). Uses the same electron.io framework that Github Atom is built on. Integrated Git version control and debugging.
IDEs expand on the ability of a simple text editor. Here is a list of IDEs that work well with PHP and Drupal. Note: There is also a Drupal IDE group dedicated to setting up an IDE for Drupal development for starter tips, and ongoing interactive discussions.
- Eclipse (Free. Open source. Linux, Mac, Windows and others. Java based.) Probably the most popular open source IDE. Eclipse requires plugins in order to develop PHP. The PHP editing plugins for Eclipse are listed below by popularity:
- Eclipse Che from The Eclipse Foundation. A cloud IDE and developer workspace server. Community owned and supported, and open source. Available in three formats:
- PHP Development Tools (PDT) from The Eclipse Foundation. This is generally considered the new version of PHPEclipse. Community owned and supported, and open source. PDT provides a PHP Development Tools framework for the Eclipse platform.
- PHP Development Tools (PDT) from Zend. Same as above but from Zend. Another commercially supported PHP development using Eclipse from version 3.3+.
- PHPEclipse project is the original PHP development plugin for Eclipse. This is considered the previous version. The new version is called PHP Development Tools (PDT). See above.
- Notes about Eclipse:
- How to install Eclipse and configure it for Drupal.
- Read details of how to install and configure Eclipse for Drupal.
- Instructions for setting up Eclipse Ganymede on 64-bit Ubuntu
- To get a nice "all in one" package for working with PHP in Eclipse try the Easy Eclipse PHP distibution which includes PHPEclipse as well as SVN and other common plugins. Note that if you are using Easy Eclipse on Windows Vista, you are advised to change the install location to "C:\EasyEclipse for PHP 220.127.116.11", as the software will probably not work with the default install location.
- Aptana Studio 3 (Free. Open source, though some features, notably SFTP support, require a commercial license. Linux, Mac, Windows and others. Java based.) -- A full-featured Web Development IDE. A package based on the Eclipse environment that comes with the essentials right out of the box (PHP highlighting, ftp/sftp, code browser, etc).
- Netbeans cross-platform IDE with full PHP and debugging support. (Free. Open Source. Linux. Mac. Win. Solaris). Supported by Sun Microsystems (Oracle).
- Firefox extension easy Xdebug makes debugging easy with Netbeans.
- Very nice code completion
- Automatic text highlighting for tons of languages
- In context HTML, CSS, PHP reference makes it easy to find help on code syntax without leaving the file you are working on.
- Instructions for configuring Netbeans for Drupal
- Two Netbeans plugins are available to aid Drupal developers: NBDrupalSupport and NBDrupalDevel
- Note that NetBeans is missing an option to display the inherited methods and properties from parent Classes and Interfaces which makes it very hard to use for developing code for Drupal 8 and using another editor/IDE is recommended.
- Bluefish Editor (Free. Open Source. Linux. Mac. Fast Lean multi syntax WYSIWYN editor - GTK+ based). A lightweight, fast, multi-syntax IDE that supports projects, multiple documents, ftp/webDAV/sftp/http/https/samba, user custom integration with many programs like make, lint, weblint, xmllint, tidy, javac, more..., multi-language translations, etc. Just an awesome text editor on steroids.
- Emacs (Free. Open source. Runs on Linux, Mac, Windows and others.) Mentioned above as "text editor" but also may be used as fully functional IDE for Drupal and PHP. Some of Emacs IDE functions appliable for PHP and Drupal are: syntax highlighting for PHP/JS/CSS/HTML, integration with VCSs (include git), debugger, on-type syntax checking for PHP/JS/CSS, Texmate-like code templates. (See details about Emacs for Drupal for various IDE solutions.)
- Quanta Plus (Free. Open Source. Linux - Part of the KDE environment).
- Geany (Free. Open Source. POSIX > GTk+. Linux. Mac. Windows. Fast lean multi syntax - GTK+ based).
- Komodo IDE (Commercial. Proprietary. Linux, Mac and Windows.) Drupal Configuration notes available and Module building extension with node and user code intelligence
- Zend Studio (Commercial. Proprietary. Linux, Mac and others. Java based.)
- PhpEd (Commercial. Proprietary. Windows, Linux.)
- Xcode (Commercial, free with Mac OS X. Mac only.) Here are instructions on setting up Xcode to work with Drupal.
- PhpStorm (Commercial. Proprietary. Windows, Mac OS X, Linux. Java Based.) Code hinting, X-Debug.
- Tutorial-Video: How to use PhpStorm with Drupal
- Configuration tutorial: Integrating PhpStorm with the Drupal.org issue queue
- KDevelop (Free. Open source. Linux, Solaris, FreeBSD, Mac OS X and other Unix flavors.)
SQL & Database tools
There is software that can aid your SQL and database needs with features ranging from queries to administration.
- MySQL Workbench (Free. Windows/Mac/Linux. Source available. MySQL only.) - The official GUI application from the MySQL community allowing developers to design, model, query and administer MySQL databases. Replaces the MySQL GUI Tools Bundle.
- DbVisualizer - Free & Commercial universal db tool for linux, windows and OSX. Works with any database that has jdbc drivers available.
- phpMyAdmin - One of the most popular PHP tool for querying, modifying and administering a MySQL database, included in most shared hosting packages (if not, find a different host! Or just install it yourself, not hard). For local database installations you could try phpminiadmin which is an order of magnitude faster than phpMyAdmin, but has fewer features.
- Adminer - Adminer (formerly phpMinAdmin) is Free & Open Source, full-featured database management tool written in PHP. Conversely to phpMyAdmin, it consist of a single file ready to deploy to the target server. Adminer is available for MySQL, PostgreSQL, SQLite, MS SQL and Oracle. See also Adminer vs. phpMyAdmin comparison.
- pgadmin3 (Free. Windows/Linux/Mac PostgreSQL). Industry-standard for administering a PostgreSQL database, the SQL99 reference database. Runs from your desktop, SSL aware, no need to install anything on your server. The application also includes a syntax highlighting SQL editor, a server-side script editor, an SQL/batch/shell job scheduling agent, support for the Slony-I replication engine and much more.
- Toad for MySQL (Free. Windows. MySQL only.) - Toad for MySQL Freeware is a tool that improves the productivity of developers and administrators by providing an easy-to-use development environment. Features:
- Version Control Integration,
- Macro Record and Playback,
- Database Browser,
- Code Snippet Editor,
- Security Manager,
- SQL Editor, Fast,
- Multi-Tabbed Schema Browser,
- DB Extract,
- Compare-and-Search Utility,
- Import/Export Utility.
- FlySpeed SQL Query (Free. Windows. MySQL/PostgreSQL) -- Builds queries without needing deep knowledge of SQL syntax and performs data manipulations such as export and reporting.
- Navicat (Free & Commercial. Windows, Linux, Mac. Versions for MySQL, Oracle, PostgreSQL.)
- Sequel Pro (Free. Mac. MySQL)
- SQLyog (Free Community Edition, Enterprise Edition. Windows. MySQL)
- HeidiSQL (Free & Open Source. Windows. MySQL only.)
- Docker. Docker allows you to package an application with all of its dependencies into a standardized unit for software development.
- PuTTY (Free. Windows only.) - An SSH and telnet client.
- FireSSH (Free. Mozilla Firefox Addons, Google Chrome Extensions, Cross platform.) - FireSSH is a free, cross-platform SSH terminal client for Mozilla Firefox and Google Chrome.
- FireFTP (Free. Mozilla Firefox Addons, Cross platform.) - FireFTP is a free, secure, cross-platform FTP/SFTP client for Mozilla Firefox which provides easy and intuitive access to FTP/SFTP servers.
- WinSCP - WinSCP is an open source free SFTP client and FTP client for Windows.
- 7 Zip (Free. Open Source. Windows is the primary platform, with ports listed on the download page.) - Extracts archived and compacted files (such as tarballs).
- Cygwin (Free. Open Source. Windows only.) - Allows Windows users to use a Unix like shell. This is particularly useful for interfacing with git and patching files; read more.
- Filezilla (Free. Open Source. Windows, Mac, and Linux.) - Graphical FTP client
- IE Net Renderer - Check your site on IE 6 & 7 without Windows
- UnxUtils (Free. Open Source. Windows only.) - a lightweight option for adding some Unix command line utilities such as patch and grep to Windows, for those not wishing to download Cygwin.
- Realtime CSS Viewer Gem (Free, runs on Ruby) - This is a CSS viewer that monitors your changes as you edit in any text editor.This link does not work anymore
- Vagrant - a tool to quickly set up a virtual machine for local development. There are configuration GUIs that can help with creating custom configurations: PuPHPet, Phansible, Rove, and Protobox.
Watch this video on how to quickly a Vagrant VM up and running. See an exhaustive list of Vagrant-based Drupal development environments.
- Kalabox - "Kalabox is a free, integrated workflow solution for Drupal developers. It’s the thing that connects all your things -- including your Pantheon account -- to provide a complete desktop-to-live workflow loop."