Like with anything else in life there’s always a time where you wish you could take the knowledge you know now and pass it onto yourself a few years ago. I think Rod Stewart put it best in the song ‘Oh La La’.
I wish what I knew now when I was younger
I’ve listed a few tools I use everyday as a web developer. It’s not a definitive list and I’m sure there are lots of other solutions out there to do the same thing. Let another few years pass and I’ll be thinking the exact same thing: “I can’t believe I used to do it THAT way, how stupid of me.”
XAMPP is an easy to install Apache web server that contains all you need to develop modern dynamic websites. It comes bundled with MySQL, PHP and Perl. Even if you only develop HTML / CSS it’s still a good idea to setup your own development environment.Try and mimic the live server so you fix any issues that occur before you push them to the live server.
It’s available for Windows, OS X and Linux so it covers all bases. It has a bright orange web front end with a few controls to allow you to edit various settings, but you may need to get your hands dirty at first with the initial setup. Editing your HOSTS file and the vhosts file in the XAMPP directory is a must.
As I’ve mentioned before in previous blog posts,](http://aptana.com/) is my IDE of choice. It’s based on Eclipse, an IDE written in Java and can be used to develop applications in many different languages. Both Eclipse and Aptana are open source so you can even dive in a fix bugs you come across yourself (Aptana on Github).
It comes bundled with a whole host of features, code auto-complete, project explorer, file sync over (S)FTP, code validation / error checking, JSLint and SubVersion integration to name just a few. If you’re not sure where to start you could try taking a look at their video tutorials and the huge number of documents available. If you are still stuck you could always ask on the well established community forums.
One thing I will mention is at times it can seem a little bloated at times. Having been using it for a few years now I’ve noticed it getting bigger / slower. Quite a few times I’ve resorted to using a smaller text editor for quick code changes simply because](http://aptana.com/) takes too long to start up or it just seems to be running slowly. It’s a shame you can’t easily disable some unused features, but what with some modules depending on others to work you could end up breaking the install.
All in all though I’ve not found a better IDE with the number features available at such a low price (Free!).
The “smaller text editor” I noted above is Notepad++, a project hosted on Sourceforge and is free to download an use. You only have to look at the homepage to see the number of features it has available. And the best thing about it is it’s fast, really fast.It loads instantly with no delay when typing / editing and does everything you need a code editor to do.
Where would any web developer be without Firefox and it’s extensions. Firefox is my code tester / debugger of choice. With thousands of extensions to download the possibilities for expansion are endless. Once you add Firebug and the Web Developer toolbar you have the perfect browser for refining and debugging your website.
If you aren’t using any form of version control on your projects you really don’t know what you’re missing. Version control allows multiple developers to work on the same code at the same time without fear of conflicts (this isn’t strictly true, but with version control it notifies you of them and allows you to fix them).
Even if you are a freelancer who works on his own 90% of the time, version control is still something you should set up and use. Using version control means you can always roll back to a previous version when you break / delete something. Another big plus point is your work is now hosted on an external server. Should your hard drive break or your computer fall into someone else’s bag, you will still have a backup of all your important work.
](http://tortoisesvn.tigris.org/) is simply a nice GUI for the](http://subversion.tigris.org/) (SVN) version control system. You can use the command prompt too if you so wish, but I’ve always preferred a GUI.
There are various types of version control available, each with there own pros and cons. Git is one I’m looking into, but as an SVN repository is bundled with my hosting provider I’ll stick with it for the moment.
So there you have it, my web developer toolbox laid out for everyone too see. Now if only I could email this to myself in 2005, it would have saved a lot of frustration. Wouldn’t have been as much fun learning though would it?