|
Hey, I'm one of the authors of abcweb. Gorilla toolkit is a toolkit. What we're trying to provide here is so much more than that - very intentionally. Gorilla is a toolkit that you start out with to build your app, and then you create the structure, templating, logging, monitoring, middleware, database migrations and interaction, etc. all on top of that. And you might find good packages that all can work together for that, but you may not. The main point is to save all that time up front by first selecting a pile of first-in-class packages for you so you don't have decision paralysis, we helped curate the list for you. Examples are things like Chi for routing, context.Context instead of gorilla.Context, zap logging for speed etc. The other big thing is that it scaffolds out the application for you. This saves you additional time on top of the package selection by providing the glue between all the packages. If we were to make a "production-ready" application using Gorilla (meaning does logging, ctrl+c graceful shutdown, etc. etc.) hello world - abcweb would do it in 30s, whereas to build it all out by hand using Gorilla as your starter toolkit would take hours. On top of this, you get a lot of additional features that require a bunch of work to stitch together too: * abcweb is coupled with an awesome ORM and migration tool, and has a bunch of other useful commands. * automatically rebuild your go app on change. * automatically run your migrations and testdata sql against the test database when running `go test`. Starts with a clean slate every time. * easily build and deploy with `abcweb dist` command and its various options. * flexible configuration management, utilizing command line, env vars and config file all at the same time. You can add additional custom configuration and it will _just work_, we've made this really easy. There are a lot of other things too, but the feature list can already be seen on the github. :-) |