JS-coroutines: 60 fps in parallel with a lot of work and animation

This is not about JS acceleration. This is about speeding up the web application for the end user’s perception.

Users (including yourself) perceive the performance of a web application not by performance statistics, but by how smoothly and responsively (without delays and lags) the interface works. With the help of js-coroutines, we can make sure that heavy calculations and queries do not slow down the interface, creating a sense of perfect performance for the user. Js-coroutines also allow you to improve the backend. They help to get rid of the weak side of node js in comparison with php - processing huge and heavy requests, which can completely freeze the work of the server side today.

Article on how this can help on the frontend:

Article on how this can help on the backend:

Interesting reading @Mr.Rubi!

I think we already empower most of those performance improvement tricks in our APp Connect rendering and data parsing. Still @patrick can check if we missed a few

We also plan soon to add support for web workers to offload intensive tasks. Think of it as server connect but then client side in web workers :slight_smile:

1 Like

I never used generator functions, but in combination requestIdleCallback it is certainly interesting to prevent the stuttering on your app/website. This is especially important with animations and/or games.

Will see if it can be handy to implement some of the techniques they used to improve the responsiveness of App Connect. App Connect is relative fast, but you notice that it has problems when you have a lot of data to process, the website can then be unresponsive for a very short time which affects the users experience.

6 Likes

That would be great. As you correctly noted, this is critical for games and / or animations. But not only that. When developing native applications, or high-performance Flutter-based applications, the interface is also isolated from data processing and network requests. This is why users get excellent performance when using the interfaces of such applications. If something similar could be done based on JS-coroutines and AppConnect, it would be possible to create applications and sites with perfect interface performance using Wappler. That would be amazing.

3 Likes