My Old Development Environment
I've now moved on from this development setup (my current setup is here), but it's always interesting to look back and see how you used to work!
Sony Vaio AR-51E laptop. As I bought my own laptop for my work, I could choose something a bit fancier than a Dell econo-box, and this does the job nicely. The 2GB RAM is feeling a bit tight, so one day I'll up that a bit. I've upgraded the hard disk to a 7200rpm disk, but an SSD wouldn't go amiss. For web development it's a good spec. The integrated GeForce 8400M GT isn't too shabby, the X-Black screen is a treat, and it's a good keyboard to be using day in, day out.
Nice though the 17" X-Black screen is, I couldn't live without my Acer 24" widescreen monitor. As ever, more inches would be nice, but the 24" and the 17" laptop screen make for a good combination.
My main working environment is Vista, and I'm going out on a limb here, but I quite like it. As all the software tools I use are open source, for a while I ran a dual-boot system between Vista and Ubuntu. Ubuntu was definitely quicker, but the one tool I couldn't find a direct replacement for was Tortoise SVN client. There are a handful of GUI SVN clients for Linux, but none of them worked. I could learn the command line, but it's so easy to make mistakes, and too frustrating to be looking up exact combinations of command line arguments every time I want to create a new release. In the end, I stuck with Vista.
The websites I build professionally are all hosted on Linux servers, and developing those sites on a Windows system is asking for a whole bunch of pain and hard-to-debug configuration differences at deployment time. So I do all my development on an Ubuntu 8.04 virtual LAMP server hosted in VMWare Server 2. By exposing the file system using Samba, I can use Windows client-side, and Linux server-side - the perfect combination. Much as I would love to use Linux as my main working environment, it's still not quite there.
The backbone of my development environment is
- Eclipse with PHP Developer Tools
- Tortoise SVN client - I've tried the Subclipse SVN plugin for Eclipse, but never really got to grips with it. Tortoise manages to be simple and intuitive while remaining powerful and flexible - perfect!
- Firefox (with Firebug of course!)
- Textpad - every serious developer should have a text editor that they are fiercely partisan about, and this is mine. Regular expression search and replace, fast find across whole directories of files, syntax colouring, handles large files (like over 1GB), and heaps more
- Gimp - for all things graphical
Then there are the other things I need to get my job done
My actual website development is usually based on Drupal - although it is essentially a content management system, it's architecture blurs the line between a CMS and a development framework. Some sites I have built clearly require a CMS, while some others have been almost entirely custom development, with very little CMS requirement.
Although Drupal is not neccessraily the best solution for all these, it is always a good solution, and by standardising on a single platform I have a whole heap fewer headaches in terms of learning multiple frameworks and switching between them, server configurations (across development, test and production environments), and keeping up to date with security patches.
What About You?
What are your favourite development tools? What would be your dream setup? How could I improve mine? If you're interested in what some other developers use, The Setup is a really good read.