Common Solution for Web & Mobile Application

Common Solution for Web & Mobile Application

Is it possible  to create common solution for Web & Mobile application(.Net) using outsystems.
Hi Nilesh,

Yes, it is possible to create a common solution for web and mobile application using OutSystems. Not only that, it's very easy!

There are two main approaches. You can build a sinlge website application that changes its layout client-side depending on the screen space available ("responsive design") - and we have some examples in the forge of how to do that easily - see

Secondly, you may decide you want to cater to a different set of user stories / use cases for small screen devices (mobile phones) in which case you could decide to build a second website (picking the "start new mobile site" option in Service Studio) - this has specific built in conventions for small screen mobile devices.

Because of the way OutSystems lets you build applications in a modular way, you can share all the data and business logic between the two websites - you don't need to repeat it. You can do that either by having refereneces from the mobile site to entities and actions exposed as public from the main site, or by putting your business logic and data entities in a separate eSpace which both sites refer to. Let me know if you need any help with the concept of references between sites - it may sound like there's a performance impact but there isn't, as OutSystems will automatically copy the business logic into each application that needs it as an in-process DLL, and will then ensure that any time that logic changes, it is automatically updated in all the dependent websites too.

Let me know if this helps, or if you need any additional pointers,

Kind regards,
Andy Burgess

Thx Anday,
If possible, please provide more details on concept of references between sites.


Hi Nilesh,

The idea it's to use css to make the layout adapt to the different screen sizes and use the same page/site for the mobile and the normal website version.

Did you check this demo?
There's also a link there, to this nice article:

Hope it helps you.
Kind regards.
Thanks Daniel.
Hi Nilesh,

You asked about references between separate applications in OutSystems. Here's where this topic is discussed in the OutSystems online help:

And here's my take on it...

Within each OutSystems eSpace (web site) you can mark things like entities, logic actions, roles, web blocks and even pages as public (have a look in the Properties part of the screen when you've selected a business action, for example). There's a property of "Public" which can have a value of Yes or No.

To make something available in other applications, just mark it as Public = Yes. Then, rebuild (publish) that eSpace - you have now made that item available to other applications.

To use the item in another application, open the other eSpace (the "consumer"), and click the Add / Remove References icon in the top menu (the three dots connected by two lines). Make sure the eSpaces listed are filtered to "Show All" (rather than "Show in Use"), and pick the eSpace that provides the item you want to re-use in the left pane. The right pane shows the items within that eSpace that are public, and you can tick the ones you want. OK the dialog and you're good to go.

You can now re-use data, actions, web blocks, etc, from one eSpace in another eSpace - they appear in the item hierarchy on the right-hand side in Service Studio just like the items you've defined within the eSpace.

By doing this, you will be able to structure your OutSystems applications to be made from multiple eSpaces (modules) rather than being a single, big website. This can help as your applications expand, or when you want say two different websites to use the same data and logic. You could either define the data and logic in one of the sites, and have the other site reference the first, or you could put the data & logic in a separate "common" eSpace, which both sites then reference - it's up to you, just whatever suits your design.

Hope this helps! Let us know how you get on!