I am always fascinated by the tools that other developers use. It’s usually the first thing I ask them. “Hey, I know I haven’t asked you your name yet, but what operating system do you use? What IDE? How many git commits have you made today?”
I don’t ask these questions so I can say “Hmph, you should really only use Emacs on FreeBSD and I have made 1500 git commits today.” I ask them out of true curiosity. I am a fanatic Linux distro and IDE hopper. So, when another developer suggests a new tool my reaction is to try it out.
Because of my 'hopper' condition I have tried out a lot of different IDE’s and operating systems in my short time being a developer. The goal of this post is to show you what tools I use on a day to day basis for Drupal development. These might not be the right tools for everyone, but these are the ones I keep coming back to and I really enjoy reading articles like this.
Operating System: Crunchbang Linux
I have been using Linux exclusively for around 6 years, so I am slightly biased with this one. Linux can accomplish everything needed for Drupal development. Crunchbang is a beautiful, fast, minimal Debian-based distro with a community full of wonderful and helpful people. I have tried out Ubuntu, Mint, Arch, Fedora, and OpenSUSE in the past and I always find my way back to Crunchbang.
It uses Openbox for its window manager which is super fast. Sometimes I feel like applications open before I even click the menu item. Immediately after installing Crunchbang a nice little terminal popup greets you asking if you would like to install some extra packages. One of those options is a fully configured LAMP stack. Um, yes please. Some other notables are version control packages (git, svn, etc) and Java (for Minecraft, of course).
I have written a little script to help get your local Linux environment ready for Drupal development : Drupal Starter Kit (GitHub)
This only applies for Ubuntu 12.04 as of right now. I am planning on adding support for Crunchbang in the future.
Editor/IDE: Komodo Edit
IDEs and editors are always a struggle for me. I can never find the perfect one. Netbeans is nice for PHP debugging with xdebug, but it is slow and not that great for web stuff in general. Sublime Text is really nice and fast. It fits in with Crunchbang very well, but I don’t like the fact that it isn’t open source and it doesn’t do too much out of the box without plugins. The plugins are easy to install though. If I ever do make a permanent switch it will probably be to Sublime.
My favorite IDE at the moment is Komodo Edit. There are a lot of great features out of the box and it is free and open source. Code completion, support for SASS, goto definition, and as far as speed goes it is in-between Sublime and Netbeans. It is based on the Mozilla XULRunner platform and not Java. There are plugins available although the developer community is not quite as active as Sublime. The only thing I miss with Komodo Edit is the ability to use xdebug. Sublime has a plugin and Netbeans supports it out of the box.
Web Browser: Chromium
Following the open source pattern, Chromium (open source version of Chrome) is my browser of choice for developing. I enjoy the developer tools that come standard. I do miss Firebug sometimes but Chromium just operates so much faster than Firefox that I had to make the switch.
Crunchbang provides a nice installer for web browsers. Firefox is default with the ability to install Chrome, Chromium, and Opera with one click.
For IE testing I use Browserstack or a local virtual machine. Microsoft recently made it much easier for us Windows challenged users to test IE, you can check it out here: http://www.modern.ie/
Version Control: Git
Linus Torvald’s second greatest achievement. While I haven’t used any other version control in my stint as a developer, I don’t see a reason to try out any others. It gits (sorry) the job done. Drupal.org uses it and Linux kernel developers use it. For me it is a perfect choice.
Music: Phil Collins
Developers need ear fuel. I think music is just as important to developers as caffeine is. Phil Collins might be a strange choice, but listening to Phil gives you +1 coding skill. It’s science.
Thanks for reading, hopefully you will try out some of these tools and maybe even like them!