Also, simply using net/http or Gorilla to piece things together.
I'm quite happy with go-restful and AngularJS for the frontend and hood for a lightweight ORM (though I'm not completely sold on that. DAO is always awkward for me).
It doesn't feel like idiomatic Go to me, which for me is a big deal. Perhaps if I start running into problems using only net/http I'll change my mind.
Will be sure to give revel another try in that case, but it looks like I'll like goooo's approach more.
https://github.com/aaronlifton/Gooo/blob/master/model/model....
I would love to hear what other "no-magic" frameworks people in the community enjoy developing in. Web.py comes to mind, for example - though I've never worked with it.
Basically something that supports the concept of:
- Arbitrary middleware as long as you adhere to a specific signature.
- Proper caching at the http request/response level for dynamic templates.
- Keep the router separate so you can plugin Pat or the Gorilla Muxer (both of them are much different IMO).
- Add some niceties like setting proper headers for certain popular responses (json or templates, etc.) or easily distinguishing if the request is an XHR or not so you can either render a template or json with a quick boolean check.
- Implement Gorilla's session handler or some other solution and expose it in a really clean way that's also easy to plugin different session adapters (app memory, redis, etc.).
- Some functionality of what "res.locals" does in Express.
I honestly feel like part of the reason why Node is so popular is because of Express. tj did a tremendous job making a very out of the way but ridiculously useful web library.
Other Go web frameworks are like houses of cards, while this one is like a computer monitor. The cards can be knocked over, but the computer monitor is 27".
Forthcoming features for Gooo v2: - more speed - faster - documentation - quicker - higher rate of movement
Eventually: integrating a persistent key-value store
----------------------------------->
(your head)Why the focus on postgres? They talk about using a postgres driver that conforms to "database/sql". But that should mean you could use a mysql "database/sql" compatible driver like the one provided by mymysql (https://github.com/ziutek/mymysql), with no code changes to your project...