1. Mobile App Development Capabilities
The OutSystems low-code platform enables enterprise-grade mobile application development with capabilities that span four key categories:
- Mobile apps: These apps can be installed on users' phones, with access to device sensors, offline functionality, and native user experience forAndroid (APK) and iOS (IPA) all with a single IDE and visual language.
- Progressive web apps: Accessible through mobile browsers, these apps adapt seamlessly to different devices and browsers without installation.
- UI/UX: The part of your mobile app that engages users and enables them to accomplish tasks, order items, and much more.
- Mobile frontends and backends: These support custom native mobile apps built both with the OutSystems platform and industry-standard tools like XCode, Android Studio, or Visual Studio, and respective native languages.
Table of contents
- Simplified cross-platform mobile app development
- Progressive web app distribution
- UI/UX capabilities for mobile apps
- Ease of building front-ends and backends
Simplified cross-platform mobile app development
With OutSystems, you can develop mobile apps that are deployable and functional on iOS and Android devices. These apps automatically adapt to varying form factors, maintaining consistency and using a unified code base. Developers implement client-side logic and local data storage and craft the UI and front-end code just once. This eliminates the need to modify the codebase for individual devices.
To enable this streamlined process, the OutSystems platform generates highly performant applications with an optimized responsive JavaScript application at its core, wrapped by a native shell that deals with all interactions with the device and offline data and logic.

To create native mobile apps with OutSystems, you don’t need a Mac to build your iOS app, nor do you have to install Java and Android Studio to build for Android. Instead, all you do is configure the app, add your keys or certificates, and click a button. The platform takes care of generating native builds for Android and iOS with all required contents and plugins. OutSystems native apps are constructed on the Apache Cordova framework, which allows developers to access a diverse range of native device functions for their apps seamlessly. They simply refer to the git repository for the plugin, and they’re good to go.

This access includes geolocation, camera, notifications, barcode scanners, beacons, and more, all made possible by the simplicity of the OutSystems language. There are three types of plugins developers can use.
Platform-supported plugins are available on the OutSystems Forge and are certified and fully supported by OutSystems.
Community-supported plugins are uploaded to the Forge by members of the OutSystems Community, which also provide best-effort support for them.
When the plugin you need isn’t available on the Forge, you can create your own. Simply select from one of the thousands of available Cordova plugins, add your github address, and wrap the plugin code with an OutSystems API. From that moment on, the new native functionality will be available in all your OutSystems apps. If the business requires something very specific, it is possible to create a new custom plugin. Check out these articles for more information on using existing plugins and building custom plugins.

Learn more about the array of available plugins for your mobile applications
OutSystems provides all the tools you need to build applications that run offline or in poor network conditions. You can quickly and easily model all offline requirements for everything from a very simple app that just caches data and content for performance to very complex apps that do offline calculations and require complex conflict resolution. As a result, the platform enables you to overcome the following challenges:
- Limited space for storing data locally
- Data synchronization between devices and the server
- Data conflicts and outdated client-side code
- Security of sensitive information
Applications built with the platform automatically store all the application's content on the user’s device for performance and offline access, and the OutSystems visual language provides everything you need to control which data goes to the device.

To address limited space on data stored locally, OutSystems gives you the ability to visually define the information you want to store on the device. This means you have total control over which data should be stored offline without losing the speed and flexibility of the visual language. Data on the device is stored on a local database, using SQLite as an underlying technology. There are no limits to how much data is stored other than the physical size of the storage, and data is persisted even if the app is closed, the device is rebooted, or power is lost.
Likewise, all data synchronization is done with the OutSystems visual language. You have control over when the synchronization process occurs, and you have full flexibility to use the synchronization pattern that matches your business specification, no matter how complex. This process can be started by your application at any time or automatically in specific instances, such as when the user logs in, when the application starts, or when connectivity to the server is restored.


