Developing Mobile Apps

Uniface enables you to develop cross-platform mobile apps using dynamic server pages (DSPs), JavaScript APIs to access device functionality, and a third-party hybrid framework to package the app for Android and iOS devices. This makes it possible to develop the same code for all platforms, but take advantage of native functionality.

Hybrid Apps and Frameworks

Hybrid mobile apps combine a web application or browser-based user interface with a native wrapper that enables the app to access device functionality such as the camera, geolocation, or contacts. This approach makes it possible to develop the same code for all platforms without having to maintain separate code for different mobile vendors.

Today there are many mobile app frameworks available, such as Cordova, Ionic, and many others. You are free to choose the framework that best meets your needs.

Using such a framework, you can assemble the application resources needed by the application, configure the target platforms and any plug-ins needed, and then generate the mobile app. You can then submit them to public app stores such as the Apple App Store for iOS apps or Google Play Store for Android apps, or to an enterprise app store.

Development Process

To develop a Uniface mobile app:

  1. Start by building a responsive web application that can display correctly in a mobile browser, using DSPs to provide the user interface.
  2. If you want to access native functionality, you will need to write web operations that make use of the plug-in JavaScript APIs provided by the hybrid app framework (such as Cordova plug-ins).
  3. Use a hybrid framework to package the mobile app. You can choose to:
    • Provide the URL of your web application to the hybrid wrapper (the simplest option).
    • Deploy the DSP runtime and static content (including CSS, icons, splash screens, and JavaScript) to the framework so it can be packaged into the app.

      This provides better performance than just the URL because it doesn't require everything to be downloaded from the server when running the app.

  4. Deploy to mobile devices directly or via app stores.