GUI - Current cross-platform GUIs, Graphics for Go?

1,475 views
Skip to first unread message

wormra

unread,
Sep 12, 2014, 1:32:30 PM9/12/14
to golan...@googlegroups.com
My dream for Go is a cross-platform GUI. I want pure Go. I want static builds where possible. 

I'd like nothing more than to ditch C++, Qt, WxWidgets, etc. I want to use Go as a fuller language, beyond systems, as the original vision seemed to be heading as an evolution of C. Many of you feel the same. What's the current state of affairs for a cross-platform GUI? 


I made a list:
====================================

Andlabs/UI
https://github.com/andlabs/ui

Go-QML
https://github.com/go-qml/qml

Walk
https://github.com/lxn/walk

Termbox-Go
https://github.com/nsf/termbox-go

GoQt
Defunct? 

Gform
 
WxGO  
Several projects with that name.

Go-Gtk 
 
Go-Webkit
https://github.com/mattn/go-webkit

Go.Uik 
https://github.com/skelterjohn/go.uik
Closed

IUP

---------------------------------

Go + OpenGL, Graphics:
 
Azul 3D
Go-GL

---------------------------------
 
Worth a mention: 
 
NaCL / PNaCL 
https://developer.chrome.com/native-client

Android
http://www.infoq.com/news/2014/06/golang-google-android-native-dev

Web (HTML/Javascript/etc.)

Web in Standalone Software 
(Building WebKit/Chromium/etc inside of software, etc.)

Aura
http://dev.chromium.org/developers/design-documents/aura
Haven't looked at this yet.

====================================


Does anyone know of any other major projects in the works related to a GUI in Go? Any thoughts? 

dja...@gmail.com

unread,
Sep 12, 2014, 1:59:28 PM9/12/14
to golan...@googlegroups.com

wormra

unread,
Sep 12, 2014, 2:13:13 PM9/12/14
to golan...@googlegroups.com
+ forgot to add this one:
CEF2go is an HTML 5 based GUI toolkit for the Go language. (CEF = Chromium Embedded Framework)

wormra

unread,
Sep 12, 2014, 2:30:14 PM9/12/14
to golan...@googlegroups.com

Micky

unread,
Sep 12, 2014, 3:06:41 PM9/12/14
to wormra, golang-nuts
AFAIK, go-qml is used in Lime https://github.com/limetext/lime
(the supposedly opensource implementation of SublimeText). 

--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Peter Kleiweg

unread,
Sep 12, 2014, 7:52:54 PM9/12/14
to golan...@googlegroups.com
Gothic is simple and effective

Nigel Vickers

unread,
Sep 13, 2014, 3:16:17 AM9/13/14
to golan...@googlegroups.com

Milan P. Stanic

unread,
Sep 13, 2014, 6:43:38 AM9/13/14
to golan...@googlegroups.com
On Fri, 2014-09-12 at 10:32, wormra wrote:
> My dream for Go is a cross-platform GUI. I want pure Go. I want static
> builds where possible.

My dream for Go is to be small, clean language with simple syntax and
not language cluttered with ballast of such nonsense as the default and
cross platform GUI library (and many other nonsensical ballast).

Libraries are for such things. And there are many libraries for
different 'things' despite the fact that the language is still young.

> I'd like nothing more than to ditch C++, Qt, WxWidgets, etc. I want to use

> Go as a fuller language, beyond systems, as the original vision seemed to
> be heading as an evolution of C. Many of you feel the same. What's the
> current state of affairs for a cross-platform GUI?
>
>
> I made a list:
> ====================================
[...]

Szymon Pankalla

unread,
Sep 13, 2014, 7:25:06 AM9/13/14
to golan...@googlegroups.com

wormra

unread,
Sep 13, 2014, 10:54:29 AM9/13/14
to golan...@googlegroups.com, m...@arvanta.net
My dream for Go is to be small, clean language with simple syntax and
not language cluttered with ballast of such nonsense as the default and
cross platform GUI library (and many other nonsensical ballast).

Libraries are for such things. And there are many libraries for
different 'things' despite the fact that the language is still young.



I wasn't suggesting a GUI for Go's default packages.  

Even so, responding hypothetically:

Go is entirely comprised of libraries. Your point is moot. The beauty of Go is enduring, simple syntax. Bloat, in the way you're likely inferring, is mostly nonexistent until you intentionally invite it into your code. If you haven't, please familiarize yourself with the default source. Additional repositories such as cryptonet, and even image are in an experimental state. Some parts may come to the default in time. Some parts will not. It's a healthy process mostly. If, hypothetically, GUI standards became more officiated, it wouldn't affect you. If you think otherwise, then a great number of highly useful things that currently exist in Go -- HTTP library, text/html templates, pluggable database standards, and on -- must negatively affect you. You should consider that bloat. One person's "bloat" in this hypothetical sense is another person's treasure, making an entire language lauded with great praise for its robust, growing libraries -- such as the case in Go.

You may feel that cross-platform GUI libraries are "nonsensical ballast." Conversely, you might of meant this in the context of misunderstanding. That statement, nevertheless, seems to hint at a very insensitive disregard to the great number of people who develop, use, and enjoy graphical interfaces. That's nearly ever person who uses a computer. GUI libraries or standards thereof are no less "nonsensical ballast" than many other conveniences. I'll reiterate. No one's suggesting a GUI in the default standards. In whatever form it exists, it may be every bit as welcomed and prosperous to Go. 

The impact of a robust GUI framework in Go would be astronomically positive to the future of Go. It would likewise be extremely positive to Linux. I care about this. I'm witnessing developers, newer and older generations alike, finally shifting to Linux as a result of their love of Go and Go projects surrounding it. It's been a breath of fresh air to me. The momentum would be phenomenal over a GUI in Go.