This diagram outlines the runtime architecture of a typical application built using OutSystems with offline support. The native application includes all the resources required to run standalone from the server without any connectivity. When connectivity is available, the application will automatically check for newer versions of the resources and update itself—and this is something you can control and customize.
To address conflicts, the platform enables you to use a synchronization pattern where:
- The server database holds the master data that can change over time.
- The local storage database holds a subset of the master data and can be modified.
- Synchronization sends the modified data from the local storage to the server database and vice-versa.
- In the server, data is updated and any conflicting changes are registered for later resolution.
When it’s the code (and not the data) that changes on the server side, and the client-side code is outdated, synchronization sends the new or updated code from the server-side to the client.
If there is a need to secure sensitive information, you simply activate the data encryption on your application. This will ensure secure 256-bit AES encryption of your data on the device.
On the back-end, REST APIs are automatically generated and exposed to enable the client to send and receive data from the server. These are secure APIs that ensure only authenticated users can start the synchronization process, and all connections run over SSL so data remains secure.
To debug native mobile capabilities, such as mobile plugins, OutSystems provides specific debugging capabilities for both Android and iOS. In both cases, you will need to establish a connection to the actual device, typically through a USB cable. These options enable you to debug and troubleshoot your app's behavior with greater precision, aiding in the discovery, comprehension, and resolution of issues. They allow you to actively interact with and utilize the device's hardware and sensors, such as the camera or GPS location.
To learn more about debugging applications built with OutSystems, check out our technical documentation.
Progressive web app distribution
Progressive web applications (PWAs) are a type of application delivered through the web, built using common web languages, including HTML, CSS and JavaScript. Because PWAs can work offline, send push notifications, and access device hardware, their user experiences are similar to native applications.
During the development of a mobile app using OutSystems, developers can enable PWA distribution, and the PWA will automatically be prepared for use, fully compliant with Lighthouse, Google's open-source automated tool for evaluating web page quality. Because OutSystems and the OutSystems Community are consistently expanding the range of components that support native and PWSs, you can use a single code base without the need for additional specific logic, and the same mobile plugin will function in native applications and PWAs.
PWAs built with OutSystems are an excellent match for specific scenarios, given their numerous advantages:
- Faster and simplified distribution: Progressive Web Applications bypass the need for public store (App Store, Google Play) upload processes and approvals.
- Sharing and discovery: they can be effortlessly shared via URLs on social media and can be indexed by search engines, which makes them easier to find on the web–opening new avenues of attracting users organically. Additionally, PWAs are an excellent choice for organizations who want to distribute internal mobile apps.
- Fewer installation hassles: Users access PWAs directly from a web browser–no app store needed. This lowers barriers to entry and fosters increased engagement.
- Ongoing updates: Being web-based, progressive web apps are automatically updated, sparing users from manual app updates.
- Minimal impact on device resources: PWAs are not installed, so they don't use many device resources. This is advantageous for users with devicesthat have limited storage.
UI/UX capabilities for mobile apps
OutSystems enables developers and teams to create amazing user interfaces that work across all devices. In the visual designer, they're able to design and tweak the user experience to what's needed, without having to be an HTML, CSS or JavaScript expert. A “what you see is what you get” editor is equipped with the tools you need to make a great UX. These include a drag-and-drop editor, grid and flex layouts, smart vertical spacing, and accelerators such as UI patterns and screen templates, so building mobile screens is as fast as possible. The screen editor gives a perfect real-time preview of your design, which speeds up the experience because you can preview and quickly adapt your design for multiple devices.
.jpg?updated=20231026101325)

