Hacker News new | ask | show | jobs
by SomeCollegeBro 3152 days ago
Have you actually written a large scale cross platform app for Linux and Windows? Sure, Qt components will show up on both platforms. But to get them to show up the same tends to be an incredible headache, especially if custom styling is applied.
3 comments

Yes, I have. Well, I guess it depends what you mean by large scale. But I wrote and shipped a Windows/Mac/Linux cross platform app using JavaFX with native packaging for each platform. I didn't try and match native widgets. I styled it to look like a desktop app.

It was quite productive and straightforward. That said, Java likes to use as much RAM as it can get even if it could release a lot back to the OS. It looks at it, sees it's free and thinks "I might as well take that".

We're talking about Slack, for context. Non-trivial QA effort to build cross platform apps, even with Qt.
Cant you put java apps on the leash with Xmax and Xmin memory ? I might be wrong, but I thought that was the case.
Yes, but within that leashes it will prefer not releasing back what it has. E.g. if you say minimum 256, maximum 1G, if you used 1G for a short time it tends to hold onto it. This is a performance optimization iirc - it is far cheaper to wait a bit if you need that memory again than releasing it to the OS and then requesting it back again.
"But to get them to show up the same"

That shouldn't be the goal. Linux and Windows have different norms when it comes to UI design, and (usually) have completely different widget appearances. You can save yourself a lot of headaches by just specifying the bare minimum (i.e. the widgets themselves) and letting the user/system remain in control of exactly how they appear.

In other words, if you're treating desktop GUI design as equivalent to web GUI design and expecting your app to look the same across all platforms, you're going to have a bad time.

Why would you want them to be the same? What percentage of people who use slack on both platforms and who care whether the appearance is the same on both?
Many people expect similar UIs for better branding and easier workflow.
I'd sooner guess that most reasonable people would prefer the UI be consistent within their chosen platform. Yeah, Slack's UI is pretty, but it sticks out like a sore thumb on pretty much every platform because it looks nothing like any of the other applications running on one's machine.