QAFE

Client-side handling

Traditionally, the QAFE Engine has been processing all logic on the server-side because the browsers weren’t powerful enough at the time of development. With the latest 3.3.0 version of QAFE, the logic can be processed on the client-side. What does this mean for the developer and the user?

Move towards client-side handling
In the last couple of years, there has been a tendency to move certain parts of the logic to the client-side. One of the main reasons for this is that computers and browsers have become increasingly faster and having the client’s browser do some of the calculations relieves stress from the server. Javascript has become the de-facto language of the web since the decline of Flash and the continuing push of parties like Google, who have been optimizing the Javascript engine within their browsers. Presentation logic is moved to the client-side, while calls to the server are used for purely data fetching and manipulation. Resulting in a better performing application.

Client-side event handling in QAFE
Before the introduction of client-side handling, all code was processed server-side. This included simple operations like the storing of data or setting data to an object within a QAFE application. These operations are now fully done on the client-side by the browser. The application only calls the server, when business actions are invoked on the server. The example used in the screenshots below is storing a value in the data store and setting that value from the store to a text field. Server-side handling needs a RPC call to the server, while client-side handling can handle the scenario without a call.

Figure 1: Server-side handling

 

Figure 2: Client-side handling

Figure 2: Client-side handling

Another advantage is, data being available instantly after modifying a value in a field. The modified value can be fetched directly within the same event. There is no need to fire another event afterwards or to write additional code for retrieving the value. Having said that, code written using server-side handling should still work the same way as before with the benefit of increased performance.

Enabling client-side handling
Client-side handling is available from version 3.3.0 on. It’s disabled by default. It can be enabled in the engine by adding the following line to external.properties, located in the folder {project}/src/main/webapp/WEB-INF:

Please note that client-side handling is still experimental. It will be promoted as the default option in the near future. If you encounter any bugs, do not hesitate to contact us at support@qafe.com. If you like to contribute, feel free to do so at https://github.com/qafedev/qafe-platform!

Leave a Reply

Your email address will not be published. Required fields are marked *