Live data from Hacker News

Ask HN: How to make a native GUI with a modern language?

news.ycombinator.com

111–120 of 145 posts

Re: Ask HN: How to make a native GUI with a modern language?

#111
How much do consumers really care about the native feel? Is this even an issue? There are so many graphic libraries that can create all the needed components, I wonder if people even _want_ those OS-centric styles on the buttons/window borders etc etc. Maybe it's the web developer in me that has been pressured to do the opposite: consistent styles across all browsers. Platform quirks are a headache, not the goal.

Re: Ask HN: How to make a native GUI with a modern language?

#112
post #95

Earlier quoted context omitted.

> More important than native looking is to have a GUI that is fast, efficient and accesible. The best option that provides this in a cross platform way is QT. Java Swing and JavaFX are also good options. I would echo this. Consider applications like Photoshop or Blender, these don't really have a 'native' feel anywhere but their UX is generally responsive. On the other hand you have Electron applications that don't f…

What does Photoshop use?

As it’s very old, probably an in-house framework.

Re: Ask HN: How to make a native GUI with a modern language?

#113

Having a native looking GUI and being cross platform is almost contradictory. The only way to make truly native looking and feeling GUIs is to use native tools. That means Cocoa on macOS, Gtk or Qt on Linux, and Win32/Winforms/WPF/WinUI on Windows. Most cross platform frameworks won't really look 100% native. The only exception I know is wxWidgets, which provides an abstraction layer over the native toolkits. It's wr…

The other one is Eto.form for .Net and .Net core. Same concept as WxWidgets.

Re: Ask HN: How to make a native GUI with a modern language?

#114
Why do you want this app you are building to be cross-platform?

You've shared technical requirements, but you haven't shared business requirements. You should ask yourself whether you can actually achieve your business / user ends with a cross-platform approach. The three platforms are unique and users across the three have different expectations. For example as a Mac user, unless the software is super specialized such that there isn't any competition, a native Mac-focused solution will always be preferable to something that "kinda sorta" looks and acts like Mac software.

Without knowing the purpose of the software you are building, one has to really wonder if it needs to be native or should rather be a web app (for example), or even mobile first or tablet preferred.

Just some thoughts.

Re: Ask HN: How to make a native GUI with a modern language?

#115
post #95

Having a native looking GUI and being cross platform is almost contradictory. The only way to make truly native looking and feeling GUIs is to use native tools. That means Cocoa on macOS, Gtk or Qt on Linux, and Win32/Winforms/WPF/WinUI on Windows. Most cross platform frameworks won't really look 100% native. The only exception I know is wxWidgets, which provides an abstraction layer over the native toolkits. It's wr…

> More important than native looking is to have a GUI that is fast, efficient and accesible. The best option that provides this in a cross platform way is QT. Java Swing and JavaFX are also good options. I would echo this. Consider applications like Photoshop or Blender, these don't really have a 'native' feel anywhere but their UX is generally responsive. On the other hand you have Electron applications that don't f…

FL Studio is written in Delphi and the UI is very snappy and modern with a lot of animations.

Re: Ask HN: How to make a native GUI with a modern language?

#116
post #66

Curious why Kivy framework which uses Python is not even mentioned. Is there something that I should be worried about? I am planning to learn Kivy soon.

Well, that set me on a side track :). I thought I'd share my experience here. I've looked at Kivy in the past, but it didn't seem mature enough to rely on, especially for deploying to iOS/iPadOS. I just spent a couple of hours going through their documentation, building their example "Pong" app, and deploying it to macOS, iPadOS, and Android. All went off without a hitch, though I didn't mess with signing or trying t…

Thanks a lot for sharing your experience. This definitely makes me more hopeful about investing my time in Kivy! :)

Re: Ask HN: How to make a native GUI with a modern language?

#117
Many answers here are not well researched. There is not much of a selection of options for your requirement. I also imagine you want the app to be accessible then because of the three platforms? The only option then is Qt with whatever binding to your "sane language".

Cross platform GUI toolkit is a very underdeveloped area.

Re: Ask HN: How to make a native GUI with a modern language?

#118

One unusual alternative you may not have thought about is using Godot Game Engine. Before dismissing it, consider this: Godot engine is shockingly small for what it does. The download is about 30-40 MB. The GUI designer tool is second to none, and you can make highly interactive advanced GUIs using a language that looks very much like Python called GDScript. It is very quick to learn. It does make GUI which are nativ…

Wouldn’t that seriously hurt laptop battery life to use a discrete gpu to render the UI? Or is there someway to tell the OS that a non-discrete gpu is fine?

Re: Ask HN: How to make a native GUI with a modern language?

#119
post #95

Earlier quoted context omitted.

> More important than native looking is to have a GUI that is fast, efficient and accesible. The best option that provides this in a cross platform way is QT. Java Swing and JavaFX are also good options. I would echo this. Consider applications like Photoshop or Blender, these don't really have a 'native' feel anywhere but their UX is generally responsive. On the other hand you have Electron applications that don't f…

FL Studio is written in Delphi and the UI is very snappy and modern with a lot of animations.

Delphi always had a very good and fast UI library, the only complaint in the older days was that it made for big binaries because VCL would get statically linked

Re: Ask HN: How to make a native GUI with a modern language?

#120

Flutter seems like the strongest option right now Though overall, its not an uncommon issue. I've found myself in the same place multiple times, I've even considered using a lightweight game engine just for their UI features. But next time I run into it, I imagine Flutter will be what I go with Edit: Just realising you said "native-looking". Not so sure about Flutter for that, I'm not sure such a thing exists.

There are UI packages for desktop OSes with the native designs.
Post reply on HN