Did you know? All Video & Audio API plans include a $100 free usage credit each month so you can build and test risk-free. View Plans ->

Build Social Networks with Golang

Golang is a great language to build scalable social networks and apps. We've built a robust Golang client to make intergrating with the Stream activity feed API easy and painless. Build, scale and personalize your news feeds and activity streams.

Golang Social Media Network

The Stream Feed API supports feeds for millions of social apps. Golang is for building social media networks and we want to make it as simple as possible to leverage Stream Feeds as a service in your app.

Easily build activity streams (like Github), a Twitter style newsfeed, a feed like Instagram and Facebook style newsfeeds with Golang. Stream can be used to create your notification systems as well, if that is what you need. You can build social networking apps yourself with Golang

Working with the Stream Activity Feed API in the Go language

Developed by Google, Go is quickly gaining support around the world as a compiled coding language with the power of C/C++ but with the readability and simplicity of scripted languages like Python.

With popular framework support, Go has quickly risen in the ranks of back-end and middleware API code to drive front-end applications or to perform low-level system application as well. It’s a solid language with excellent standard libraries which include testing and profiling, and even nice-to-haves like mock HTTP servers and generic database libraries. For performance reasons, we’ve started moving some of more more critical systems from Python to Go.

Go is not without its quirks, however. If you come from an object-oriented programming language, using Go interfaces will feel a little bit familiar but at the end of the day your code is run in a procedural basis similar to C and you don’t get nice things like inheritance patterns. Variable assignment and reuse takes some getting used to, and lack of exception trapping can be a little jarring to newcomers. But the pure performance of the language, coupled with built-in background worker handling with “Go Routines” make Go an excellent developer-friendly language.

Our Go SDK was originally started by community members and customers, and we adopted it in the fall of 2016 to be an officially-supported SDK. We’d love any feedback on the library.

Hosting

Hosting platforms are more rare for Go applications, but Google App Engine makes it quite easy to deploy code, and other services like Heroku have followed suit to set up basic code runners within their sandboxed environment. You can certainly develop a launcher of your own and deploy code to any number of popular hosting platforms such as AWS, Digital Ocean, or Microsoft Azure.

Framework

While there are a number of frameworks out there designed to get you started creating Go applications for the web, we’ve settled on using Gorilla/Mux for our internal API usage. There aren’t any large frameworks for Go yet like Rails or Django for the Ruby and Python developers; some would argue that Go is supposed to be a simple, powerful language without the need to over-engineer a framework.

Getting started: open source API Client

Our framework integration for Go is stream-go2.

Continuous integration is via Travis. Contributions in the form of issues, feature suggestions and pull requests are most welcome.

Give us feedback!

Did you find this tutorial helpful in getting you up and running with your project? Either good or bad, we're looking for your honest feedback so we can improve.

Start coding

If you're interested in a custom plan or have any questions, please contact us.