Live data from Hacker News

The best Go framework: no framework?

threedots.tech

21–30 of 185 posts

Re: The best Go framework: no framework?

#21

Tired: Framework stuff. Wired: Browser WASM (from Go source) that accepts commands over websockets to modify & render the DOM. (Is this "client hydration"?) Tight integration with htmlx (for pizazz + ruthless efficiency) and Javascript (for rich text editors + other advanced widgetry). This may require full Go, if tinygo continues to lack reflection support.

> Wired: Browser WASM (from Go source) that accepts commands over websockets to modify & render the DOM.

Why WASM? For what purpose? Just to do that? You don't need WASM for that: see Phoenix LiveView

Re: The best Go framework: no framework?

#23
I couldn't disagree with this any harder. I'm a Java BE Engineer who joined a Go shop, so I have a direct comparison. Both are microservice environments for products of similar complexity. It is insane to me how much less productive Go is for your average microservice enterprise environment. I'm sure it's great for systems programming or tool development. I like the simplicity. But the ecosystem is borderline useless for larger scale enterprise-y service landscapes. GRPC and Protobuf are overengineered and underdocumented, a lot of things are seemingly optimized for Google's specific needs.

We are more people, we are more experienced and have a decent engineering culture. Yet we're definitely less productive than the last average, traditional Java Spring Enterprise team I've been in. "Circumventing" a framework restriction (which rarely happens if you stick to good practices) is MUCH less effort than building things yourself from scratch.

Re: The best Go framework: no framework?

#24
I can't tell if the article is recommending not using 3rd party packages or simple not to get caught up in an opinionated framework. I agree that opinionated frameworks don't can be problematic as they don't compose but can't agree that with the statement that 3rd party libraries are bad. This is basically build vs buy argument favouring the build side.

A more measured approach would be to avoid 3rd party packages that aren't very popular or are not particularly active.

Re: The best Go framework: no framework?

#26
The graphic in OP summerize it pretty well. If all you need is something quick, and you don’t expect (or currently have the budget) to scale it a lot in the close future, then using a framework may very well be the best solution.

Re: The best Go framework: no framework?

#27

Go having a standard library that is so good for building simple services is what sets it aside from all the other languages that have come out in the last while in the same space. It has a great collection of community libraries but I so rarely need to fall back to them as I can usually cobble together whatever I need to pretty easily just using the standard library. It makes it easy to get started on a project as t…

Agreed. But doesn't it seem sometimes as though some modest improvements here & there in the stdlib would have a big payoff in making it immensely more productive ?

I agree, there are some ergonomic improvements that could definitly be made, something like sqlx would be nice for example

Re: The best Go framework: no framework?

#28
post #14
post #8

This is one of the better things about Go and its community: eschewing frameworks like this. Having an ecosystem of in-house libraries tailored to your products' use cases is not the same as developing an "ad-hoc framework". Where I work, we have several languages deployed in our fleet of microservices. A couple have frameworks, and these frameworks are "try to do it all" types, complete with dependency injection and…

I've spent the last year exploring different languages and ecosystems than the one I'm most comfortable in (Python) and what you said absolutely rings true. When you're picking up C#/.NET, there's this almost overwhelming amount of terminology you see getting tossed around that takes you a while to see how it all fits together. Now that I'm exploring Go, I'm surprised at how many books/learning materials are basicall…

The number of times that the asp.net "startup" has changed is completely ridiculous. It all started from a very bad place with a startup class that is stupidly called by reflection, forcing the developer to use trial and error to discover what methods should be used.

Thankfully, they have finally done away with this but it is sad that they ever allowed these horrible patterns in the first place. Another abysmal area is SignalR (clearly developed by children).

Re: The best Go framework: no framework?

#29

For junior developers reading this: frameworks are great, learn to love them, they will save you much time and stress when shipping real products.

I don't like using frameworks but I feel this comment is really important. I spent years using frameworks in other languages. Understanding why things are structured the way they are and what works for my needs and what doesn't.

Also when working with a team the value of having a lot of documentation, stackoverflow questions a google search away and an obvious way of doing things seems incredible valuable.

Does building your own microframework brings joy and a sense of accomplishment? yes it does. Does that correlate with accomplishing business needs. Not necessarily.

Re: The best Go framework: no framework?

#30
post #23

I couldn't disagree with this any harder. I'm a Java BE Engineer who joined a Go shop, so I have a direct comparison. Both are microservice environments for products of similar complexity. It is insane to me how much less productive Go is for your average microservice enterprise environment. I'm sure it's great for systems programming or tool development. I like the simplicity. But the ecosystem is borderline useless…

Then don't use GRPC and Protobufs. I've had exactly the opposite experience building enterprise software with Go.
Post reply on HN