Live data from Hacker News

Ask HN: What would you use to make cross-platform desktop application?

news.ycombinator.com

21–30 of 116 posts

Re: Ask HN: What would you use to make cross-platform desktop application?

#21
I think it depends on the type of application, and how much code you want to reuse. Assuming this a fairly large scale app and long term maintainability is a consideration:

* If some of the code is likely to be reused with an associated website I would go for Electron. Using ReactJS.

* If an associated mobile app is also possible, I would take a look at React-Native, which have some embryonic desktop technology counterparts. This option can be combined with a webview.

* Worth also looking at Xamarin, especially if there's existing investment and skills in .NET (e.g. existing Windows app being migrated).

Re: Ask HN: What would you use to make cross-platform desktop application?

#22
post #18

If you can, wait WebAssembly support for Web/DOM API and support from languages like Kotlin/Swift. This will be a game changer.

I hear people say this and am always incredulous that this stack would be available (let alone viable) in the next 5 years.

Re: Ask HN: What would you use to make cross-platform desktop application?

#23

I would take opinions on here from developers with a big grain of salt. I read people saying things like Spotify and Atom are "unusable" and slow because they're written in JavaScript when they have plenty of happy users. A few 100MB of RAM or disk space extra is a nonexistent issue as well to typical users. I know some developers get very offended at a program using a bit more RAM or CPU than it should be but develo…

My laptop has 2GB RAM. Firefox takes up about a quarter of it on average, Emacs is about 10-100MB, the system (Xubuntu) seems to take up about a GB, and what remains is indeed a few hundred megabytes. This means that I can run half an Electron app at a time on my machine. And normal people don't have more than 4-8MBs of ram on their computers. And high CPU and RAM usage drains battery, and most people are on laptops nowadays. So RAM and CPU use is still a thing for users. If anybody thinks otherwise, that's probably because they're in their bubble of hackers and have only a guesstimate about an ordinary user's use of a computer.

Re: Ask HN: What would you use to make cross-platform desktop application?

#24

I would take opinions on here from developers with a big grain of salt. I read people saying things like Spotify and Atom are "unusable" and slow because they're written in JavaScript when they have plenty of happy users. A few 100MB of RAM or disk space extra is a nonexistent issue as well to typical users. I know some developers get very offended at a program using a bit more RAM or CPU than it should be but develo…

> I would take opinions on here from developers with a big grain of salt.

If you "Ask HN" for opinions how can you take those opinions with a grain of salt?

Surely if you can't trust HN commenters then Ask HN is a waste of time.

Re: Ask HN: What would you use to make cross-platform desktop application?

#25

Lazarus is a cross-platform IDE for native desktop applications on Windows, Mac and Linux. It produces fast, low-memory, single executable files for easy installation and deployment. Your app can use native OS controls - you won't be gluing together different libraries from different languages like you do with some scripting languages (with all the bloated size and performance issues that entails). Why isn't it more…

Why FreePascal..? This is suicide.

Something a little less hyperbolic might be better, e.g. what specifically is wrong with FreePascal?

Re: Ask HN: What would you use to make cross-platform desktop application?

#26
post #5

Have you checked out [NW.js]( https://nwjs.io/ )? I'm not sure if it's better than Electron in terms of executable size and performance, but definitely worth a shot. Then there's [Kivy]( https://kivy.org/#home ). Love that.

One of the main guy behind nwjs was actually hired by Github to create Electron.

Re: Ask HN: What would you use to make cross-platform desktop application?

#28

I would take opinions on here from developers with a big grain of salt. I read people saying things like Spotify and Atom are "unusable" and slow because they're written in JavaScript when they have plenty of happy users. A few 100MB of RAM or disk space extra is a nonexistent issue as well to typical users. I know some developers get very offended at a program using a bit more RAM or CPU than it should be but develo…

Speaking as someone with an Ultrabook that had to run Chrome, Outlook, Skype, and various office apps and so forth, this attitude infuriates me.

Slack uses 400-500MB of memory. That's 15% of my RAM. For a chat application. Every Electron app is in this range. None share a runtime or memory footprint.

Believe it or not, not everyone has 16GB of RAM. This level of inefficiency is utterly inexcusable.

Re: Ask HN: What would you use to make cross-platform desktop application?

#29
post #28

I would take opinions on here from developers with a big grain of salt. I read people saying things like Spotify and Atom are "unusable" and slow because they're written in JavaScript when they have plenty of happy users. A few 100MB of RAM or disk space extra is a nonexistent issue as well to typical users. I know some developers get very offended at a program using a bit more RAM or CPU than it should be but develo…

Speaking as someone with an Ultrabook that had to run Chrome, Outlook, Skype, and various office apps and so forth, this attitude infuriates me. Slack uses 400-500MB of memory. That's 15% of my RAM. For a chat application. Every Electron app is in this range. None share a runtime or memory footprint. Believe it or not, not everyone has 16GB of RAM. This level of inefficiency is utterly inexcusable.

Not everyone has 16B of RAM, and those that do get worse battery life because that much RAM is a significant part of a laptop's power budget.

Re: Ask HN: What would you use to make cross-platform desktop application?

#30

Obligatory: Qt. I've been tasked as a Qt dev at my day job for the past ~2.5 years writing cross-platform applications. It works, the documentation is pretty fantastic, and you'll find no shortage of help online to get over the admittedly decent learning curve if this is your first swing at "c++" programming. Edit: As mentioned below, PyQt is also pretty fantastic. My most recent venture into the PyQt world at work w…

Seconded:

- QT is a great and very-well designed library with solid performance, a fast release cycle and superb documentation.

- It provides a rich and well thought-out component library.

- It is used by many companies to build real-world applications.

- It has a pretty liberal licensing scheme. The commercial license (if you need it) is not that expensive.

- It provides bindings for many scripting languages like Python.

- It has great IDE support and lots of tooling around the core library that make GUI design easier.

- It emabraces model-driven design and has stylable components (via CSS).

- It will usually beat most JS / WebKit based frameworks by a large margin performance-wise and makes distribution of your application much easier (forget about >100 MB downloads).

Post reply on HN