Webapp at scale: Automatic Client Side Option?

Hi all,

I am interested in the client side type of callbacks to scale the webapp. Indeed, the context is that I would be interested in using the Dash technology to deploy an e-commerce webapp. However, all the server side callbacks even for basic hoovers etc seem to me a blocker for this on server side. I understand there is the possibility to define the call back on the client side writing Javascrip code. My questions are the following:

  • Is there, or is there a plan for just allowing a user to say whether we want this call back to be run on client or server side to avoid this manual javascrip transcryption ?
  • Is there any other tricks to reduce the burden of the server usage & accelerate interactivity & response?

Thanks!

It sounds like you are on the right path - utilizing client side callbacks is indeed the proper way to reduce load on the server, and improve performance too.

I don’t believe there is any plan to automate callback conversion. I looked at it some time ago, but found the current tools too immature.

If you know that you need the performance from the start, you could implement the calllbacks client side from the beginning - then you’ll save the conversion :wink:

EDIT: Here is a link to the projekt i played around with GitHub - emilhe/dash-transcrypt

Hi,

Thanks for your response. Indeed, it seems the framework is still immature hence my questions on next plans. If you had an option in the callback to say execute this python code and behind converts automatically in javascript, it would ease a lot the knoweldge and development time/testing. Especially when you do not know javascript.

Hello @duvi /@Emil,

Word on the street is that ChatGPT is quite decent at converting Python functions to Js and vice Versa.

There are a couple of libraries that boast that they can do this as well.

With any of these things, it is doubtful that 100% of the conversion will work. You might need to do some other stuff, especially if you have written functions that the callback uses in Python.

I haven’t tested this yet.