The amazing thing is that 30 years ago there were cross platform toolkits like Neuron Data and the toolkit under OpenOffice(called StarOffice originally), and yet today the options are still fragmented and imperfect. We have far better compilers and even languages for cross-platform work, so it should be easier by now.
I really think that the Lazarus Component Library took the right approach: https://en.wikipedia.org/wiki/Lazarus_Component_Library I wonder why the idea of widgetsets never really went anywhere: https://en.wikipedia.org/wiki/Widgetset You could take a program that says you need a button in the window and it would make one for you on Qt, GTK or whatever else was supported, on any platform that you were compiling for.…
Gio UI – Cross-platform GUI for Go
121–130 of 224 posts
Re: Gio UI – Cross-platform GUI for Go
#122Earlier quoted context omitted.
Why would it be easier now? What does a better compiler get you in terms of building a cross-platform UI toolkit? We now have GPUs, mobile OSs with their own separate UI abstractions, the web, WebAssembly, etc. And people want write-once deploy anywhere. You didn’t have any of that 30 years ago.
The compilers of 30 years ago had incompatible behaviors between OSes, for instance C or C++ had a great deal of variation. And 30 years ago you had pre-OSX MacOS as well. Now you can just choose 1 compiler such as GCC and it works the same on all platforms; even cross-compiling to a different CPU architecture works well and is far easier to setup (before it was a black art).
Re: Gio UI – Cross-platform GUI for Go
#123The amazing thing is that 30 years ago there were cross platform toolkits like Neuron Data and the toolkit under OpenOffice(called StarOffice originally), and yet today the options are still fragmented and imperfect. We have far better compilers and even languages for cross-platform work, so it should be easier by now.
Why would it be easier now? What does a better compiler get you in terms of building a cross-platform UI toolkit? We now have GPUs, mobile OSs with their own separate UI abstractions, the web, WebAssembly, etc. And people want write-once deploy anywhere. You didn’t have any of that 30 years ago.
Re: Gio UI – Cross-platform GUI for Go
#124Earlier quoted context omitted.
The best option is probably Flutter right now: https://flutter.dev/ If you don't mind writing the UI native, sharing only business logic code, Kotlin is an option: https://kotlinlang.org/docs/multiplatform.html#kotlin-multip... Kotlin also can do the UI if you use Compose: https://www.jetbrains.com/lp/compose-multiplatform/ ... however, iOS support is still in alpha, and Web is "experimental". If you're not willing t…
[flagged]
Re: Gio UI – Cross-platform GUI for Go
#125Re: Gio UI – Cross-platform GUI for Go
#126A bit off-topic, but what's the best method to build cross-platform mobile & web apps nowadays ? I'm talking either business logic + UI , or just business logic ? like gomobile, rust, typescript, etc ? At some point i thought about using typescript for all business logic, as it seemed the most portable tech, but i realized there's no good way to have decent performance running javascript on iOS.
The best option is probably Flutter right now: https://flutter.dev/ If you don't mind writing the UI native, sharing only business logic code, Kotlin is an option: https://kotlinlang.org/docs/multiplatform.html#kotlin-multip... Kotlin also can do the UI if you use Compose: https://www.jetbrains.com/lp/compose-multiplatform/ ... however, iOS support is still in alpha, and Web is "experimental". If you're not willing t…
I think all cross platform frameworks come with some kind of drawbacks and in most cases, learning about the underlying native platforms is unavoidable (like widgets, visionOS support etc).
So I wouldn’t worry too much or get into a FOMO decision block - I’d pick the one that feels most fun and fits your use case.
Re: Gio UI – Cross-platform GUI for Go
#127I built a small app in Go using Fyne. Never again. Both Gio and Fyne lack tons of polish and features Flutter provides. I built my core logic in Golang, and then decided to wrap it in an Android app. The GUI feels like it came out of 2003 with limited ways to fix it.
Sounds interesting. How did you wrap it in an Android app if you could elaborate?
It's really hacked together, but it works.
Re: Gio UI – Cross-platform GUI for Go
#128The amazing thing is that 30 years ago there were cross platform toolkits like Neuron Data and the toolkit under OpenOffice(called StarOffice originally), and yet today the options are still fragmented and imperfect. We have far better compilers and even languages for cross-platform work, so it should be easier by now.
Yes, as a longtime software developer people have been trying to solve this problem different ways my entire career. The closest we got was Java swing. And it works well enough for things like eclipse but for some reason, nobody wants to use it and they want to use things like Electron instead
Horrible as it is, web browsers have managed to provide a common platform for user interface delivery. The browser wars have been fierce, and getting this foot between the door has cost several companies a lot of money. This technological monopoly is far from optimal, but I fear that we are stuck with it, as we are with QWERTY keyboards, USB thumb drives that must be unmounted manually, and the hopeless misery that is Bluetooth.
Re: Gio UI – Cross-platform GUI for Go
#129The amazing thing is that 30 years ago there were cross platform toolkits like Neuron Data and the toolkit under OpenOffice(called StarOffice originally), and yet today the options are still fragmented and imperfect. We have far better compilers and even languages for cross-platform work, so it should be easier by now.
Building a cross-platform GUI toolkit takes an incredible amount of work & time, especially at the systems level.[0] A robust cross-platform ecosystem for the underlying programming language is a necessary but insufficient piece of the puzzle. Given the proliferation of HTML and WebView/web-tech wrappers (Electron, Tauri, React Native etc.) there are now enough "good enough" solutions that most organizations that wou…
Re: Gio UI – Cross-platform GUI for Go
#130The amazing thing is that 30 years ago there were cross platform toolkits like Neuron Data and the toolkit under OpenOffice(called StarOffice originally), and yet today the options are still fragmented and imperfect. We have far better compilers and even languages for cross-platform work, so it should be easier by now.
I'm still super disappointed that javafx died.