Some additional notes about our ecosystem which may help you develop with our tech.
Centrifuge library for Go
Centrifugo is built on top of the Centrifuge library for the Go language.
Due to its standalone language-agnostic nature, Centrifugo dictates some rules developers should follow when integrating. If you need more freedom and a tighter integration of a real-time server with application business logic, you may consider using the Centrifuge library to build something similar to Centrifugo but with customized behavior. The Centrifuge library can be considered as an analogue of Socket.IO in the Go language ecosystem.
Many Centrifugo features should be re-implemented when using Centrifuge - like the API layer, admin web UI, proxy, etc. (if you need those of course). And you need to write in the Go language. But the core functionality like a client-server protocol (all Centrifugo client SDKs work with a Centrifuge library-based server) and Redis engine to scale come out of the box – in most cases, this is enough to start building an app.
Many things said in the Centrifugo doc can be considered as extra documentation for the Centrifuge library (for example, parts about infrastructure tuning or transport description). But not all of them.
There are some community-driven projects that provide integration with frameworks for more native experience.
In general, integrating Centrifugo can be done in several steps even without third-party libraries – see our integration guide. Integrating directly may allow using all Centrifugo features without limitations which can be introduced by third-party wrapper.
- laravel-centrifugo integration with Laravel framework
- laravel-centrifugo-broadcaster one more integration with Laravel framework to consider
- CentrifugoBundle integration with Symfony framework
- Django-instant integration with Django framework
- roadrunner-php/centrifugo integration with RoadRunner
- spiral/roadrunner-bridge integration with Spiral Framework