
Utron: Go MVC framework for fast, scalable and robust database-driven web apps - ingve
https://github.com/gernest/utron
======
jonesb6
I don't think it's a good idea to couple an "ORM" with a web framework for Go.
Go is, IMO, an inherently bad language to write an ORM in. I tried doing it
once, as a convenience layer on top of Redis hash sets (kind of a crazy idea
to begin with), and ran into an endless number of complications that led me to
the conclusion that it was not the best solution to my problem.

I think its something you certainly can do. And if you have a great
understanding of Go, and to a lesser extent C, you could probably do so with a
reasonably good outcome. But I think what we've seen out of Go is that small
micro services do not exemplify MVC and instead benefit from simpler
abstractions that differ from traditional frameworks like Rails, Django, or
Express.

That said, awesome work and I hope to have the time to try this out soon :) !

~~~
lobster_johnson
All of this is spot on. Go could benefit from a higher-level SQL layer,
however.

As an example which has been annoying me the last few days, "database/sql"
doesn't automatically prepare statements; so preparing is a separate step, and
if you want to use a prepared statement in a transaction, it's yet another
step to convert the prepared statement to one that will work with the
transaction. I have convenience wrappers around this stuff to make my SQL
calls less boilerplated and more readable.

It also doesn't offer high-level convenience functions for things like getting
all rows mapped to structs in one go, and so on. And if you're going to
support variable expansion in SQL queries, why not support named variables
looked up through a map[string]interface{}?

What ActiveRecord gets right, and other ORMs (Hibernate, TopLink) don't, is
that you don't want to abstract away SQL. You just want to map the data
from/to your native (in this case) structs, because it's convenient.

~~~
flexd
Have you looked at
[https://github.com/jmoiron/sqlx](https://github.com/jmoiron/sqlx) It's a nice
little wrapper around database/sql that offers some of the things you talk
about.

~~~
lobster_johnson
That's exactly what I need. Thanks!

------
mrits
How do you go about hiring someone from Tanzania?

~~~
yumraj
Email him, then set up a phone/video interview and then most likely either
work remotely or sponsor him a work visa to where you are. So an H1-B for U.S.

------
rileytg
sad this guy isn't working somewhere sick

~~~
timmytokyo
The "Are you hiring?" section at the bottom is heartbreaking. Recruiters,
contact this guy.

------
aikah
Nice, framework, good luck for your job search, i'm sure you'll get some good
opportunity to do remote work eventually.

------
jtwebman
Would you guys agree that MVC is on it's way out? It just seems like a mess to
couple things like this over just simple views and a dispatcher.

------
mrkmcknz
I've often wanted to use Go for some silly little side projects and I
typically just end up with a Flask orientated Python stack. This might give me
some motivation to finally create something other than a todo list with Go.

------
hlfcoding
I believe the project is called Utron. I'm also not sure how a 'database-
driven web app' differs from web apps in general?

