Hacker News new | ask | show | jobs
by pjerem 748 days ago
I’m a total noob in Go but is there something that approaches completeness of the good old monolithic frameworks ?

I’m in a pause in my career and I’m having a great time working on a "side" project in Django currently. Everything just works and makes sense, I just have to write business code and it gives me a nice app.

I’d be happy to try Go for fun and because deploying Python/Diango is a mess (at least without docker) but my project isn’t API first, it’s deliberately a traditional server side rendered app.

Every Go frameworks I stumbled upon looked like they were made to serve APIs and In the case of a 1 man team, it defeats the purpose of easy deployment since you will anyway need to code and deploy a full blown frontend (and front end fatigue is a big reason why my career is currently in pause).

3 comments

GO + HTMX + standard templates... or some folks swear by templ

On the API side (not what you wanted, but good looking) is sqlc + validator

Between all of those you have everything you want for a website.

Week 1 go is going to be a lot slower than Django or Rails. You're going to have a bit of bootstrapping to do for your project. By the end of the first month you will be a week or two behind but performance parity will be the same (you should have roughly the same feature cadence).

A good framework brings a lot to the table. With go you have to "solve" for that yourself. "How do I log a request" would be one of those first questions... the answer is "the standard logger is pretty good" and "Middleware is awesome". It's a question that has a simple, short, very common answer. One that works for web apps or CLI apps or ... It takes a bit but you end up embracing the idea that less is better

Was going to say the same... Similarly .Net (razor views) + HTMX is pretty nice as well. There's YouTube content for both, on the .Net side, there's some JetBrains extensions to make the HTMX experience relatively seamless.
Mind sharing bit more on this?

> because deploying Python/Diango is a mess (at least without docker)

I'm playing around with FastUI (disclosure - I'm not a programmer at all), so I'm in "day 0" position and would like to hear more on "day 1" side of things. Coming from Ansible side - it's easy peasy, just install things with pipenv and later `pipenv run ...`

> I’m a total noob in Go but is there something that approaches completeness of the good old monolithic frameworks ?

Some of them try, but it's really hard to beat 20 years of development, real-life use cases, third party tools and docs, etc.

> deploying Python/Diango is a mess (at least without docker)

Install your django app in a venv, serve it with gunicorn behind apache/nginx... done. No docker required.

> Every Go frameworks I stumbled upon looked like they were made to serve APIs

Indeed, that's pretty much what Go was made for. And it's also the current trend.

> my project isn’t API first, it’s deliberately a traditional server side rendered app

Stick with Django then, because it remains an excellent choice for such apps. And these apps remain an excellent solution to a vast array of problems.

> front end fatigue is a big reason why my career is currently in pause

I'd argue you don't have to follow this trend to be useful. Actually, something like Django+Unpoly or HTMX probably covers 99% of the use cases with very low frontend development.