Hacker News new | ask | show | jobs
by yazriel 3790 days ago
Why oh why do people still write standard GUI applications in non-portable platform ?!

Its a mystery to me

9 comments

You either make it look beautiful in one place, or make it look like ass in three places.

Or, option C: You use Electron, like Slack.

I keep waiting for Slack to realize that they're a big enough company now that they can afford to make native apps that look and work better than the Electron version. I'd much rather have a real native app than a webpage inside some minimal window chrome. Different strokes for different folks I guess.
The Slack client looks nice but it's incredible how inefficient it is (presumably due to being a web app in an Electron wrapper). I used it recently on a low powered laptop and keystrokes sometimes took 100-300 msec to appear on screen. No other text entry application on that computer had that problem.
What would be some of the improvements making slack native? I don't have many problems with the current one other than it is quite large.
Memory usage, CPU usage, OS integration, security.
Gotcha, thanks
Qt looks very nice to me. But then again my preferred GUI is ncurse in my terminal (urxvt) with tmux in a tiled window manager (i3).
Another option - you can do everything in a terminal. Not everyone finds minimalism beautiful, but - if you do.
It's still going to be a bit of a problem, as you have the Unix terminals (bash, zsh, fish, among others), and then you have the Windows terminals (cmd.exe and PowerShell).
There are benefits to having a pure, native app. Quiver starts literally instantaneously without any lag, partly because it's less than 5MB(!) in size. Here's a good read from the author: http://yaoganglian.com/2015/11/21/Quiver-3/
Yep. Speaking specifically about developing for OS X only vs. multiplatform, there are big tradeoffs to be made by taking multiplatform options outright. In my eyes, nothing is as great for UI-centric desktop application development as Obj-C/Swift paired with Cocoa/AppKit. It just works so well, and though Qt is probably the best of native multiplatform solutions it’s still not comparable.
Exactly. I used another note taking app, aptly named "Notebooks" (http://www.notebooksapp.com), which is built with Qt. It's cross platform, open data format, and while it sort of looks and feels almost like a native app, it just doesn't compare to a true native app like Quiver.
I was disappointed to see it was OS X only, but having written several GUIs (single and cross platform), I understand the trade off they made.

It really is one-platform or web, and web is not for everyone (least of all programmers writing notes about their code at work.)

That's my experience as well. Electron/NW.js is the best option, but 1) it's like designing a website, which can get annoying at times, and 2) the file size :(
I agree on that. Unless you are developing a platform specific utility that is not meaningful in other environments, it is not a good practice to limit yourself. It also makes sense is when you are not creating a product bust just playing with a technology.

Even Microsoft is now doing multi-platform tools for developers (https://code.visualstudio.com/).

Because otherwise they don't look or behave nicely.
Or you end up writing the same product multiple times.
Because the result is always better?
Might be a mystery but I'm really glad they keep doing it, because the alternatives are 1) all your data are belong to us, or 2) it looks terrible everywhere.
IMO there is nothing worse than a non-native app, especially if it's something designed for a web browser like NodeJS and friends.
Then solve the mistery. What use that is truly good?