Vizlib Home Try Vizlib
Welcome
Login

Export & Rendering Comparison Between Client and Server-Side

Exporting is key for many businesses and at Vizlib we know this. Being able to understand the requirements of exporting is important and when it comes to a highly used feature, as a developer or user, it is important to understand what the difference is between Client-Side and Server-Side rendering/Exporting. Both have advantages (and disadvantages) and you will be using them in different situations. For all types of export, the calculation time and the amount of data are important factors.


NOTE: Typically for more visual exports of tables, Client-Side will be used and for standard data exports and image and pdf rendering Server-Side is the go-to solution. Server-Side is always Qlik native exports with the exception of Finance Report scheduled Excel exports from Vizlib Server.



TABLE OF CONTENTS



Client-Side

Client-side rendering/exporting is when a user's device handles the extraction of the object's data (for data exports) and rendering of the visualization (for visual exports.)


Managing the process client-side relies on the user's device's performance. Everything needed for the process needs to be available on the device. Specifically, this means that all of the data has to be downloaded to the device. Aspects like the list below influence the speed at which an export will happen.

  • RAM (memory) and CPU (processor) of the device
  • Internet (the speed of the user's internet)
  • Browser performance (i.e. there are differences between how well Chrome, Firefox, Safari and Edge handle the necessary calculations)


NOTE: In Vizlib Library products client-side rendering is easily identifiable by a loader being presented. Such a loader can be seen in Fig1 when using the Vizlib Button Action, Export Sheet to PDF.


The main advantage of client-Side is that Vizlib can completely control the output result. 

The drawback is that very large data exports may not be possible due to limitations on the device/browser.


Fig1: Client-side exporting sheet to PDF

Fig1: Client-side exporting sheet to PDF


Server-Side

Server-side rendering/exporting is when a user sends a request to the server and the preparations are done there. The resulting file is then sent to the user's device. Such actions may be downloading the data of a chart or generation of a PDF/image.


Server-Side rendering relies on the performance of the server. Aspects like the list below influence the speed at which an export will happen.

  • RAM (memory) and CPU (processor) of the server 
  • Internet (the speed of the internet in both the server and the user's location)


NOTE: For all situations (except with Vizlib Finance scheduled exports as mentioned above) Server-side rendering is when you are presented with the Qlik dialogue informing you to download the file [Fig2].


Fig2: Downloading an unformatted export to excel from the Vizlib Table

Fig2: Downloading an unformatted export to Excel from the Vizlib Table


The main advantage of server-side is that even very large data exports can be managed. It also means Vizlib can rely on the Qlik native export functionality and any changes or updates to those are automatically used by Vizlib.

The drawback is that Vizlib has no control over the output. 


FAQ


What type of exports are used in Custom Report?

It depends. The Custom Report uses whatever export method is in the rendered object. For all native objects, the export is server-side. For Vizlib objects there is a mix. For example in Vizlib Table "Export formatted data to Excel" is client-side while all other exports are server-side.


When exporting from Vizlib Table my formatted export fails but the other exports work, why is that?

Most likely that is due to the amount of data you are trying to export. Since the formatted export happens on the Client-Side it will not benefit from the power of the server and the user device might be more limited. Making more resources available on the device might help but the recommendation is to use server-side exports for larger data exporting.


L
Luke is the author of this solution article.

Did you find it helpful? Yes No

Send feedback
Sorry we couldn't be helpful. Help us improve this article with your feedback.