QlikView and other traditional websolution utilize AJAX (Asynchronous Javascript And Xml) technology to accomplish data updates on client side. This allows for dynamic and partial page updates, while the rest of the webpages is still accessible. This technology comes with some natural limitations;
- Client initiated data update, server does not push updates to client
- Interval based polling for updates, always a latency in data being updates on client side
- Data updates are hard to predict, making it hard to plan polling interval
- XML structured data, leading to big overhead during transfer
HTML5 standard introduces WebSockets as a modern and more efficient way of transfering data between client and server.
- Client or server can intiate data transfer, the WebSocket remains open during the entire web session
- The communciiotn is full-duplex, meaning that either side can use the full bandwidth
- Data is typically transferred in JSON instead of XML, leading to minimal over-head
- Communicaiton can carry any data, text or binary
For best possible performance and responsive UI, Qlik Sense has been strictuvely implemented to use WebSocket for data transfer between client ans server. WebSocket communciaiton is what allows for Qlik Sense to have close to real time data transfers and user interaction. This includes both end-user interaction with apps and developer action with app editing.