I need to explain which time using server and client action and we want differentiate in theoretical manner
Hello Shanmuga,
Please refer the below posts links where it was explained very well.
https://www.outsystems.com/forums/discussion/49836/difference-between-screen-action-server-action-and-client-action/
https://www.outsystems.com/forums/discussion/54476/difference-between-client-and-server-action-in-reactive-web-app/
Thanks & Kind Regards,
Sachin
Hi @SHANMUGA PRIYA
Server Action:-
Server Actions are Actions that are always executed on the server, both in Web and Mobile. Since Web Apps run on the server in their entirety, this is the only available type of Action for a Web App. When a Mobile App calls a Server Action, it needs to be online (since it must reach the server to execute the Action). Use Server Actions in Web Apps whenever you need to abstract some business logic or core logic or domain-specific logic. Use Server Actions in Mobile Apps only if you cannot avoid it (e.g. when syncing data), as it will incur a performance penalty (for calling the server and waiting for it to respond back).
Client-Action:-
Client Actions are the Mobile equivalent to Server Actions. They run on the device, not on a server. Client Actions are therefore only available for Mobile Apps. Their use, like Server Actions, is to abstract logic.
Since OutSystems 11, there is one more action added that is called Service Actions. These are very much like Server Actions, but share some properties with REST Methods (perhaps yet another type of Action), in that calling them only creates a "weak" Reference to the Module it's in (instead of the normal "strong" Reference). But if you've just started OutSystems, I'd forget about them for now.
Thanks and Regards
Vednarayan Saket
Client Actions:
Server Actions:
Aravind,
Your answer has some incorrect statements
Updated!
You only updated one of the two bullets
Got it Thanks for the info Daniel. I forgot to mention that we cannot access server action as function in expressions in mobile and reactive apps.
Client Action : An Action cannot be exposed when:
In case the execution of the Producer and Consumer modules are under different User Providers, the modules have different sessions. In this case, variables associated to the session can hold different values between modules.
Server Action :
An Action cannot be exposed when:
some of the link to ref: https://success.outsystems.com/Documentation/10/Developing_an_Application/Implement_Application_Logic/Actions_in_Web_Applications?_gl=1*11gm88l*_ga*MjYyODk0MjgzLjE2MzcyODg3MzU.*_ga_ZD4DTMHWR2*MTYzNzY1OTU0Ny44LjEuMTYzNzY2MjMyNi40MQ..#Screen_Actions