How We Built Ember Socket Guru - a Websockets Integration (Case Study)
We’ve just built Ember Socket Guru, a package for Ember.js, which enables easy integration with WebSockets services and implementations such as Pusher.js, ActionCable, Socket.io and Phoenix Channels.
WebSockets is a technology that enables to open an interactive communication session between the user's browser and a server. With this API, you can send messages to the server and receive event-driven responses without having to poll for a reply. We have leveraged Websockets in numerous projects, therefore we decided to make the integration with Ember easier. How did it go?
Every time we needed to use Websockets in our web apps, we had to write the code from scratch. The setup was not really difficult, however it would always add some extra development time. We lacked an add-on that would make switching between WebSockets implementations painless. To make matters worse, those implementations had different APIs. We decided to expose a consistent interface across all implementations and hide the discrepancies from the users.
Since everything is conveniently placed in one package, you can easily switch between those implementations or even use more than one of them at the time - you will avoid the hassle of having to set it up yourself. By providing a common API,it ensures that once you get started with one technology, you can get others working in no time - without knowing obscure setup details for each one.