OutSystems also offers OutSystems UI, a fully responsive and integrated UI framework that provides customizable themes for your mobile apps. A huge library of samples and patterns allow you to develop beautiful mobile apps rapidly with a great look and feel. All of this is done with drag-and-drop simplicity, no need to fiddle with UI code.
Dozens of ready-to-use UI patterns can be easily dragged and dropped to build amazing UIs without any coding. With several developers pointing to CSS as one of the hardest “languages” to master and all the new challenges brought by the wide set of form factors across devices, OutSystems UI was designed to address the complexity and these challenges.
Its codeless approach boosts developer productivity, fosters usability, improves look and feel out-of-the-box, and reduces the skills required for developers to create rich and engaging user experiences.
OutSystems UI includes a set of widgets that allow developers to create richer multi-channel user experiences. Users can be more productive when inputting data in an app, while the developer team focuses on business functionality. These widgets are:
- Powered by HTML and CSS standards, a major advantage for accessibility compliance or customization requirements
- Supported by rich client-side JavaScript interactions for engaging user interaction and full extensibility of custom behavior when it's needed
- Easy to use in the visual development environment, which saves developers long hours of JavaScript troubleshooting
- Multi-channel ready so they work and adapt themselves across multiple devices and form factors, and with substantial usability-related improvements for mobile scenarios
The framework provides two themes for web and three for mobile, all of which are customizable and fully responsive. Top Menu and Side Menu themes adjust the layout to respond to different base layouts. Phone theme scales up to tablet size. Tablet layout is specifically designed for this form factor, making better use of the real estate provided by these devices. Universal theme is optimized for a single application to offer two different layouts for the same set of screens, with different functionality depending on the form factor.
Any of the dozens of patterns work seamlessly in any of the themes and blend into their look and feel. Users have noted that “they just work” and look great across all devices.

Dozens of pre-built web blocks extend current OutSystems widgets with exciting new controls and patterns, like button groups, toggle buttons, dropdowns, balloons, carousels and many others. This makes building application user interfaces a breeze.
From displaying content in modern and easy-to-model layouts, to accessing modern controls, data visualization elements, and new navigation mechanisms, a developer team is covered for most patterns an application might need. There are also specific patterns that enable responsive behaviors or are designed to craft a mobile experience.

OutSystems makes it easier to develop enterprise applications by providing a set of fully functional screen templates with built-in logic, styles and sample data. These screens cover the most common enterprise application use cases and allow you to apply UI and UX design best practices that come from extensive research on the world’s leading applications.
From onboarding screens, directory, product details, profiles with lists and galleries, shopping carts and much more, all screens are fully editable and customizable with your company’s brand guidelines. Wiring your own data is also easy - you simply drag and drop an entity to the widget you want to change.

In OutSystems UI everything is responsive - the themes, layouts and patterns. It forgoes the client-side approach where a browser or device decides what content to display in favor of a server-side approach called RESS (Responsive through Server Side components). Content is calculated and optimized at the server before being sent to a particular device. This adapted version of the page improves fit and performance and has multiple advantages over having the browser or device decide:
- Only the required content is sent to the browser because the server is aware of the device in use.
- There are no CSS media queries, which makes specific device-targeted CSS instructions easier to understand.
- Different strategies can be used to handle devices on the server.
Responsive patterns can define which responsive behavior should occur for each device type without having to craft a single line of CSS or Javascript. In addition, a number of visual APIs are available that enable a developer to run server logic, depending on the type of device that is using the app. Examples include only fetching specific data from the database if running the app on a tablet or desktop or fetching an optimized version of an image if the app is running on a smartphone.
Ease of building front-ends and backends
OutSystems provides everything you need to build front-end logic for your mobile app. A cross-platform visual language makes it easy to create and change all aspects of your application's interaction with users quickly. You can get all the performance advantages of running code on the device, without having to worry about coding for multiple operating systems — it’s the same language for iOS and Android.

The back-end of an OutSystems mobile app is built with the same visual language as the front-end, which means you only need to master a single language. OutSystems provides numerous capabilities that simplify the development of the backend, including:
- Easy integration to external enterprise systems, databases, or custom apps, along with the integration of REST APIs
- Visual mashup and orchestration of multiple data sources and APIs behind secured mobile endpoints
- Extensibility through custom code
- Centralized identity and authorization system, integrated with your common identity systems
- Support for background jobs and asynchronous event-driven mechanisms for custom, long-running backend processing
- Open source components made available by a huge community
The platform ensures that applications generated from your visual model are enterprise grade. This means they are secure (learn more about OutSystems mobile-dedicated Security capabilities) robust, scalable, auditable, and manageable by default.