Friday, 16 June 2017

Parse Server Goes Real-time with Live Queries



Prior to the idea of Live Queries was made, developers utilized long polling and comet with a specific end goal to simulate real time website. The issue was that these technologies desired approximately constant communication with the server, which was not resource-friendly and incredibly fast. At that time Live Queries came and the Parse Server turned out to real-time. Imagine an app game, which needs to update in real time non-stop. As you most likely are aware, games should work incredibly fast so that each and every source is essential.


Why Live Queries?

One of the essential reasons behind driving Parse Server is the Query, which enables you to inform the Parse Server about which of the object you require. The Query depends on a "pull" model, which is not reasonable for applications that need real-time support. Assume you are building an application that enables multiple clients to alter a similar file at the meantime. Parse Query would not be a perfect tool since you cannot know when to query from the server to get the updates. To resolve this issue, Parse Live Query is then presented. This tool enables you to subscribe to a Parse Query you are keen in. Once subscribed, the server will notify customers whenever a Parse Object that matches the Parse Query is created or updated, in real-time.



Parse Live Query contains 2 sections, first is the Live Query server and the second is Live Query clients. Keeping in mind the end goal is to use live queries that you want to set up both of them. Each time you desire to get new information, you run one more query. On the off chance if you want to use Live Queries then you need to build a Query as it is as you usually would and rather than of find() call subscribe();This implies each time an object alike this query is changed that time  the server will see this instantly and drive the new object data to you real-time.


Setting Live Queries

There are numerous approaches to set up Live Queries with Parse Server--in the similar process, in various processes, or with discrete servers. The easiest path is to set it up in an indistinguishable procedure as Parse Server. 

let api = new ParseServer({
  ...,
  liveQuery: {
    classNames: ['Player']
  }
});

Once your application gets larger, you may need a very complex setup with additional Live Query servers. You shouldn't need to stress over that for some time, but there are few approaches to set up additional Live Query servers.