What is the Precise difference between Client-Actions and Screen-Actions?

Sometimes I get confused between them.

I'd like to know:

    -Similarities

    -Differences


Please,

Thank You.

Olivier Levine wrote:

What is the Precise difference between Client-Actions and Screen-Actions?

Sometimes I get confused between them.

I'd like to know:

    -Similarities

    -Differences


Please,

Thank You.

Hi Olivier,

A Screen Action is an Action that's local to a Screen. It can only be called by Screen Elements (in Web) like Buttons or Links, or by a Notify of a Web Block. In Mobile, Screen Actions can also call each other. Screen Actions have local scope to the Screen (outside the Screen they are not visible), and have access to all Screen Input Parameters, Screen Local Variables and Widgets. Screen Actions are run either on the server (Web) or on the device (Mobile). Use Screen Actions for simple logic that's Screen-specific.

Client Actions are the Mobile equivalent to Server Actions. The 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 a fourth type of Actions 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.

or else you can follow this forum discussion

https://www.outsystems.com/forums/discussion/49836/difference-between-screen-action-server-action-and-client-action/


i hope it will helps you


Thanks


Hi Olivier,

Client Actions and Screen Actions should not be seen as opposites, as a Screen Action can in fact be a Client Action.

A Client Action is an Action that runs client-side, i.e. in the browser or on the mobile device. A Server Action is an Action that runs on the server.

A Screen Action is an Action that is part of a Screen's logic, and therefore has access to the Screen's Local Variables etc. (see Yogesh's answer). Traditional Web Apps have Screen Actions that are also Server Actions, as they run on the server. Reactive Web Apps and Mobile Apps have Screen Actions that are also Client Actions, as they run on the client.

Then there are Service Actions, which are also Server Actions in that they run on the server. They have some different behaviours from normal Server Actions however, which is why they have a different name. 

Kilian Hekhuis wrote:

Hi Olivier,

Client Actions and Screen Actions should not be seen as opposites, as a Screen Action can in fact be a Client Action.

A Client Action is an Action that runs client-side, i.e. in the browser or on the mobile device. A Server Action is an Action that runs on the server.

A Screen Action is an Action that is part of a Screen's logic, and therefore has access to the Screen's Local Variables etc. (see Yogesh's answer). Traditional Web Apps have Screen Actions that are also Server Actions, as they run on the server. Reactive Web Apps and Mobile Apps have Screen Actions that are also Client Actions, as they run on the client.

Then there are Service Actions, which are also Server Actions in that they run on the server. They have some different behaviours from normal Server Actions however, which is why they have a different name. 


Is it then true that:


    -Traditional Web: Screen Actions are Client OR Server Actions.


    -Reactive Web: Screen Actions are ONLY Client Actions?


Thanks.

Hi Oliver,


In traditional web there is no client action at all. The screen actions are to be interpreted as POSTBACK actions in terms of ASP.NET.

Server Actions are just common actions that can be used by multiple screens.

Until OutSystems 10, Client Actions were only available in Mobile Application Development. Simply because the Mobile Application Development used Reactive web in the background.


The main difference lies in using React JS framework for all the screen actions, that is, any variable value changed in the screen the change is reflected instantly on the UI, without using AJAX Refresh.


Regards,

Saugat

Olivier Levine wrote:

What is the Precise difference between Client-Actions and Screen-Actions?

Sometimes I get confused between them.

I'd like to know:

    -Similarities

    -Differences


Please,

Thank You.

Hi Olivier ,

You can follow below link for better understanding of the screen action,Server action and Client Action

https://success.outsystems.com/Documentation/10/Developing_an_Application/Implement_Application_Logic/Actions_in_Web_Applications

https://success.outsystems.com/Documentation/11/Developing_an_Application/Implement_Application_Logic/Actions_in_Reactive_Web_and_Mobile_Apps

I hope it will help you!


Thanks

Solution

Hi Olivier,

Traditional Web: Screen Actions are Server Actions only;

Reactive Web and Mobile: Screen Actions are Client Actions only.

The confusion I think comes from the "Server Actions" and "Client Actions" folders in the Actions Tree on the Logic tab, available for Reactive Web and Mobile (Traditional Web only has Server Actions).

@Saugat: "Simply because the Mobile Application Development used Reactive web in the background." - this is confusing and wrong, as "Reactive Web" is used for the new way of developing web apps. I think you mean the "React" framework.

Solution

Kilian Hekhuis wrote:

Hi Olivier,

Traditional Web: Screen Actions are Server Actions only;

Reactive Web and Mobile: Screen Actions are Client Actions only.

The confusion I think comes from the "Server Actions" and "Client Actions" folders in the Actions Tree on the Logic tab, available for Reactive Web and Mobile (Traditional Web only has Server Actions).

@Saugat: "Simply because the Mobile Application Development used Reactive web in the background." - this is confusing and wrong, as "Reactive Web" is used for the new way of developing web apps. I think you mean the "React" framework.

Thanks for correcting. It's React framework.


Regards,

Saugat