Tools of the Trade

March 22nd, 2017
#Design&Usability, #DrupalDevelopment

When it comes to Web Development tools, I'm always on the lookout for applications that remove the monotony from menial tasks. In a perfect world there would be one Programming language and platform that did everything superbly and elegantly. Unfortunately, its not a perfect world, and the reality of the matter is that when developing a web application with any degree of complexity, multiple pieces of technology must come together in, hopefully, complete harmony. Ah, but for the best laid plans of mice and men!

I have a fairly short, but strict, list of what makes great tool:

  • Is it easy to use/learn?
  • Does it aim to do one thing and do it well?
  • Does it save time?

When complexity rears its ugly head, as it's sure to do, the first thing I look to do is leverage my intellectual control over the situation. Usually, the best way to do this is to look to the proverbial toolbox for some assistance.

Firefox wins hands down for Web Development based on the sheer number of quality extensions available as add ons that integrate seamlessly with the browser. Lately, I have learned to love Venkman, the definitive javascript debugger for Gecko-based browsers. This Firefox add-on is a full-featured debugger with an intuitive interface. It has all of the functionality you would expect to find in stand-alone debugger: breakpoints, watches, the ability to step into and over function calls, and variable inspection.

The power of a debugger goes well beyond finding and fixing bugs. In fact, most often I use Venkman for verifying control flow, and inspecting object structure. I've found it especially useful for tweaking json objects passed into Smarty templates from php's json_encode function. Venkman makes it trivial to inspect the structure of evaluted json data at runtime, which would ordinarily be difficult in a situation where the the template is dynamically populated with json data from php and the corresponding javascript object is not instantiated until the template is parsed, thejson is evaluated, and the page is loaded in the browser.

Another great time saving tool I recently came across is flashcommand for OS X. Under the hood, it is a combination of python and AppleScript. It doesn't actually compile the fla files itself, rather it invokes the Flash authoring environment. However, when faced with task of compiling dozens of fla files, flashcommandremoves the labor involved in opening up each individual file and publishing it from within the Flash IDE. With a list of files and a little bit of bash it is simple to compile a slew of flash files in one go:

for file in $files

flashcompile -jv -s $file

About The Author