GUI applications build in Go

Dear Go programer
I’m looking for a GUI for my project and I was wondering… hey does go have a GUI toolkit? I mean I need to choose betwen .Net, Win 32 API and chrome app mode xD

thank you for the information you can provide

I don’t think there’s a mature GUI toolkit as such. There are OpenGL and QML (Qt) bindings which both seem fairly low level (but I’ve tried neither and may be wrong). The Chrome frame thing may work, as may Electron (with some Javascript glue, assuming you structure your Go code as a web app).

1 Like

Until I know, Qt only function with C++, can you explain me?

1 Like

.Net and Chrome apps are worlds apart when it comes to the “type” of GUI one would produce. Since that is the case, why not just build your Go application with a RESTful API? You could then write a GUI client for your application in any number of languages (.Net, Chrome/JS, etc.).

Because I need or I’m thinking in use Go for native app, I mean, not web app

You can always call the Win32 API with CGo. It doesn’t sound like much fun to me, but it should work.

Do you have anything against exposing your app’s functionality with a REST interface on localhost:arbitraryhighport ?

If you can do that then you can plug and play with your GUIs and you’d probably have much more fun.

Further to that, I hear good things about GopherJS if you’re really set on writing that stuff in Go.

I’m beginer, what is CGo?

I’m beginer, slow please

look here

2 Likes

What is your app? What does it do? If you can be more specific that will help us help you.

For one I recommend avoiding cgo. Calling into C has a tendency to introduce subtle bugs that are not fun to debug.

It’s private, but let’s say that is a powerpoint-prezi-GoogleSlides app, to make presentations. So I need a GUI and I thought in Go

My understanding is that Go is really good for backend programming, creating servers and handling a lot of data.

Doing front end and GUI and you are new to programming, I would go with Java Script and React

If you are interested in using Go for something like this I recommend looking into GopherJS. https://github.com/gopherjs/gopherjs

You can run your app on your desktop as a “server”, and utilize the browser as your front end.

Unfortunately there are not yet any “framework” type things for GopherJS yet.

If you’re new to programming then I would suggest a smaller and more interesting project than rewriting PowerPoint.

3 Likes

What is react?
And maybe yes, but I’m not so experienced in JS

React is a JavaScript library for creating user interfaces

You said you just started out with go, so I assumed you needed to create this Powerpoint app for something like work/school, so I suggested JavaScript, which has a lot of Tutorials and documentation out there. You basically begin from the same point as you would with GO. But, JavaScript with React would make your life easier building GUI

I’m not so new :joy: I can write stuff in C++ and VB(yes I know, don’t judge me), and I have to start learning GUI.
Also I’m on Little projects, I’m creating a simple IDE for Go (in VB, soon in C#) using .Net and Metro framework. I Just get a bit confuse with some terms.
thanks😁

Maybe, but first, isn’t for school. There I Just learn VB.Net agh
Second, yes so cool but isn’t a web app.
But I can consider it, exactly I want to create those presentations with HTML,CSS and JS with Bootstrap and jQuery. And I need something that help make that stuff for a normal user