Saturday, January 12, 2013

Use Go to Implement your Android Backends!

A couple weeks ago I wrote a library that simplifies the interaction between Go-based application servers and Google Cloud Messaging servers. I plan on covering GCM (both the application-side and server-side aspects) in more detail in a future blog post, but for now I will just leave a link to the library to encourage more people to write their GCM application servers using the Go Programming Language (Google App Engine, hint hint).

...but why Go?

I'm glad you asked. There are several reasons:

  • Go is modern. Programming languages like C, C++, and Java are old, designed before the advent of multicore machines, networking, and web application development. Go was designed to be suitable for writing large Google programs such as web servers.

  • Go is concise, yet familiar. Tasks that require 40+ lines of code in Java (i.e. setting up HTTP servers and parsing JSON responses) can be done in 1 or 2 lines. Go significantly reduces the amount of work required to write simple programs, and yet the language's syntax is not too radical, still resembling the most common procedural languages.

  • Go is easy to learn. Learn the language in a day: A Tour of Go and Effective Go.

  • Go was invented at Google. Enough said.

That's all for now... but expect a lot more on GCM, Google App Engine, and Golang later! The comments are open as always, and don't forget to +1 this post!

Links


3 comments :

  1. hello,

    I've just found your blog through your great series of articles about the Loader and LoaderManager classes

    will you continue this serie of articles about android, go and appengine ?

    I'm thinking about learning either Go or Python 3 (I bought a python 3 book) and AppEngine, but AppEngine does not support the python 3 runtime so if you continue your serie, I will learn go !

    Jean-Michel

    ReplyDelete
    Replies
    1. I have no time right now, but yes... I plan on continuing. It might actually be a blessing in disguise that I'm so busy right now, actually... I think the the Go AppEngine runtime is just now finally becoming more mainstream and hopefully in a couple of months Google will have published more libraries which make writing Android backends easier. Stay tuned. :)

      Delete