One of the hallmarks of a successful programming environment is its ability
to generate interst among independent software vendors. From that point of view,
.NET must surely be measured as one of the major success stories of the past
several years. From all-encompassing development environments to quick
single-use utilities, Developer.com readers had no problem coming up with
nomineers in the .NET Tool of the Year category of the Developer.com Product of
the Year 2005 contest. Here are the finalists that the list was whittled
- Altova XMLSpy 2005 Integration Package for Microsoft Visual Studio .Net
- ComponentOne Studio Enterprise Subscription
- RADvolution Designer 2005 Professional Edition
- SharpDevelop IDE
- The Mono Project
All in all, that’s a fine selection of products. Let me introduce them
in a bit more depth before announcing the winner..
XMLSpy and Visual Studio: Two Great Tools in One Shell
Altova’s excellent XMLSpy XML editor was nominated in the Development Utility
category of this year’s contest. It’s not too surprising, then, to find their
for Visual Studio .NET over here. The idea is simple: if you have both
XMLSpy and Visual Studio .NET (either Professional or Enterprise) installed on
your computer, you can replace the somewhat anemic XML editor in Visual Studio
with the full XMLSpy set of tools. XMLSpy becomes the XML editor, blending
seamlessly with the rest of the Visual Studio .NET shell.
This blending is thanks to one of the shrewdest possible moves on Microsoft’s
part: the release of a supported and free Visual Studio Integration Partners
program. This program gives anyone the code and know-how to build their own
utilities into VS .NET, which then becomes a sort of universal platform for
development-related tools. For developers who prefer to work in an IDE, having
tools handy right there is a blessing.
Altova made excellent use of the VSIP interfaces with this integration
package. Everything just works the way you’d expect it to: one of the
distinguishing features of a fine tool. If you’ve got XMLSpy and VS .NET,
installing this piece to link them together is a no-brainer.
More Components Than You Can Shake a Stick at
Do you remember software development before components? I do, and it wasn’t
pretty – literally. Before the rise of user interface components (fueled largely
by Microsoft’s unleashing of VBX controls on the world) no one had time to build
fancy user interfaces. But now things have changed. Thanks to offerings like ComponentOne
Studio Enterprise anyone can build a spiffy-looking user interface with the
latest doodads and styles on top of their otherwise pedestrian application.
ComponentOne isn’t the only company in this business, but they pack a heck of
a lot into their annual subscription of presentation-layer components. You get
menus, toolbars, grids, spell-checking, web reporting, mobile device components,
and dozens more. With their subscription pricing, ComponentOne also delivers a
stream of updates, new releases, and beta software throughout the year.
On a bang for the buck basis, it’s easy to see why this product got
nominated. It doesn’t take very long for it to earn its keep by providing far
more user interface value than the average developer could easily write.
Pushbutton Application Development
It’s every developer’s dream: just describe your application to the computer,
push a button, and then relax while the computer writes all of the source code.
After all, writing code is just boring repetitive work, so why not let the
computer do it? We’re not at that promised land yet, but DeKlarit brings us one step
DeKlarit is a generator for your application’s business framework: the
database schema, data access, and business logic layers. It’s integrated into
Visual Studio .NET, so you can just add some additional high-level design tasks
to the work you’re already doing. For example, you take input from end users to
describe business components in terms of business rules and the data that they
hold, and DeKlarit takes care of building the database and all of the code to
work with it. DeKlarit supports C#, VB .NET, Access, SQL Server, and Oracle, so
you’ve got a good amount of flexibility in what you generate.
All in all, DeKlarit succeeds well in its goal: hiding a lot of messy goo
from the developer. You describe your business objects, you use them through
well-defined interfaces, and you can pretty well forget about the low-level code
that maintains them. DeKlarit does all the bookkeeping for you. We’re going to
see more and more of this approach in the coming years, but why wait? It’s clear
that products that build business applications fast are gaining in importance
Supercharged Form Design
Another product that takes advantage of the extensibility built into Visual
Studio .NET is RADvolution
Designer. The basic idea of RADvolution is that it runs while you’re
designing Windows Forms and does a lot of the work for you.
For example, suppose you’re designing a menu. RADvolution Designer will build
the shell of the most common menu items for you. It will let you add forms to
the menu easily, and build the code to open them. It also manages status bar
text in concert with the menu choices, and does this without requiring you to
write any code. To take another example, you can plop a bunch of controls nearly
at random on form, select “Auto Layout”, and have them all set up in neat rows
and columns, with a sensible tab order and labels.
If you’re tired of fussing around with things like layout panels, tab order
setting, and anchoring things by hand, this is the sort of product you’ve been
waiting for. And one of the nice things about the .NET universe is that such
Why Not a Free IDE?
For all that Visual Studio .NET is a wonderful design environment, it has one
major drawback for some developers: its price can be quite steep. That’s why
it’s good to know about SharpDevelop, a free,
open-source IDE for both C# and Visual Basic .NET projects.
“Free,” is, of course, a major selling point here. But that wouldn’t be worth
much if it wasn’t coupled with real features. Fortunately, SharpDevelop has
matured to the point where it’s useful for writing quite serious code. It
includes both forms designers and code editors. The code editor supports
advanced features like code completion, folding, and of course syntax coloring.
It even goes beyond VS .NET in some areas – for instance, there is integrated
conversion from VB .NET to C# and vice versa, as well as integrated NUnit
support. And, of course, there’s the rock-bottom guarantee of GPL-licensed
open-source code: if you don’t like the way something works, you can always
reimplement it yourself (provided, of course, you can take the time to
understand a C# project of this magnitude).
With the .NET Framework SDK itself and SharpDevelop both being free, there’s
very little barrier to getting involved in serious .NET development. While I’m
sure Microsoft would love to sell more Visual Studio boxes, they certainly don’t
mind seeing lots of developers using the underlying platform no matter which IDE
they choose. A superior free IDE helps us all by driving innovation and widening
the developer pool.
The final nominee is the most ambitious. The Mono Project, which
started clear back in 1991) is an ambitious undertaking. It aims to provide a
complete open-source .NET implementation, starting with the ECMA standards for
C# and the Common Language Infrastructure (which Microsoft wisely released in a
bid for greater acceptance of .NET).
Mono is an amazing beast. In some areas it’s already ahead of Microsoft’s
reelases: generics and other C# 2.0 features are already in shipping versions of
Mono. Right now, with minimal effort, you can take many command-line or ASP.NET
applications and rebuild them to run on Linux. They’re also moving ahead on
cross-platform forms technology for .NET applications.
Some people in the open source community have worried that Mono could be
strangled at any time by Microsoft patent activity, but with Mono being under
the wing of Novell, and with all of the development happening in a clean-room
atmosphere, that looks to me to be unlikely. And the rapid development of the
project indicates a broad base of support for the idea of “.NET everywhere.”
It’s hard to see why a developer working in C# would be unhappy about having
more platforms to sell code for.
The Envelope Please
Just over 40% of Developer.com’s readers voted for The Mono Project in this
category, giving it a strong plurality of the votes and the trophy. To me, this
looks like a vote of faith in the future of C# and .NET as a development
platform, not just in the Microsoft world, but in general. No doubt the open
source nature of the project helped it win; open source advocates tend to be
vocal about the software that they support. But having tried out the software
myself, I can say that it would be impressive whether it was free or something
that I had to pay for from a commercial vendor. On top of the obvious advantages
of being able to build cross-platform software with C#, it’s good to see a small
and nimble team pressing Microsoft when it comes to adding features and
capabilities to the platform.
Trends and Thoughts
This year’s nominees bring out three important trends in .NET development
(or, indeed, in development in general). First, effort invested in building a
solid, extensible IDE clearly pays off if you want to ship a major new software
platform. Three of the products in this year’s list took advantage of Visual
Studio .NET’s extensibility features to integrate themselves into the
developer’s daily experience, and they’re among the hundreds of products out
there to do so. Second, code generation is here to stay. While some developers
still distrust code they don’t write by hand (do they verify the generated
assembler, I wonder?), most of us are quite willing to leverage good tools that
let us work at a higher level of abstraction. Lastly, for all the complaining in
some quarters that it’s destroying the industry, open source continues to
produce some extremely impressive software. Watch for these trends to continue
as we move forward in the tools market for another year.
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.