The difference between Client mode and Server mode

Now, I have implemented an Action as a plugin to get the exif information present in the image URL as an argument.
So my question is, which is more suitable for implementation, Client side or Server side?
I am not sure when to use them differently.

The advantages of ServerSide are

  • You can use libraries with node modules.

The advantages of the ClientSide are

  • console.log can be used

Is there any other reason why I need to use them differently?

The core difference between Client side and Server side is that, Client side uses your end-users’s browser processing power to execute the code and incase you are doing any API calls etc, they will be sent from the client’s browser as the request origin too.

Whereas the server side makes your code to use the Bubble server for the execution and you can use their Node environment for the execution.

To choose the client side script execution for your code, do a self assessment with:

  • Is your code supported in Browser?
  • It is not heavy enough to make the browser go unresponsive.
  • It doesn’t require extra node_modules in it.

If this all answer’s yes, then client-side is a good option to choose as this will not slow down your bubble app.

Hope this helps…

  • Umair A.
3 Likes

Thanks for your reply!!!
It is very clear.

I see that I also need to take into account things like the fact that I need to consider the impact of CORS when requesting external APIs and such on the client side.

These two terms are used in the context of web and have many differences, including different purposes and programming languages. Client side and server side are terms that both indicate how and where code runs. Client side programming includes any coding or computation or effects or animation or any sort of interaction your website performs with the user via browser . But server side programming is that which performs all the task in the server only . So the user is unaware of that. Few years ago JavaScript compilers were available only on the client machine (browsers). So java script was called as a client side scripting language. On the client side JavaScript is run by v8 engine (Google chrome). But now in the server side also JavaScript is used. The v8 engine (with some modifications to provide the server functionality) is also used in the servers to run js codes. So, in both cases the language is the same, only the environment is different.

Dumb question time - are client side scripts readable by the user using code inspection tools? i.e. is it safe to include ‘trade-secret’ code in the client-side script? Or are server side scripts better for this?

@Vibu Yes, you can. Client-side code can be seen.

Which means if I have secret sauce code I should be running it on the server side exclusively? And that is not visible to the user?

No. It means obfuscate your code like the rest of the devs in the world and leave it client side. Server side actions can take up to 5 seconds. Don’t turn your special sauce into sticky slow flowing molasses

1 Like

Wouldn’t it be great if Bubble offered this as a standard feature?