For those of you starting out in web development, finding the tools that work best for you can be a frustrating and costly exercise. Here is a very brief overview of what’s out there in both free and paid format. Most of the software mentioned here is available for Windows, much of it is also available for Mac and Linux.
For text-based code editing Notepad++ is very good, so is jEdit – the latter has a powerful search feature if you need to find anything within your code. There are many text editors available but to make life easier you should look for one which includes helpful features such as line numbering, code highlighting and code hints. Text Wrangler on the Mac is another popular option.
Integrated Development Environments
If you’re looking for a feature-rich development tool (often called an IDE, or Integrated Development Environment) Dreamweaver (part of the Adobe Creative Suite) is one of the best overall contenders in terms of features but it’s not cheap and I find I have to restart it at least once a day because it falls over. Netbeans and Aptana (based on Eclipse) are also very strong candidates but not quite as polished as Dreamweaver, although they are free. The thing to be wary of with Dreamweaver is letting it write code for you, as this can be very messy – e.g. inserting popup menus, rollover images, image swapping scripts, generating authentication scripts and database connections, etc. Far better to learn to code and do all this yourself – better still, use a framework like CodeIgniter, Zend or Symfony for PHP, or Rails/Django if you dabble with Ruby/Python. DW has limited support for some of these frameworks, where other IDEs such as Netbeans and Eclipse can be more suited. One aside here, if you do intend to learn a framework you will benefit from learning the base language first. For example, learning Symfony is great but you should first understand pure PHP. Some would argue that this is not the case with Ruby on Rails, and that you do not need to learn Ruby first – opinions vary and you should find your own way.
At some point all this lovely code you’ve written will need to be published to the web so everyone can admire it, for this you will need an FTP client. Dreamweaver includes a very easy-to-use FTP component, very quick to configure and as intuitive as the rest of the Dreamweaver interface. Netbeans also has an FTP client, Aptana is a little less forthcoming in this area but there are workarounds. Other FTP options are FileZilla, WS_FTP and the FireFTP add-in for Mozilla Firefox – all free – but these are standalone programs and not part of your favourite IDE so you will need to switch between them to upload and download files, which can be a little laborious.
If you’re working with other developers, either in the same office or across multiple locations, you will want to avoid overwriting each other’s work while keeping a history of updates and changes in case you need to regress your changes. For this you will need something called version control. Popular options are Git, SVN and Mercurial, with various hosting services such as Bitbucket and GitHub offering to host your code for free. More details of version control will feature in a separate post.
For graphics, Photoshop, Illustrator and Fireworks are the main contenders and all part of the Adobe Creative Suite. Fireworks is more suited to the speedy production of web graphics, although it’s rumoured that Adobe are going to discontinue it. Photoshop and Illustrator are more inclined towards the production of graphics for print. A very good free alternative is GIMP – not someone you might bring out at a dodgy party but rather the GNU Image Manipulation Program and a very capable graphics tool.
Windows or Linux?
Since the Mac is essentially a Unix-based architecture I include that here under the Linux category, hopefully this won’t offend you Mac users out there!
I spent nearly a year working on an Ubuntu laptop because I had become so tired of all things Microsoft (prompted by my dismay upon buying a Windows 8 laptop) and it worked very well overall. A life of free computing and very few reboots provided a sense of smugness, and I was able to find suitable and free replacements for most of my favourite Windows based tools. Most of them, but not all. I had some issues with drivers, notably features such as volume and display brightness controls, just not quite working properly. No major issues at all, but a few little niggles that took the edge of the experience for me. My biggest challenge actually turned out to be finding a decent media player to replace iTunes, but that’s outside the scope of what we’re concerned with here.
So, long story short, eventually the convenience offered by big-budget commercial software caused me to restore my laptop a few months back and now I pay around £6 a month for Office (finding an email client to rival Outlook is also, it pains me to say, very difficult) and I use an old version of Adobe CS4 that I already had. Alongside this I use Netbeans and jEdit, so I’ve retained something from my adventures in Ubuntu land. Ubuntu is a great operating system, but for my purposes best used for servers rather than a laptop or workstation.
There are a lot of web development tools out there, free and paid, to help you with a wide range of tasks – try a few and see what you feel comfortable with. Maybe try the free versions first, and then compare each of these to a trial version of the commercial equivalent, to save unnecessary expense.
I hope this helps those starting out in web development – good luck!