I tried out the Encore go backend framework. I had no particular project to use it for; it was more that I wanted to do some go programming. Here are my two cents about it.
Encore uses a simple package-based structure to build simplistic services. It has the usual niceties with hot code reload, minimal boilerplate, easy authentication management, etc. An endpoint is defined by an annotated function with a set of defined parameters. Encore provides also a runtime platform with one command deploy (git push actually) which is rather cool. Perhaps the most opinionated feature to me was the transparent integration to PostgreSQL. If a service has a migration file with some DB calls, the run or the deploy command automatically creates a database for the service and runs the migrations.
The cloud console is pretty neat |
Would I use Encore in an actual project?
Maybe not. Firstly, it's still in beta. If I'd start a plain old rest project with Postgres, sure, it takes away the boilerplate. It also provides a whole lot out of the box as in basic hosting, monitoring, API docs, analytics, and tracing with one deploy command. As with all frameworks, here lies the tradeoff; you are pretty much married to the Encore way of doing stuff (which certainly can be a good thing!). I also see it as more of a go application platform as it provides the whole cloud infrastructure and it would perhaps not be just up to me to decide where to run the thing.
Yeah, well, I don't have anything too unique or exciting to say about it. Take a look at my project to see how it runs.
Comments
Post a Comment