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.

End Users
API Stack
  • Raft logo
Avg API Response
Compliance

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.

What you can do

  • personalization
  • chronological feeds
  • notification systems
  • aggregated feeds
  • profile feeds
  • ranked feeds
  • analytics

Chat Messaging API

  • Build complete chat experiences
  • Chat APIs, SDKs and UI/UX Kits
  • Unmatched scalability + reliability

Activity Feeds API

  • Build timeline or notification feeds
  • Machine learning personalization
  • Enterprise scalability + reliability

Next Steps

Open your Stream Account to try out all our Activity Feeds product has to offer. No commitment or credit card required. If you want a custom plan or have questions, we are eager to talk with you.

Chat Messaging

Build any kind of chat messaging experience without scalability or reliability issues.

Learn more about $ Chat Messaging

Enterprise

Available 99.999% uptime SLAs and industry-leading security to power the world's largest apps.

Learn more about $ Enterprise