Live data from Hacker News

Ask HN: What is your Golang web-dev tech stack?

news.ycombinator.com

1–10 of 47 posts

Re: Ask HN: What is your Golang web-dev tech stack?

#4
My 2 cents

At Globality[1], we use microcosm [2], an internally built framework for crafting applications. We have 45+ microservices, all built on top of it, and it's a joy.

I was looking for a framework that will give me similar benefits with Golang. Something that I can take out of the box with some convention-over-configuration.

I found micro [3] and gizmo [4]. (There are more)

It seems to me that a full-blown web app doesn't come very natural to Golang yet. There isn't a framework that will give you what you are used for from other languages/frameworks.

I have a lot of experience with Golang and built many tools, and it always felt more natural to me when there is no database/models involved.

[1] https://www.globality.com/en-us/

[2] https://github.com/globality-corp/?utf8=%E2%9C%93&q=microcos...

[3] https://github.com/micro/go-micro

[4] https://github.com/NYTimes/gizmo

Re: Ask HN: What is your Golang web-dev tech stack?

#6
I use it as a RESTful API for a single page app. I use some extra packages beyond those that come standard, but they don't really have a huge day-to-day impact on the code that I write.

Gorilla will probably make your life easier. I rely on the mux package quite a bit for routing purposes.

I also use Google's jsonapi package to maintain a semblance of orderliness when it comes to request and response data, but I wouldn't be hurting too much without it.

Re: Ask HN: What is your Golang web-dev tech stack?

#9
If you are creating an SPA application and you just need an API in Go, the standard library or one of the microframeworks like Gin work fine. If you are doing full-stack development, you'll be more productive with a framework even though the Go community tends to shy away from large frameworks. If I were to use Go for a web app today, I'd use Buffalo which is relatively Rails-like while still being very modular: https://gobuffalo.io/

Re: Ask HN: What is your Golang web-dev tech stack?

#10
I've started using Echo[1] and it seems to provide most of what I'm looking for (routing, context, sessions, CSRF protection, form/json binding, etc). For templating, I'm using QuickTemplate[2] which creates statically generated templates, but Pongo2[3] and Jet[4] also look reasonable. sqlx[5], gorm[6], and sqlboiler[7] all seem reasonable for database access, depending on what your style is (sqlx being oriented toward manual statements, gorm being reflection-based orm-ish, and sqlboiler using go generate's code generation to make statically generated access for you).

If you don't want to piece things together yourself (and want a more Rails-like experience), Buffalo[8] is probably your best bet.

[1] https://echo.labstack.com/

[2] https://github.com/valyala/quicktemplate

[3] https://github.com/flosch/pongo2

[4] https://github.com/CloudyKit/jet

[5] https://github.com/jmoiron/sqlx

[6] https://github.com/jinzhu/gorm

[7] https://github.com/volatiletech/sqlboiler

[8] https://github.com/gobuffalo/buffalo

Post reply on HN