----

Thank you for additional links and thoughts.

Benjamin Measures

unread,
Sep 13, 2014, 4:56:52 PM9/13/14
to golan...@googlegroups.com
> The impact of a robust GUI framework in Go would be astronomically positive to the future of Go.

There are CLI applications, and web applications*. Cross-platform "GUI" libraries are relics of a bygone era**.

* Or "hybrid" which is embedded web.
** Ultimately, users don't care for cross-platform applications- they just want something that /feels/ native on /their/ platform.

Milan P. Stanic

unread,
Sep 13, 2014, 6:25:12 PM9/13/14
to golan...@googlegroups.com
On Sat, 2014-09-13 at 07:54, wormra wrote:
> > My dream for Go is to be small, clean language with simple syntax and
> > not language cluttered with ballast of such nonsense as the default and
> > cross platform GUI library (and many other nonsensical ballast).
> >
> > Libraries are for such things. And there are many libraries for
> > different 'things' despite the fact that the language is still young.
> I wasn't suggesting a GUI for Go's default packages.
>
> *Even so, responding hypothetically:*

> Go is entirely comprised of libraries. Your point is moot. The beauty of Go
> is enduring, simple syntax. Bloat, in the way you're likely inferring, is
> mostly nonexistent until you intentionally invite it into *your* code. If
> you haven't, please familiarize yourself with the default source
> <https://code.google.com/p/go/source/browse?repo=default>. Additional
> repositories such as crypto
> <https://code.google.com/p/go/source/browse?repo=crypto>, net
> <https://code.google.com/p/go/source/browse?repo=net>, and even image
> <https://code.google.com/p/go/source/browse?repo=image> are in an
> experimental state. Some parts may come to the default in time. Some parts
> will not. It's a healthy process mostly. *If*, hypothetically, GUI
> standards became more officiated, it wouldn't affect you. If you think
> otherwise, then a great number of highly useful things that currently exist
> in Go -- *HTTP library, text/html templates, pluggable database standards*,
> and on -- must negatively affect you. You should consider that bloat. One
> person's "bloat" in this hypothetical sense is another person's treasure,
> making an entire language lauded with great praise for its robust, growing
> libraries -- such as the case in Go.

You are giving advice to someone who finished this journey two years
ago, at least and someone who follows Go from when it is announced
publicly first time.

> You may feel that cross-platform GUI libraries are "nonsensical ballast."
> Conversely, you might of meant this in the context of misunderstanding.
> That statement, nevertheless, seems to hint at a very insensitive disregard
> to the great number of people who develop, use, and enjoy graphical
> interfaces. That's nearly ever person who uses a computer. GUI libraries or
> standards thereof are no less "nonsensical ballast" than many other
> conveniences. I'll reiterate. No one's suggesting a GUI in the default
> standards. In whatever form it exists, it may be every bit as welcomed and
> prosperous to Go.

This is exercise is false conclusion.

> The impact of a robust GUI framework in Go would be astronomically positive
> to the future of Go. It would likewise be extremely positive to Linux. I
> care about this. I'm witnessing developers, newer and older generations
> alike, finally shifting to Linux as a result of their love of Go and Go
> projects surrounding it. It's been a breath of fresh air to me. The
> momentum would be phenomenal over a GUI in Go.

I think the developers switch to Linux because of the 'Linux ecosystem'
and sharing culture (and quality, of course) and not just because of
one programming language.

wormra

unread,
Sep 13, 2014, 6:38:56 PM9/13/14
to golan...@googlegroups.com
Cross-platform "GUI" libraries are relics of a bygone era**.

Hundreds of millions of people who develop with and benefit from Qt, Gtk+, Tcl/Tk, WxWidgets, Juce, Marmalade, Xamarin, Java/Swing, and many other cross-platform libraries completely disagree with you. The number is probably 1-2 billion users across all popular software, easily over half of the world's computer users.


> ** Ultimately, users don't care for cross-platform applications- they just want something that /feels/ native on /their/ platform.

Many types of cross-platform frameworks exist. Some directly target native controls. Some are strictly unified. Others are a mix. My experience is that users care about software that's good, fast, and has helpful UI. Anything unified but properly extendable can simulate nearly any environment. It's also my experience that most users (Windows users as an example) don't care or know if their programs are made via Qt or WPF & WinForms, as long the end result is good. If you don't even see the value in current cross-platform GUIs in C, C++, C#, and on, then I especially won't try to convince you.

wormra

unread,
Sep 13, 2014, 7:24:46 PM9/13/14
to golan...@googlegroups.com, m...@arvanta.net
On Saturday, September 13, 2014 5:25:12 PM UTC-5, mps wrote:
You are giving advice to someone who finished this journey two years
ago, at least and someone who follows Go from when it is announced
publicly first time.
... 
I think the developers switch to Linux because of the 'Linux ecosystem'
and sharing culture (and quality, of course)  and not just because of
one programming language.


Finished? As you have, I've been with Go since its beginning. I'm an active participant in FOSS in general but, of course, my perspective is always my own. Go has been unifying. I've seen it shuffle many people into Linux once v1 hit. Docker and several other projects that use Go are greatly fueling this momentum. The bigger momentum is that Go is approachable and has solid libraries. It feels self-evident to say but, so it goes, there have been many people formerly stuck in the lands of Python, PHP, RoR, Java, and .NET who were suddenly able to find a home in Go: a home highly conducive to Linux (in my view). Meanwhile, a large portion of the C-crowd simply carried on, likely already using Linux. I'm grateful either way.
Reply all
Reply to author
Forward
0 new messages