Archive for February 2007
After posting about IDEs, I thought that I should also post about a notably absent feature of VS 2005 – the ability to target different versions of .NET. I’m sure there’s quite a lot of developers who have to work on both .NET 1.1 and .NET 2.0 projects. Why should you have to use 2 IDEs? Having to use MSBee doesn’t do it for me. I’m talking about proper, full, first class support in the IDE.
Having built the Mono version of nspectre recently, I thought about how I interact with the IDE (in may case the IDE I’ve spent most time in is Visual Studio.) Working on the Mono build of nspectre, I used MonoDevelop (with the Xml Editor plug-in) on Ubuntu Edgy and ran NAnt from the command line. When I’d built nspectre, I ran the example console program from the command line, too. To access CVS, I used LinCVS. So, I had a few windows open – with a decent size monitor, having a bunch of windows open is not the problem it would otherwise be. And it was easy to figure out what I was doing. It was comfortable. This realisation came as something of a shock to someone who has been used to doing nearly everything in the IDE.
I hear “integration with the IDE” as a frequent requirement for tools. What’s not to like about integration? I guess the problem is when the integration is such that it gets in the way of understanding what you are doing – or locks you into a particular or uncomfortable way of doing it.
Let me come clean. I’ve always hated pop-ups in web applications. I don’t just mean the ones that tell you you’ve won a cruise or that you’re the Emperor of the World, I mean all of them. It’s always felt like an attempt to apply a desktop paradigm to the web. But, sometimes, there’s a need for something to stop you in your tracks, the sort of thing for which, on the desktop, you’d use a modal dialog. On the web, you’d scratch your head. Until now. The prototype framework and script.aculo.us have enabled some excellent web UI advances. And ModalBox is one of them. Try it out.
nspectre is nearing a 1.0 release. The new functionality that will be in 1.0 is the ability to use functions for specifications (instead of templates.) I’ve completed the code that provides this functionality and amended the schema accordingly.
Version 3.0 of the Enterprise Library contains a Validator Block – there’s a CTP here. Looking at the details on Tom Hollander’s blog, this block has the closest functionality to nspectre of any framework I’ve come across. There is a difference in design philosophy – nspectre is designed to have as few dependencies as possible. There are dependencies between the Enterprise Library blocks.