Live data from Hacker News

Ask HN: Recommendations for a desktop app development environment?

news.ycombinator.com

11–20 of 22 posts

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

#12
http://en.wikipedia.org/wiki/Java_Web_Start

Java applications can be launched by downloading a small file (JNLP).

1) Java is required to be installed, but is fairly common already.

2) Decent loooking GUI, it can look a little dated but it works.

3) Java is relatively easy to develop with.

4) Java is cross platform so it will work on Windows/OSX/Linux.

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

#13
dropbox uses python extensively in their client apps, with some bindings to native platforms.

Personally, I'm looking into doing c#/mono and either qt or sdl for graphics, but wouldn't really recommend it unless your app depends on graphics speed.

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

#14
If your goal is to provide a quality solution for your users, you should be writing it in the native platform SDKs.

If your goal is to try to save yourself some effort, even though it will negatively impact your users, then you should use whatever set of cross-platform tools you can be successful in.

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

#15
post #12

http://en.wikipedia.org/wiki/Java_Web_Start Java applications can be launched by downloading a small file (JNLP). 1) Java is required to be installed, but is fairly common already. 2) Decent loooking GUI, it can look a little dated but it works. 3) Java is relatively easy to develop with. 4) Java is cross platform so it will work on Windows/OSX/Linux.

I heartily agree with this for a simple uploader app. The work required to get a basic version running and ready for distribution is minimal. However, make sure you test it on several platforms to make sure it looks nice and intuitive on each one. I have used one or two Swing apps with extremely strange-looking file pickers that did confusing things like consistently open up to / instead of to the user's home directory. I've also seen Java Web Start apps that used the Motif look and feel on OSX! I think things like that only happen if you go out of your way to screw up, but test to be sure. Avoid silly mistakes like that and Java Web Start will be just fine for such a simple application, and much less trouble to package and distribute.

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

#16
post #11

Thanks everyone for the recommendations so far! Looks like we need to check out Qt and wxWindows. BTW does anyone have any experience with Adobe Air for this? (Not sure if still maintained or not..)

If you're just doing GUI stuff and don't need low-level access, AIR will do just fine.

It's a bit bloated and slow and doesn't have native widgets at all, but for a one-time wizard it should be fine.

Download TweetDeck (which is an AIR app) to get a feel for what to expect.

Also, AIR is still alive and kicking. It seems like Adobe is planning for Air to outlive (in-browser) Flash.

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

#17
post #11

Thanks everyone for the recommendations so far! Looks like we need to check out Qt and wxWindows. BTW does anyone have any experience with Adobe Air for this? (Not sure if still maintained or not..)

It still is. In fact AIR might be the simplest choice out there, since you can develop for it with web based technologies. But it is severely restricted when it comes to accessing native desktop APIs. The default look and feel are very ...web-ish, that might or might not be what you want. One thing for sure is that the look is pretty consistent as they include a Webkit rendering engine.

My biggest gripe with with AIR is that the user has to install Adobe AIR before he can install your application and you know how Adobe installations are.

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

#18
You might have some luck with wrapping a web application into a desktop one by using something like Tide SDK (formerly Titanium Desktop). You wouldn't get a proper desktop application, but I think it would definitely work as a file uploader and it should be easier for your team to manage.

http://www.tidesdk.org/

Things like Adobe AIR would serve the same purpose, but the user experience isn't that great, arguably on the same level with Java if not worse.

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

#19
IMO, if conversion rates are a concern, the need to download a separate runtime first makes Java, newer versions of .NET, etc non-starters. Note that Adobe AIR doesn't require this anymore: http://www.adobe.com/devnet/air/articles/air3-install-and-de...

If you're providing a useful tool to already-committed users of your website, this might not be an issue.

If slightly non-native looks aren't a concern, go with whatever's easiest. I'd choose Qt/C++, but I'm already comfortable with them. py2exe/py2app are probably reasonable if you know Python.

Consider outsourcing this if you can. The details will occupy a lot of your time. For instance: you ideally want both a standard Windows installer (put together with something like NSIS), and to sign your installer + installed executable to avoid Windows warning your users that it's probably malware. That's a day's work for someone who has done it before, probably a week for you to do it the first time.

EDIT: that said, if you do outsource, beware that most contractors will be blind to their preferred environment's sore spots. Java+Swing devs don't account for Swing apps looking like ass, .NET devs don't care that needing to find, download and install the Microsoft .NET 4.5 Runtime Environment pisses your users off and hurts conversion rates, etc.

EDIT 2: test, test, and test some more. Just because your app runs fine on Windows XP doesn't mean it will work fine on Windows 7 64-bit, and vice versa. If you're eligible (most startups are), it's worth signing up to Microsoft BizSpark just to get access to ISOs of every Windows version from XP up from MSDN.

Post reply on HN