How We Built Ember Socket Guru - a Websockets Integration (Case Study)

Photo of Jacek Bandura

Jacek Bandura

Updated May 27, 2024 • 2 min read

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?

Our Challenge

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.

Solution

As Ember is an open source JavaScript web framework that we use and love at Netguru, we decided to give back to the community by creating an addon that will integrate WebSockets with various implementations. We have also made it easy to extend - you can roll your own solution quickly and effortlessly.

Result

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.

Photo of Jacek Bandura

More posts by this author

Jacek Bandura

Jacek loves developing things for the modern web: Whether it’s backend, frontend or graphic design...
Efficient software development  Build faster, deliver more  Start now!

Read more on our Blog

Check out the knowledge base collected and distilled by experienced professionals.

We're Netguru

At Netguru we specialize in designing, building, shipping and scaling beautiful, usable products with blazing-fast efficiency.

Let's talk business