Question

Do you write consumer desktop applications with .NET languages? If so what type?

My impression is that most consumer desktop applications are still native compiled applications in C, C++ and the like.

Whilst .NET languages are growing in up take and popularity, do these new breed of applications ever break out of the enterprise & web domain to become high street consumer applications?

For example look at your desktop now? how many applications are written in .NET languages, Firefox? Microsoft Office? Thunderbird? iTunes? Microsoft Visual Studio?

My company develops high end CAD/CAE applications we leverage new technology but our core development is still done with C++.

Was it helpful?

Solution

I built and maintain a big desktop application written in .NET (1.1, 2.0 now). The application is for Dentists and it works by making use of the Ink technology found in the MIcrosoft.Ink namespace in the TabletPC SDK. Some dentists use Tablet PCs to make things easier and leverage the power of that technology.

On the other hand, since I find Windows UI not good looking (XP/Vista) and find that every application looks the same and inconsistent, I wrote my own GDI+ library of controls and while respecting more or less the "windows UI guidelines", I came up with very nice buttons and other UI elements that make my App look "way better" than any other "normal" windows application.

We run at full screen (maximixed, no controls, no app bar), but we do this because it's a very specific application used in machines dedicated to the task. Dental clinics don't use Microsoft Excel and ALT-TAB to our application. The application works like an "ATM", touch touch, done. Very simple. It has been a success in Europe where I am.

So I have to say that I am glad that the app is not a web application, because when we started, the .NET GDI+ for Windows Forms was way superior to anything that WEB could have offered; even today, Ajax is not able to reproduce the full desktop experience (not that it should but…).

Java had an ugly UI back then (don't know now) so we elected .NET and used C# ever since.

Desktop applications are not going to die anytime soon, some things still cannot be reproduced inside a webrowser.

I considered Java, C++, Delphi among others before starting with this six years ago. None offered the simplicity and power of c#.NET with little disadvantages (like the Framework that nobody had back then). Now, every windows box will surely have the .NET Framework 2.0.

Again, my consumer application is very specific and targeted towards a closed market, but we don't have anything against .NET.

OTHER TIPS

As mentioned, I know of Tomboy, Beagle, and in addition, F-Spot. All come as part of most linux distros. Paint.NET is another app.

Maybe you are seeing this because many of the popular desktop apps have a code base older than 2001?

Edit: I should probably have said older than 2003 or 2004...I doubt anyone would have started a major desktop app the first year or two of the .NET release.

Intuit's TurboTax 2007 and 2008 are both written in .NET. Unlike the demo of a niche-market video edit tool I griped about in a comment to another answer, it actually installed completely cleanly and without incident (including its self-updater trick) on my slightly aging XP box here at home.

This year's UI is substantially different from past years, and for the most part its better. Since the transition to .NET seems to have happened last year without changing the UI much at all, the new UI can't be blamed on (or credited to) the switch to .NET.

I'm just a user, and have no idea what motivated their dev team to switch.

I do think that is the first retail software package I've caught in the wild that was clearly based on .NET.

That's a shame. The only reason to hold back on desktop development with .net is the requirement of the .net framework on the desktop machine, but imho that is a small price to pay for the bennefits you get when being able to work in the .net environment.

Visual Studio (at least 2008) IS written in .NET

As long as you don't need über performance, I can't see any reason not to use .NET. With the new super small redistriutables you can include a .net installer that takes up a couple hundred KB.

I would say that the productivity gains of a modern, garbage collected language should only make C++ a good option if you already have the developers who are proficient in that language or there are specific technical requirements which makes it necessary or if the clients' machines are locked down such that the .net platform cannot be used.

While I'm not a part of the working force yet (i.e. I am a student), everything I can get away with I write in C#. Nothing else I've tried comes close to the level of efficiency and cleanness afforded by this language (and which provides all the productivity features of Visuall Studio).

I've noticed that in Process Explorer more and more of my desktop apps are being highlighted in yellow (meaning they're .Net). As mentioned above, ATI's Catalyst is, Windows Live Mesh, many games have .Net update or config engines, as well as most of the bits I write that haven't quite made it into the public arena yet (because I don't have as much time as I'd like for coding & testing). Also, large parts of Visual Studio ARE .NET - at least according to Process Explorer.

I think that, as somebody mentioned above, there are a lot of desktop apps already out there that have older code-bases which their owners won't convert unless there's some fantastic value in doing so.

Well there are apps such as Tomboy and Beagle which are available as part of some Linux distros so I'm not sure if they count as high street consumer applications. Come to think of it I'm not really that aware of any other "non-enterprise" applications written in .NET languages.

Not the traditional desktop app, but the ATI Catalyst Control Center is .NET based.

Actually, I have found some applications that require .Net on my desktop.

The most famous is Paint.Net, but also amongst them is "Catalyst Control Center", delivered with my ATI graphics card.

And naturally, our company is writing our own desktop .Net application. Our target audience are business users.

There probably won't be a whole lot of winforms apps in the traditional sense being written, but the next version of both windows live messenger will be written in windows presnetation foundation and I think this is what the trend will be towards.

Windows Media Centre was written in C# which is pretty impressive, but having said that, it's not your traditional winforms app either.

TechSmith's Jing is .NET, and in fact it is WPF so it is 3.5, bleeding edge .NET.

Almost all the client programs written here where I work are in .NET; it's a terrific platform for business applications. Having said that, most of the programs out there that .NET would be a good target for are being deployed as web applications instead; the rest are typically graphical and cpu-intensive applications that are typically implemented in c++ for performance reasons. For the same reason, you don't see too many desktop applications written in java, either.

Most of you refer to open source. I agree, there are some projects using .NET (I'm using RSSBandit for example) but they doesn't matter (mostly). But what about enterprise apps? Recently I've written app which is like MS Surface and it is for advertising purposes. Before this I had to write an app to maintain warehouse for example. Something different? In times of WinForms I've written an app to support ebay-like page. Do you need any more?

Personally, I think that .NET is widely use in business (which you don't see everyday) and it's not used by open source (why? I don't know, maybe contributors hate MS?). However, I also think that it will be changing towards .NET, especially with the next releases of the Windows platform. And, I almost forgot - installing .NET framework is not a problem, be serious, users are not that stupid and lazy!

And it's true that desktop is loosing it's mojo to web environment, but it will never die ;)

Microsoft InfoPath - part of Microsoft Office is also written in .NET

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top