Some additional notes about our ecosystem which may help you develop with our tech.
Centrifuge library for Go
Centrifugo is built on top of Centrifuge library for 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 more tight integration of real-time server with application business logic you may consider using Centrifuge library to build something similar to Centrifugo but with customized behavior. Centrifuge library can be considered as Socket.IO analogue in Go language ecosystem.
Many Centrifugo features should be re-implemented when using Centrifuge - like API layer, admin web UI, proxy etc (if you need those of course). And you need to write in Go language. But the core functionality like a client-server protocol (all Centrifugo client SDKs work with 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 Centrifugo doc can be considered as an extra documentation for Centrifuge library (for example part 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