Backend & AI

What is Go

What it is

A compiled programming language from Google โ€” as fast as C++, but noticeably simpler to develop in, with excellent built-in support for parallel work.

How we apply it

For services where performance under load matters โ€” for example, media servers streaming video to many viewers at once.

Where Go helps a business

  • A service holds many simultaneous connections: chats, voice, stream viewers.
  • You need one fast program with no dependencies that is easy to run on a server.
  • Ready-made network components written in Go are involved, such as VPN engines.

How we use it

  • Peregovorka. In the voice and chat platform the service for chats, accounts, roles, voice signalling and the viewer counter is written in Go.
  • VPN engines in an app. Xray and sing-box are written in Go. In OshaVPN for Android both engines are built into one library with gomobile; on Windows they run as separate processes.

Common problems

  • A newer Go means newer OS requirements. Xray built with a newer Go does not start on Windows 7, so the Windows 7 client runs sing-box built for older Windows.
  • Building for Android is a job of its own. Both engines are built with gomobile and Docker into one library, a separate step in every app release.

When you do not need it

For a bot, an integration or a store back end, Python is faster to develop and easier to maintain. We reach for Go when the load or the ready-made components call for it.

โ† All terms

Need a website, a bot or automation?

Terms explained โ€” now let's get to work: tell us about the task and we'll turn it into a clear work plan.