tl/dr:
Simply put, the cross platform distribution problem is solved (in way more ways than one), but I think the combination electron/nw.js + cross-platform-from-the-get-go languages will win, instead of other options like QT. I think it might be a waste of time to target a distribution and hope it gets ported reasonably to Windows, clouding your codebase in the process.
While possibly a highly unpopular opinion, this is where I think solutions like Electron/Node Webkit fit perfectly.I think this is actually kind of already solved (just not with the tools that everyone may want). We shouldn't be even aiming for any particular distribution to begin with, at the expense of a larger executable and less-than-native UI performance, you get write once ship just-about-everywhere when you use tools like electron/node webkit.
Developers often hate web programming, but it's just about the only easy to pick up, and relatively consistent tool for the job of platforms that "just work" (pretty much) everywhere right now. It even seems like the best way to do it going forward, given that:
- Browser companies will work hard towards making browsers faster and efficient, because it's in their best interest (which is the best kind of guarantee).
- Cross-platform minded languages like Go or Rust will become more popular for those who want to get away from using JS at all, and JS could basically become an RPC layer for the "real" application
- Once WASM really takes to the mainstream, languages will just compile it to it. WASM already has LLVM support, so there's a bunch of languages for free already.
So soon, JS won't even be the sticking point in why people dislike distributing cross-platform apps with Electron/NodeJS, then we'll focus on things like executable size and memory usage, and solutions will pop up for those things too.
Oh yes, I totally forgot, that option has been around forever as well (I only mentioned QT) -- I've only written one non-trivial app in it and it wasn't the worst experience actually (but then again, it was a greenfield project, albeit close to a decade ago now)
The Wheel of Time turns, and Ages come and pass, leaving memories that become legend. Legend fades to myth, and even myth is long forgotten when the Age that gave it birth comes again
Nothing is secure. That post is basically spreading FUD as far as I'm concerned. There isn't even a point of comparison to any other distribution platform/native toolkit.
I also trust browser vendors to focus on keeping stripped-down versions of their core products secure more than I just joe/jane schmoe the app developer that just learned how to use QT/Swing/whatever.
While possibly a highly unpopular opinion, this is where I think solutions like Electron/Node Webkit fit perfectly.I think this is actually kind of already solved (just not with the tools that everyone may want). We shouldn't be even aiming for any particular distribution to begin with, at the expense of a larger executable and less-than-native UI performance, you get write once ship just-about-everywhere when you use tools like electron/node webkit.
Developers often hate web programming, but it's just about the only easy to pick up, and relatively consistent tool for the job of platforms that "just work" (pretty much) everywhere right now. It even seems like the best way to do it going forward, given that:
- Browser companies will work hard towards making browsers faster and efficient, because it's in their best interest (which is the best kind of guarantee).
- Cross-platform minded languages like Go or Rust will become more popular for those who want to get away from using JS at all, and JS could basically become an RPC layer for the "real" application
- Once WASM really takes to the mainstream, languages will just compile it to it. WASM already has LLVM support, so there's a bunch of languages for free already.
So soon, JS won't even be the sticking point in why people dislike distributing cross-platform apps with Electron/NodeJS, then we'll focus on things like executable size and memory usage, and solutions will pop up for those things too.
<tl/dr goes here>