100% DX, 14 Years Later: Was I Right?

In January 2012 I wrote a post called “What’s in your toolbox?”, running through the tools I leaned on. My favourite grid at the time was the Component One Flexigrid. A few months later, on 29 April, I followed it with “100% DX”. That one started with a simple, slightly annoyed question: could I get everything from one provider and stop paying for a shelf full of components from everyone else? I was tired of buying a control here and a control there and renewing a stack of licences a year to keep the toolbox alive. The politer, public version of the question was whether a single third-party set of components could really deliver real-world business solutions. Same question, if I’m honest.

The sticking point was the grid. I’d said the DevExpress grid didn’t give me the flexibility or the granular control I wanted, and that answer raised a few eyebrows. The real reason underneath was binding. I didn’t bind data the traditional way, and the grid and I didn’t agree on that. So instead of leaving it as an opinion, I went and tested it. I moved real projects across, Desktop Manager among them, onto memory-bound models and put the DevExpress grid to proper work. It took some new learning on my part, no getting around that. But once I got there the grid performed, and it gave me everything I’d wanted from a grid in the first place.

That was the moment the bigger idea took hold. If the one control I’d been most stubborn about could win me over, maybe the whole toolbox could go. Maybe one vendor really could carry the lot.

Fourteen years on, I think it’s fair to ask whether that bet still stands up. The .NET world has been rebuilt more than once since then, we’ve all got an AI sitting next to us now, and “one vendor for everything” is exactly the kind of claim that ages badly. So let me be honest about where it landed.

The bet aged better than I expected

The grid was only the start of it. Reporting was next, and DevExpress Reports won me off Crystal without much of a fight. One by one the pieces I’d have gone shopping for were already in the box. In 2012 that mostly played out across WinForms. Today the single Universal subscription reaches across WinForms, WPF, Blazor, ASP.NET Core and .NET MAUI, with DevExtreme covering the JavaScript side (Angular, React, Vue) if a job ever calls for it, and reporting on top. My Delphi work sits under a separate VCL subscription, but it’s the same partner either way, and that’s the part that matters to me. When Microsoft ships, it keeps up. .NET 10 and Visual Studio 2026 were supported before I needed them.

The point that matters to me isn’t the feature list. It’s that the exact stack I actually deliver in for clients now sits under one roof. That was the whole idea I was chasing back then, and it covers far more ground today than I dared hope it would.

Why it still makes sense for a small shop

I run a small operation building software for Australian businesses. The original question was about money, and that part answered itself. One partner to deal with instead of six. But the bigger saving turned out to be time. One vendor means one way of thinking about a control whether I’m on the desktop, the web or a phone. The theming carries across instead of being re-plumbed on every platform. One support channel and one upgrade to reason about instead of five.

Every clever third-party part I don’t bolt on is a bit of integration and a future maintenance headache I never have to own. For me that has always been the real argument. Not that any single control is the best in the world, but that I stopped losing days gluing other people’s components together.

What you’re really paying for

It’s tempting to frame this as one vendor against the free alternative, but that’s a contest that never really existed. There have always been cheap and free components sitting on the shelf next to the paid ones. That was true in 2012, and it’s true now that an AI will happily knock up a control for you in an afternoon. Price was never the thing that decided it.

What I’m actually paying for is security, support and future-proofing. A serious partner patches what needs patching, answers the phone when something breaks in production, and keeps the product moving so the app I ship this year still runs on next year’s framework. I moved a fifteen-year-old .NET Framework app to .NET 10 in days not long ago, and the only reason that was possible is that the components had kept pace the whole way. A pile of free parts gives you none of that. It hands you a maintenance liability you carry on your own, right up until the day it breaks and there’s no one to call.

So, was I right?

Mostly, yes. And it paid off for a reason I didn’t fully see at the time. The bet wasn’t really on a grid, or on any one control. It was on being willing to change how I worked, to meet a good tool halfway, and trust that if I did the learning the tool would hold up its end. It did. The grid, then reporting, then near enough everything after. DevExpress has been in every client project I’ve taken on since.

The question has just changed shape. It was never really “which vendor wins.” It’s whether you want to own the security, the support and the long life of your app on your own, or have a partner carry that weight with you. For the businesses I build for, who need the software still working and still safe years from now, that answer is an easy one. And the partner is still shipping, which is rather the point. v26.1 landed this year like every release before it.

Fourteen years ago I changed my mind in public and it turned out well. I’m still happy to keep doing that.

Leave a Reply

Discover more from Paul Usher

Subscribe now to keep reading and get access to the full archive.

Continue reading