C# – Tips, Guides and/or Tutorials on writing a Windows desktop app for a PHP programmer by trade

aircdesktopwindows

Yup, long title. I've been programming in PHP for the last 6 years or so for work and personal projects, but I've got an idea for a desktop app (which incidentally, uses a web REST api).

I'm debating on how to approach this – I've got some experience in Java, C++, Perl and Python, but have never had the chance or opportunity to write and distribute an app to others of any significance.

The app will need to communicate with a REST API (with OAuth), as well as access the file system, and possibly do some image manipulation (encoding/resizing, but this is a nice to have). I've been thinking something on .NET, but AIR is a possibility too (though I really dont want a huge runtime hanging around, this will be a system-tray type app).

I'm not looking for someone to write it, but I could use a nudge in the right direction.

Best Answer

In terms of language support, you can do it in C++, Java, C#, Python, etc. In practical terms, I'd say C++, Java and C# are the choice for most of the users. But keep in mind that GUI support in both C++ and Java is complex to learn and use. If you plan to make many large projects, performance is a concern (both in size and speed) and you need a simple installation process, use C++. If these last restrictions don't apply (only the size and number of projects), use Java. Assume you'll have to spend some considerable initial time preparing the infrastructure (libraries & etc.).

If your plan is more short-term (not so many projects, not so large ones), use C#. It's realy the easiest to learn, use and produce code that works, and with the Mono project it's not restricted to MS platforms anymore.

Related Topic