Live data from Hacker News

Go + gxui: Rendering native app GUIs on any platform?

github.com

31–40 of 45 posts

Re: Go + gxui: Rendering native app GUIs on any platform?

#31
post #23

Earlier quoted context omitted.

The widgets are running natively on the client. There's no interpretation / JIT layer between the two like with a web stack. All you're doing with OpenGL rather than Win32 is drawing your widgets to the graphics buffer directly rather than using Win32 libraries to draw the widgets. So, to go back to the original comment, it is a " native GUI " it's just not calling Microsoft or Apple's toolkit libraries. This might s…

You still don't get it. Native widgets are not just a few state pictures that you draw. They have all kinds of behaviors that are tied to the OS settings.

[deleted]

Re: Go + gxui: Rendering native app GUIs on any platform?

#32
post #26
post #24

Earlier quoted context omitted.

I don't think anyone has ever said "native GUI" in the last 20 years. It's pretty nonsensical if you actually break down that passage to it's core components because it doesn't actually describe what specifically is "native": - the libraries? But that's a programming interface for drawing graphics, not itself a graphical interface. - the aesthetics of the widgets? This would be a more accurate interpretation, but the…

Well I guess we have to agree to disagree. Anything using the word 'native', in a UI toolkit context, has, in my experience, meant for over 20 years: 'uses the system-provided API's to render widgets, to ensure exact match with what the user is used to on the platform'. So, Qt is not 'native', because it uses only the most basic underlying drawing API's to approximate how controls look on that platform. The concept o…

This project just means the GUI is drawn natively rather than via a browser rendering engine.

Which isn't that impressive on the face of things, but bare in mind that Go is really known more for command line applications and web serving. So the ability to draw anything natively - be it via OpenGL or using Window et al's own toolkits - isn't a concept that's been explored by many.

Re: Go + gxui: Rendering native app GUIs on any platform?

#33
post #28
post #24

Earlier quoted context omitted.

I don't think anyone has ever said "native GUI" in the last 20 years. It's pretty nonsensical if you actually break down that passage to it's core components because it doesn't actually describe what specifically is "native": - the libraries? But that's a programming interface for drawing graphics, not itself a graphical interface. - the aesthetics of the widgets? This would be a more accurate interpretation, but the…

> I don't think anyone has ever said "native GUI" in the last 20 years. It's pretty nonsensical if you actually break down that passage to it's core components because it doesn't actually describe what specifically is "native" They have, and they have said it exactly as the parent mentions. See for example complaints about webkit based apps not looking and behaving native on iOS, and similar complaints for all kinds…

[deleted]

Re: Go + gxui: Rendering native app GUIs on any platform?

#34
post #30
post #27

Earlier quoted context omitted.

I'm sorry, but that reading is in clear contravention of the well understood meaning of "native" in the context of a UI.

[deleted]

One can easily extend that logic by saying something that is running Cordova is giving a native GUI to a iOS or android application, because all of it is natively rendering on the device.

Usually it means people are running the widgets that are coming from the vendor's toolkits. Windows: Win32/WPF, OS X: Cocoa, iOS: CocoaTouch, Android: etc. and so on.

That distinction is somewhat important because it also means the easiest way to get stuff like that running is typically with the language those libraries are written in: C++, Objective-C (or now Swift), Java, etc. It's like the holy grail of write once, run everywhere. Write it in one language and somehow have it run on the native (vendor) toolkit on every platform out there.

Re: Go + gxui: Rendering native app GUIs on any platform?

#35
post #34
post #30

Earlier quoted context omitted.

[deleted]

One can easily extend that logic by saying something that is running Cordova is giving a native GUI to a iOS or android application, because all of it is natively rendering on the device. Usually it means people are running the widgets that are coming from the vendor's toolkits. Windows: Win32/WPF, OS X: Cocoa, iOS: CocoaTouch, Android: etc. and so on. That distinction is somewhat important because it also means the…

I've not had any exposure to Cordova so I'm not going to comment on that specific comparison. But semantics aside, I do think all these arguments are very much against the spirit of this submission. And that's a large part of the reason I was defending their usage of "native" and "GUI". I just didn't realise the can of worms I was opening...

Re: Go + gxui: Rendering native app GUIs on any platform?

#37
post #31

Earlier quoted context omitted.

You still don't get it. Native widgets are not just a few state pictures that you draw. They have all kinds of behaviors that are tied to the OS settings.

[deleted]

What can be done and what's actually done are two very different things. Fully replicating something as simple as a button can be very hard. Its look depends on the OS, OS version, OS theme, OS scaling setting, OS font settings, the language (left-to-right, right-to-left). It has to support all kinds of OS accessibility hooks. It has to support all kinds of input devices. It has to follow the tab-focus rules. These are just the things I'm aware without looking them up, I'm sure there's a lot more.

Re: Go + gxui: Rendering native app GUIs on any platform?

#38
post #30
post #27

Earlier quoted context omitted.

I'm sorry, but that reading is in clear contravention of the well understood meaning of "native" in the context of a UI.

[deleted]

But that's not the sense that "native GUI" has ever had. Widgets are only part of the picture, regardless -- a GUI is defined by the layout, behavior, interaction model, and widgets.

Re: Go + gxui: Rendering native app GUIs on any platform?

#39
post #31

Earlier quoted context omitted.

[deleted]

What can be done and what's actually done are two very different things. Fully replicating something as simple as a button can be very hard. Its look depends on the OS, OS version, OS theme, OS scaling setting, OS font settings, the language (left-to-right, right-to-left). It has to support all kinds of OS accessibility hooks. It has to support all kinds of input devices. It has to follow the tab-focus rules. These a…

[deleted]
Post reply on HN