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
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 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.
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.