I have a client who wants a tool for him to be able to upload his products, enter orders, and keep track of customer details. There are quite a few highly customised requests, which is why he wants the tool custum made.

He does not care much about the interface design - it just has to be usable and provide access to the databade. I've already designed the database.

I have no experience of desktop applications and usually write my web apps in PHP with the Yii framework. But hosting this on a server seems like overkill. I also have .net experience from a few years ago. What would be the best options for writing this as a desktop application?

  • Why does this have to be a desktop application? Sounds like a web applicagtion would work just fine for your requirements. – Chris Oct 1 '12 at 0:52
  • 1
    It might help if you provided more details - for example, is offline usage a requirement? Then you'd need local storage, and so a desktop or app-based solution would be the way to go. With what you have listed so far, though, I'd go with a web-based solution as that is where your skills are at. – HorusKol Oct 1 '12 at 2:09
  • Sounds like a great opportunity to improve your .NET programming skills. – Doc Brown Oct 1 '12 at 5:29
  • @HorusKol, Chris - the client has requested desktop, but ye are right, web-based should work just fine. Thanks for help. – Mark Oct 1 '12 at 11:50
  • Have you had a discussion with the client about why they want it just on the desktop? Perhaps they don't realise what is possible - but if they really want a desktop solution then you should do a proper job and not some "local-hosted" solution. – HorusKol Oct 1 '12 at 23:46

Design a web application, and deploy it on his desktop by running apache and mysql locally. It's actually a feature that this "local" web application will be accessible to his LAN too.

| improve this answer | |
  • 1
    +1, but don't forget about security, even if it's only running on a LAN. – Onno Oct 1 '12 at 11:08
  • This really is a terrible option - adds overhead to the general processing and function on a computer that is probably already overworked with Windows 7; increases the complexity of the software and setup; will have issues with third-party firewall and anti-virus – HorusKol Oct 1 '12 at 23:44
  • Uses the skills and working relationships that are already available and in place. You're right about the complexity of setup, but that's a cost to get the benefits. – ddyer Oct 2 '12 at 0:37
  • and the costs outweigh the benefits: just because you can do a thing, doesn't mean you should – HorusKol Oct 2 '12 at 5:55

I say C#. It's a perfectly good programming language, has a nice and easy RAD interface for form design, and is gonna be WAY more responsive then even a locally hosted web application. You also get the benefit for learning C#, which isn't gonna hurt you.

| improve this answer | |

I think you should build the application for the web, but host it on his machine. Everything from the code to the database. This does have it's quirks, as the client has to do the maintenance.

I also suggest you talk to the client about the pros and cons of running it locally. It saves you from unnecessary headache.

| improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.