Most developers have strong opinions about tools, especially ones they love. Tony Patton offers a list of his must-have applications, and asks other developers to discuss what's in their toolbox.
Developers are a finicky yet faithful bunch. A good example is when they discuss their favorite tools used in everyday work. I must confess that I am no different. As an IT consultant, I carry a certain set of utilities to and from client sites. This week, I thought it might be fun to take a survey of popular tools and share some of my favorites.
Where does it go?
I grouped the various tools into the following categories:
- Editors: Editing HTML, CSS, or other text-based files is simplified with a powerful text editor. Or, you may choose to utilize a specialized editor for Web pages and other file types.
- File transfers: Moving files to and from a site is often achieved via FTP.
- Graphics: Working with graphics is a necessary aspect of Web development.
- Browsers: Viewing and testing Web pages is critical to user acceptance.
- Utilities: Various special utilities to streamline common tasks.
Let's take a closer look at some of the available products in each category.
There were no special editors when I began working with Web pages. I spent a lot of time editing pages by hand with Windows Notepad and vi on UNIX. For this reason, I'm still comfortable with editing and viewing HTML and CSS source files. In addition, you can easily edit Java, C#/VB.NET, PHP, and other language source files with a text editor. It may not be your first choice for working with source code, but it works in a pinch.
These days I am comfortable with EditPad, and TextPad is a great editor as well. I know a number of developers that favor UltraEdit. In the end, it comes down to a personal preference unless an organization standardizes on a certain editor.
Text editors are kind of like a Swiss army knife for working with various file types. You may prefer working with specific tools when working with certain file types.
While I am not a graphics designer or very graphics literate (the lone exception is my language), I am often faced with situations where I need to view or perform simple edits or transformations on image files. I've fallen in love with IrfanView. It is a lightweight installation that provides the basic functionality I need. This includes image viewing and converting from one format to another (and allows you to quickly reduce file size).
Another tool I prefer is SnagIt. It simplifies capturing screenshots when compiling project documentation or a user guide. I know most graphics designers prefer Adobe Photoshop, but Corel's Paint Shop Pro X seems to be a viable option as well.
Working with files
Moving changes to and from a Web site can be as easy as dragging and dropping if you're working locally or on the same network as the server. I work with various clients and operating systems, so I often find myself sending updates via FTP. I love the power and flexibility of WS_FTP.
Also, I have been working with the freely available FileZilla recently. It provides an easy-to-use interface and a small footprint for transferring files to and from your development machine. Of course, browsers like Internet Explorer and Mozilla provide FTP support, so you can utilize the familiar browser interface if inclined. I prefer tools like FileZilla since they make it easy to manage connections and connection-related details like login information.
What does it look like?
Unless you are developing in a controlled environment like a corporate intranet, you need to test your Web applications in multiple browsers. Of course, Internet Explorer is widely used and most often available at client sites (as well as Safari if Macs are in use). It is often a good idea to bring other browsers like Netscape, Opera, or Firefox to test a design.
You can easily accomplish a variety of tasks with freely available tools. Comparing two files is a great example of a chore that is tedious (if not impossible) with the naked eye. For this reason, I rely upon WinDiff to simplify the chore. Other tools include Log Viewer for working with log files or a good file search utility like WordSearch. Any developer familiar with UNIX will point out that these features are freely available with command-line tools like grep.
In addition, you may need to keep language-specific tools like debuggers, compilers, and so forth for your preferred language.
You can take it with you
In the past, I've carried floppies or CDs containing applications that I may or may not need, but the introduction of U3 smart drives makes it easy to carry everything you need on your key ring. The U3 platform allows you to install and run applications from the smart drive device. For example, I carry a USB drive that is easily plugged in on a client site, making all of my applications immediately available.
A matter of preference
Every developer has his or her preferences about tools and techniques. This article offered only a small sampling (and my preference) of tools available.
What tools do you use? I look forward to hearing about your must-have tools in the article discussion forum.
Miss a column?
Check out the Web Development Zone archive, and catch up on the most recent editions of Tony Patton's column.
Tony Patton began his professional career as an application developer earning Java, VB, Lotus, and XML certifications to bolster his knowledge.