Go, Diego, Go – Building a web app with Go

For over a year I wanted to build something with Go and for whatever reason I never came around to it. The simplicity of the language, the sheer speed and the portability of the compiled program make for an attractive combination so I was eager to try it out.

The procrastination stopped last week when during a trip I finally had some down time to build an app.

I’ve been doing some presentations and tried multiple systems to do it. Powerpoint and Keynote are trusted tools but projects like Reveal.js make an impact. After using Reveal for the first time I realized there was an opportunity to build an app that helps in the process of creating and showcasing a presentation with it.

The idea is simple, a hosting app for javascript presentations with a couple tools that are unique to the web (like multiplexing and easy sharing).

Golang itself is not hard to understand but there is something about it that was just different than what I am used to. After taking the tour a couple times the time came to start coding (kept having to retake the tour because I never did anything past it). The app itself is open source and you can follow the process here: https://github.com/dlapiduz/jprezo.

I’m planning to write reports on my progress building this app, and these are some of the topics I will touch on:

  • Choosing a Go web framework
  • Choosing an ORM
  • Building a Go app with Websockets
  • Deploying a Go app to something like Google AppEngine

Go diego Go

So, what do you think ?