How does OutSystems support mobile development?
Table of contents
- One code base, multiple devices and form-factors
- Visually develop the UI
- Create an amazing UX
- Offline apps - easy and powerful
- Secure your mobile apps
- Visually code the front-end
- Native device capabilities
- Visually develop the back-end
- Create native apps with no Java and no Mac
- Accelerate version updates
- Device testing
- Gathering user feedback
OutSystems offers three ways to develop mobile applications:
- Build a mobile app: These are applications that users install on their phones, have access to the device’s sensors, can work offline, and have a UX designed for a native experience.
- Build a responsive web app: These are applications that users can access from their mobile browsers without installation and that use web responsive technologies to automatically adapt to multiple devices and browsers.
- Build only your mobile backend: Use OutSystems as the backend for your custom-built native mobile app, using traditional tools such as XCode, Android Studio, or Visual Studio and respective native languages.
To learn more about support for mobile web app development, read the “Does OutSystems support responsive web design?” article.
One code base, multiple devices and form-factors
Mobile apps delivered with OutSystems are ready to be installed and run on iOS and Android devices, and they adapt to different form-factors using a single code base. Developers only need to create the UI and front-end code once, there is no need to adapt the code for each device you want to support.
OutSystems achieves this by generating highly performant hybrid applications that use the Cordova framework. OutSystems mobile applications are generated 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.
Visually develop the UI
OutSystems allows you to build the UI of your mobile app using a “what you see is what you get” editor that 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.
Editing for the smartphone:
Editing for the tablet:
Create an amazing UX
OutSystems includes OutSystems UI, a fully-integrated UI framework that provides customizable themes for your mobile apps, together with a huge library of samples and patterns that will allow you to rapidly develop beautiful mobile apps with a great look and feel. All of this with drag-and-drop simplicity, no need to fiddle with UI code.
To learn more about our themes, samples and patterns, check out the OutSystems UI Framework.
Offline apps - easy and powerful
OutSystems provides all the tools you need to build applications that run offline or in poor network conditions. Applications built with OutSystems automatically store all of 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.
You can learn more about OutSystems offline support in the "Can I build offline mobile apps with OutSystems?" article.
Secure your mobile apps
OutSystems dramatically accelerates the development of secure mobile applications, and their deployment in a secure runtime environment. OutSystems’ built-in application lifecycle management capabilities promote a clear assignment of responsibilities in the DevOps processes, laying the foundation for a secure Software Development Lifecycle (SDLC). Learn more about general OutSystems security here.
In recent years, cybercriminals have been targeting B2C applications more aggressively than ever before, leading to downtime, data exposure, intellectual property theft and hefty regulatory fines. In our commitment to continuously staying ahead of modern mobile security threats, we now offer OutSystems AppShield.
AppShield, an additional cost add-on, automatically adds additional layers of security during deployment to make applications even more resistant to intrusion, tampering and reverse engineering.
AppShield is fully integrated with the Mobile Apps Build Service, allowing you to publish secure mobile apps with a single click. After initial setup, iOS and Android applications packaged and released with MABS will automatically include OutSystems AppShield’s advanced protections. Features include, but are not limited to, native code obfuscation, root/jailbreak detection, repackaging detection, code injection protection, emulator detection and keylogger protection–securing your mobile apps both at rest and run time.
Visually code the front-end
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 quickly change all aspects of your application's interaction with users. This means 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.
Native device capabilities
Mobile apps built with OutSystems can access all of the device’s native capabilities and APIs through the use of plugins. This access includes geolocation, camera, notifications, bar code scanners, beacons, and more, all made possible by the simplicity of the OutSystems language.
You can use one of many plugins already available in the OutSystems Community, or you can build your own and take advantage of Cordova’s ecosystem. All you need is to refer to the git repository for the plugin, and you’re good to go.
For more information on integrating with native capabilities, refer to the “What native capabilities does OutSystems support” article.
Visually develop the back-end
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 also provides tools to simplify the integration and synchronization of multiple data sources:
- Integration of REST APIs, SOAP web services and external database connections
- Easy integration to external enterprise systems, databases or custom apps
- Visual mashup and orchestration of multiple data sources and APIs behind secured mobile endpoints
- Extensibility through custom code that you can deploy in the backend
- Centralized identity and authorization system, integrated with your common identity systems
- Support for background jobs and workflows for custom long-running backend processing
- Ability to use open source components made available by a huge community
- Use OutSystems as a back-end for native development in mobile platforms using XCode and Android Studio.
OutSystems ensures applications generated from your visual model are enterprise grade. This means applications are secure, robust, scalable, auditable and manageable.
Create native apps with no Java and no Mac
To create native apps with OutSystems, you just need to 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.
There is no need to have a Mac to build your iOS app, and no need to install Java and Android Studio to build for Android.
Accelerate version updates
To update your mobile app on your users’ devices you just need to deploy the app to OutSystems. You don’t need to rebuild your native application, if no new native integrations are added.
Once the new version of your application is published, OutSystems automatically pushes the new version to the users’ devices, and all your users will start using it. This ensures everyone is using the latest version of your app, allowing for extremely fast feedback loops or immediate fixes of critical app defects.
Device testing
OutSystems allows you to test your applications with different form factors. As you publish your application and open it in the browser, you’re immediately redirected to a screen that lets you choose which form factor to test in.
There’s probably no need for you to change the app, since OutSystems relies on responsive design to adapt to all form factors, but this allows to see how it will look on different devices.
Alternatively, you can also immediately open the app in your mobile device by scanning a QR code.
Gathering user feedback
A big part of evolving your application is getting feedback from your users. OutSystems provides an easy way for users to provide feedback directly inside the mobile app. Users can draw annotations, write text messages or record a voice memo.