Skip to main content

 

Getting Started

 

OutSystems

Choose the Right App for Your Project

When creating a new app in OutSystems and according to your project's requirements, you need to select the type of application you want to develop. For each development scenario, different tools and features are available.

What is a Reactive Web App?

Check our blog post The Next Generation of Web Apps to read more about Reactive Web Apps!

In OutSystems, a Reactive Web App is an application with a responsive interface that runs in the browser, displaying a user experience adapted to all kinds of devices and screen sizes. It is developed using the OutSystems visual language. You can interact with the device's features and capabilities by extending the application code using HTML5 and JavaScript. You need only a browser to run it. This type of app is mostly used for displaying a high volume of data, like dashboards and tables, and it's crucial when targeting web desktops and responsive apps.

Reactive Web App is based on new Reactive Modules that helps unify development experience. Use Reactive Web App to develop with a single language, and to create and promote components that work across apps.

This means that with a Reactive Web App application:

  • You have one development paradigm for web and mobile.
  • You can build apps using the client-side runtime and create responsive UX.
  • Your apps run on a modern stack.

If you haven't developed OutSystems apps that focus on the client-side development paradigm, you can check the explanation about Screen and Block lifecycle Events and these notes about best practices.

What is a Mobile App?

In OutSystems, a Mobile App is a native app shell, developed using Apache Cordova, that wraps a web app developed using the OutSystems visual language. The app has user experience that is mobile-optimized and can access the device's capabilities and features using plugins. It can work offline and have data-caching features thanks to access to the device's local storage. The developed code is cross-platform, this means that you only have to develop one project and the application works on all the supported mobile platforms (iOS and Android). You can generate application packages and distribute them in the stores or you can distribute them to a set of users.

Comparison Between Reactive Web App and Mobile App

Reactive Web

vs

Mobile

One codebase for all devices and screen sizes.

Code Reusability

One codebase for all supported mobile platforms.

A browser.
No installation is needed.

Runs in

Mobile devices. Needs to be installed and is not supported in the browser.

Responsive layout for all screen sizes and types.

User Experience

Dedicated mobile UI patterns and experiences, such as animations and screen transitions.

Performance optimized for the client side. App logic can run on the device and the data exchange with the server is reduced.

Performance

Performance optimized for the client side. App logic can run on the device and the data exchange with the server is reduced.

HTML5 supported device capabilities.

Access to Device Capabilities

Access to full range of device capabilities (using Cordova plugins).

No offline capabilities*

Offline capabilities

Using local storage for storing offline data. Client logic running on the device.

Automatic update on browser page refresh.

Deployments/Updates

Most updates are made automatically on screen change. New installation required only when changing the native shell.

Share the app’s link with users.

Distribution

In-House or via Mobile app stores.

(*) Currently not available.

What is Traditional Web?

Traditional Web is an earlier type of OutSystems app that is focused on the server-side development. You may know this app under names such as Top Menu or Lisbon.

What is a Service?

As your application grows, you can use Services to abstract specific core concepts and expose functionality to other applications, following a service-oriented architecture.