Live data from Hacker News

Ask HN: Recommendations for a desktop app development environment?

news.ycombinator.com

1–10 of 22 posts

Ask HN: Recommendations for a desktop app development environment?

#1
We need to build a small downloadable client software to complement our web app. Basically users will download this, install and it will guide them through a series of steps to help them upload certain files.

Most of the current solutions in this space use Java applets, which are often not supported by default and thus hard for our users (who are relatively non-technical)

Would love to hear your recommendations for a good solutions to this. Ideally we'd like to have one codebase, but having separate executables for Win/OSX/Linux would be fine.

Our priorities are as follows:

1. The final product should be easy to install for the user (ie not require them to install any additional software)

2. Decent looking GUI (doesn't have to be perfectly native looking)

3. Quick to develop in

4. Ideally single codebase, at least for Win/OSX

EDIT: cleaned up a bit and added requirements

Re: Ask HN: Recommendations for a desktop app development environment?

#4
python + pyside + {py2exe, py2app} is pretty nice, but it still has the problem of users having to find a file that they downloaded to run it.

If you know what browser they're running the extension apis for firefox, chrome, and safari give you access to the OS and the ability to run your own native code.

Re: Ask HN: Recommendations for a desktop app development environment?

#6
Look into Qt. It's cross platform and widely used and I think you can even use JavaScript if you aren't familiar with other programming languages.

Also personally for a simply program I would not have the users install it. A self contained executable would be sufficient and less of a hassle. You can still put store data in the user's own configuration directory.

Re: Ask HN: Recommendations for a desktop app development environment?

#7
It depends upon your language of choice; I'd advise you to use a well known and well supported cross-platform GUI toolkit (by order of personal recommendation): WxWidgets, Qt, Gtk, Tk, GNUStep,Fltk ... It largely depends upon your familiarity with the toolkit, the quality of available bindings for your language of choice, and the importance (or not) of having a nice GUI, following more or less closely the host system visual guidelines.

Generally I'd naturally go for WxWidgets, which is mature, relatively easy to use, provides bindings for about any language in common use, and gives a good look-and-feel and OS integration on Windows, Mac OS X and Gnome/KDE desktops.

Many people (more often Apple purists) will pretend that cross-platform toolkits are ugly and don't fit well anywhere. That's blatant nonsense, IMO; nowadays in fact it's quite the opposite, even the old cranky Tk can be made decent-looking without much work (but good knowledge of its internals).

Java applets are a real problem mostly on windows, because windows hasn't come with Java pre-installed for a very long time; the JRE is a complete PITA to manage (long, slow updates about each time you need it...), then Java desktop apps have pretty horrible startup time and heavy memory usage. Python, or Perl, or even C/C++/ObjC are probably saner and easier choices overall.

Re: Ask HN: Recommendations for a desktop app development environment?

#10
I'd pick Qt. If you are more familiar with web technologies, the QML based UI-design comes naturally. If your app is very simple (like static content with state changes), you can code most of it in QML/JavaScript. It's cross-platform, quick to develop, native UI, etc.
Post reply on HN