OutSystems language mapping to html, css, javascript

I am new to OutSystems and I find myself always trying to understand what kinds of data and objects I am really working with, under the hood. Is there a place where I can go read to get a better understanding of the html, css and js code that is being generated when I use OutSystems structures, records, lists, aggregates, functions, etc?

Hello Pedro.

You may be mixing concepts. OutSystems is not pure web development. It is the same, made simpler.

What you are mentioning is for the backend. They are literally:

Entities = tables of a database

Variables, Lists, Actions, Functions = variables, lists and functions of a programming language.

Aggregates, Advanced SQL = Queries.

The connection is easier to see in the FrontEnd.

You can add pure CSS/JS to your project and even blocks of HTML or HTML tags.

You have some common components that are literally the same (radio/check boxes, dropdowns, input fields, tables, buttons, links, images) and some are similar (a container in OS is a div).

The rest is to save work with common patterns.

Nuno Reis wrote:

Hello Nuno,

Thank you for your reply.

As far as I understand, OutSystems provides web development capabilities, both backend and frontend. In what sense is it not pure web development?

As for the variables, lists, client actions and functions, unless I'm missing something, they are not necessarily backend, they can be frontend as well, just like any other language that supports frontend and backend. The entities are of course elements of the database (so, backend), whereas the aggregates refer both to the request (issued from the frontend) and to the execution of the retrieval operation in the backend. To clarify, my question was the following:

1) Frontend building in OutSystems generates HTML, CSS and JS. So, what is the mapping between the OutSystems language and JS? Are structure instances simply compiled to JS objects? What about records? Are OutSystems functions just compiled to JS functions? Are client actions just compiled to JS scripts? etc

2) As for the aggregates in OutSystems, once the data is fetched they seem to be available (at least when doing mobile development) as a 'GetEntity' icon under the correspondent screen, that I can only assume is some sort of object in RAM (so, JavaScript), result of some ORM operation. What I wanted to know is exactly what kind of JS object is being instantiated when data is fetched.


It is web development, but you don't use all that training. It works on a higher level.

It breaks away from conventional web development in the sense that most days you don't need to write code and almost no one in this community cares about the HTML (unless something breaks the CSS), 50% don't think in JavaScript anymore and CSS in the last couple of years has also started to fade (but will never be totally gone).

Honestly, i'm in the group that doesn't think on how it works so I can't give you the answer you want and deserve. That is probably in one of the several videos, but I can't remember. I only dig into the details when I have to. Tradicional web used to rely on ViewState, but I noticed Reactive is no longer like that so page renderization changed a lot and anything I say is probably wrong.

I found this comparison for .NET developers but it doesn't focus on JS. There is nothing similar for web developers besides this marketing brochure  (you can check the full guide, it is quite simple).

Hi Pedro,

OutSystems allows you to develop front end and back end and mobile all as one. You only need to learn how to develop in OutSystems and you will be able to develop web applications (traditional or reactive) and mobile applications (once coded with deploy to IOS, Android or WPA).

The developer experience is seamless, with that I mean, I can debug my mobile device, that calls a server action (backend) and keep debugging, it is all unified.

Only on edge cases you need someone to with html, javascript or C# skills to extend or customize beyond the default capabilities of OutSystems. CSS is out of the box also really good generated, but practice shows that knowledge of CSS is still useful to avoid that all applications look alike. But also on styling applications OutSystems has many tools (Live Style Guide, Templates, etc.) to really speed up development with minimal knowledge required on JS, Html and CSS.



Ok, thanks. I'll look into it!

Thanks Daniel!