Well, its been coming and now it’s here. Laravel Echo (no docs link yet). As predicted it’s a pretty neat realtime abstraction currently over the Pusher API (as it’s the easiest to manage authentication), but I think intended generally for any realtime communication mechanism and hopefully it will be in the future.
Realtime communication has been possible in Laravel for a while now with drivers for both Socket.io and Pusher. However it seems even NodeJs struggles to authenticate websockets in a decent manner, and its kind of built for that sort of thing. As usual Taylor Otwell looks at a problem like this and just makes it work, and make it look so easy too.
For me that’s the real power here behind Laravel Echo, it’s the authentication of channels, not so much the abstraction of the realtime API (although that’s good too).
As referenced early in the post I contacted Taylor via one of my twitter account regarding socket.io intergration. Sounds like it’s not quite as simple to get that working, however I’m going to have a crack at it and see if I can get any traction with it. We can’t just let the core guys drill away day and night without help can we.
I think in the end it kind of “has to” provide websocket/socket.io intergration for it to really be a decent part of the Laravel Open Source ecosystem. It goes against the Laravel grain to have a great feature and only provide one driver for it.