Hacker News new | past | comments | ask | show | jobs | submit login

I can't wait to see what's new in 1.6! I really had a pleasure working with Go for my senior project last year. If I need to write either a server (HTTP or TCP/UDP), or a client application that must be easy to build and distribute, Go is my first choice.

What Go is lacking at this moment in my opinion is:

1) A comprehensive and mature web framework. Play w/ Scala is my go-to choice now, with Django a very close second.

2) A decent cross-platform GUI toolkit; heck, I'd settle with Qt and/or .NET bindings for Go. The power of Go is statically linked binaries, and I think the area of desktop applications will be easy to target if a good solution emerges.




> What Go is lacking at this moment in my opinion is: 1) A comprehensive and mature web framework. Play w/ Scala is my go-to choice now, with Django a very close second.

I completely agree here. GIN is my fav framework so far, but it falls down sometimes on documentation and also on features. A lot of features.

I know there are three viewpoints with Go.

1) Use net/http and just import libraries.

2) Use a "lightweight" framework if you must, just import libraries.

3) Use a "full fat" framework and get to work on the app.

I would love to have something like where Codeigniter was for PHP. An MVC framework where you could just write code, it was lightweight and had the best documentation for a framework out there.

Now if something like that was out there for Go and actively maintained. I would be all over that!


Have you looked at Revel?

https://revel.github.io/


I've looked at all of them. Revel, Beego, Utron, Martini, GoCraft, Echo, Macaron and probably some others I have missed.

I prefer GIN. :)


Pretty decent Qt bindings here https://github.com/visualfc/goqt


Thanks, it turns out I actually starred that already.

A bit off topic: why isn't there (or is there?) an easy way to view all your starred repos on Github and search through them?


Does https://github.com/stars not work for you?


(It's listed under your profile picture in the top right; to get to your stars, just click it and choose "Your stars")


Exactly what I was looking for! I have no idea why I never noticed that. Thanks.


Why GUI though? Go shines for servers, but I would never want to write a desktop application with it though. Especially if I could do it in C#.


The way I see it:

1) Go produces 100% portable code. I absolutely suffered doing the same for a very basic C++ program that used C++11's std::regex. Compiled fine on clang-3.5 on OS X, fails on clang on Linux. It took me hours of searching online to find and install the exact version of GCC that actually fills in std::regex instead of just keeping it empty. Trust me, there are some versions that do that! No errors during compilation, but still doesn't run.

2) Statically compiled binaries. I can be confident that the absence of some essential library from the user's end won't break my app.

3) Cross-platform, especially with something like Qt. Write once, compile for each OS, then run - done!


Go programs can link the Qt library, specifically the GUI components, statically? ... it produces one output binary per target OS?


No it cannot unless you pay for commercial. This is because of Qt licensing last I knew. So ta not totally static but no worse than C++


I have not tried Qt with Go to be honest, but in general yes compiled Go code produces a single statically linked binary on the target OS.


You can't currently link to Qt statically though. (And holy smokes, that would be a huge binary if it did, just libQt5Widgets.so links to 49 other libraries, everyting from X11 libs to libbz2 to opengl)


Because a C# GUI on Linux or Mac is not very native looking. Also for the same reason some like Go over Java, static binaries instead of requiring JVM or CLR be installed.

On another note, because writing programs in Go is much faster than say C++ or C for most use cases.


There is this thing called AOT compilation for Java and .NET.


>A comprehensive and mature web framework.

Call me old fashioned, but I've only ever used the stuff from Gorilla (mux and sessions) and before that plain CGI with Go, and running behind uriel's cgd to hook it up with nginx.

I've never been fond of web frameworks that try to hide a lot of stuff from you.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: