My thoughts on Google cloud endpoints {GO}

Prologue

A couple of months ago I sat with @Alik and @shahar to discuss building a Rest API for the Dumpster app in order to serve user files into the cloud instead of on their phone devices. We argued in which language we should develop the rest API.

For me, a Java developer who is familiar with Scala, I thought that Scala and spray.io are the best options,It’s probably true if indeed one decides to use Scala.

But then Alik suggested that GO is the new “thing” and is considered very easy to learn and very fast for building rest API. (That’s true compares to learning scala.)

Which GO Rest API framework should i use ?Which GO Rest API framework should i use ?

There is allot of rest api frameworks out there must of them based on the net/http framework

And as a newbie in go i was a bit confused what to do …

I played around with Begoo (very nice ,but has more features then we need) .

then i tried Gorilla Toolkit and it was very simple and straightforward i`m sure i`m gone used it sometime in the future.

Our main reason to give cloud endpoints a try was the Android code generation (Jars) , but we found some more goodies inside .

Cloud Endpoints the good stuff

API test tool

API explorer is a nice tool to test your app, to bad you can’t save your previous tests and run custom test .

Rest documentation generator

https://{appname}appspot.com/_ah/api/discovery/{version}/apis/{api name}/{version}/rest

If you enter this url to your browser you get a nice documentation of your rest API we are a small team but in a bigger project it could be very useful.

json encode/decode

Implement json encode/decode in GO is not very complex but in endpoints you get it out of the box.

Code generation

you can consume rest API in many ways but with cloud endpoints it very simple and the android team are very pleased with it potentially we could generate an Ios or Javascript version.

Cloud Endpoints the bad stuff

Congratulation you married to Google cloud …

In case you want to run your code in other places you pretty screwed you will have to change a lot of things.

Epilogue

Google end points is very productive tool for creating Rest API on app engine, if your going to use Google cloud platform you should use it.