The only tough thing in writing about development utilities is limiting the list to just a few utilities. Luckily for me, the readers of Developer.com did the limiting for me, by nominating four excellent utilities in this category of the Developer.com Product of the Year 2005 contest. These four, of course, come from a much larger universe of development utilities. Most developers have a keen sense of how software can make their lives easier, and they actively seek out the tools and utilities to do so. This makes creating and marketing utilities aimed at developers a profitable thing to do! Without further ado, here are the finalists in this category:
- Altova MapForce 2005
- Altova XMLSpy 2005
Before I announce the winner, let's take a look at these fine products.
MapForce 2005: Data Integration Tool
Altova's MapForce 2005 offers an amazing visual development environment to let you automate the process of transforming between disparate data formats. It can handle XML files, flat files, database files, and EDI files. Within the MapForce IDE, you create a mapping by dragging and dropping to indicate field-to-field mappings between your input and output files. But the product doesn't stop there! A set of libraries let you insert data processing rules that transform the data as it's being mapped. For example, you can compare two different input fields and use the boolean value of the comparison as the output field (and that's one of the simpler rules).
When you're done defining the mapping, MapForce lets you get useful code out the other end. Specifically, with a few mouse clicks you can generate Java, XQuery, C++, and C# program code or stylesheets that conform to either the XSLT 1.0 or XSLT 2.0 specifications. Depending on your development suite, you're very likely to be able to use one of these without further modification. If your input or output formats change, just go back to MapForce, tweak the saved project, and recreate the code you need.
It's easy to see why MapForce 2005 made it to this year's list of finalists. The general job of transforming from one data format to another is both common and tedious: ideal for automation by a solid utility.
XMLSpy: Comprehensive XML Support
Altova manages the feat of placing two utilities in this year's finalists with the nomination of XMLSpy 2005. With many years of development behind it, XMLSpy has gone from being a simple XML editor to being a full-fledged XML IDE. It's hard to find an XML-related chore that you can't perform somewhere in XMLSpy. For starters, of course, you can edit XML, in a host of views, ranging from a color-coded text view to a tabular format that makes it easy to see the structure of the file. You also get the help you expect from a modern editor such as source code folding, bookmarks, and auto-completion.
What else does XMLSpy offer? Try an XML-aware diff and merge engine that understands which formatting differences have a syntactic impact and which don't. Or how about database connectivity for all of the major databases? You can automatically generated XSD schemas from a database, or vice versa. XSLT debugging, too, is in this box. You also get XPath and XQuery editors and debuggers. XMLSpy also supports all of the major Web services standards; its WSDL editing, showing how all of the pieces fit together with boxes and lines, is exceptionally nice. And as icing on the cake, you can run XMLSpy as a standalone application or integrate it right into Visual Studio or Eclipse.
Is there a developer working today who doesn't have occasion to deal with an XML file? Oh, I suppose there is. But the vast majority of us wrestle with angle brackets on a regular basis, which is reason enough to find XMLSpy in this list of finalists.
EazyCode: Take the Drudgery Out of Data Forms
EazyCode 2.2 comes from DataCraft, and it responds to a common developer complaint: sometimes you just have to write too much routine code. In this particular case, it's the code to hook a SQL Server database table up to a Visual Basic .NET user interface.
EazyCode presents a wizard-like interface that walks you through the process one step at a time. You supply login information and then choose a server, database, and SQL statement or table to work from. Optionally, you can choose two tables that have a master-detail relationship. Then you decide on which template to use for the generated form. There's a preview area that shows you the templates, which range from grids to single-field forms. When you're satisfied with your choices, pick an output folder and push a single button. Then relax for a bit while EazyCode builds the code for you.
The end result is a complete Visual Basic .NET application, from the solution file on down. Depending on your needs, you can use the application as-is for quick viewing or data entry purposes, or modify it further: all of the source code is right there for your use.
EazyCode is one of numerous code generators that have appeared in the past several years, and it's simple to see why this category of utility appeals to developers: the promise is that we can spend our days golfing and let the generators do all the work. Just don't let them collect the paychecks!
Firefox: Superior Web Browser and More
Who hasn't heard of the Mozilla Foundation's Firefox 1.0? From the time last year when its final betas became seriously useful until the present when its market share is ramping up fast, this Web browser is the first open-source product in a long time to take on a Microsoft offering head-to-head and show every sign of triumphing.
It may seem a bit odd to think of a Web browser as a development utility, but actually it makes perfect sense. For starters, the Internet has replaced written manuals and even online help as the preferred source for development information. If you need to figure out some obscure API or confirm the workaround for a ridiculous bug, it's easier to search the Web than it is to paw through dusty stacks of paper. Firefox, being secure, fast, and customizable, really shines here. Second, Firefox's extensibility means that a number of useful developer tools can be a part of the browser if you so choose. For example, check out the Web Developer Extension, which lets you do everything from edit the CSS for a page to find all the images without Alt tags, all without leaving the browser.
Most of us have a Web browser open every moment that we're at the computer. It makes sense to choose the one that serves us the best, and to make it one of our core utilities.
And the Winner is...
Developer.com's readers overwhelmingly chose Firefox as the Development Utility of the Year. This certainly reflects the sudden rise of Firefox as a browser at many developer-oriented Web sites. At my own Larkware site, for example, Firefox is currently accounting for about 30% of all requests. There are plenty of reasons to like Firefox, not all of which have to do with its being a developer utility. In addition to those that I mentioned above, it also offers the XUL API for building rich client applications in the browser; watch for some innovative development in this arena. Also, of course, there are many developers who are happy to see any viable alternative to Microsoft; after years of patching security holes in Internet Explorer people are understandably ready to try an alternative.
Whatever the reasons for its success in this poll, I'm happy to see Firefox come out on top: it's a fine browser and, in fact, some months ago I switched to it myself. I've been quite happy with the change. If you haven't tried it yet, perhaps this award will convince you to give it a look.
A Moment to Reflect
So what do this year's results tell us about the state of the development utility world? Three things, I think. First, the inclusion of both MapForce 2005 and XMLSpy 2005 on the list is strong confirmation that XML is here to stay, but that none of us want to work with XML in the raw. Good tools are essential to support this part of our development lives. Second, code generation (represented here by EazyCode) is an area to watch. As applications become more complex and schedules remain tight, we have to find tools to write code for us; one good site to check out for more information on this vibrant field is Code Generation Network. Finally, as the sudden fame of Firefox generates, developers are always ready to grab hold of a superior application when they find one - and there's still plenty of room for success, even in a field with entrenched existing software. There's an encouraging thought for all of us!
Mike Gunderloy is the author of over 20 books and numerous articles on development topics, and the lead developer for Larkware. Check out his latest books, Coder to Developer and Developer to Designer, both from Sybex. When he's not writing code, Mike putters in the garden on his farm in eastern Washington state.