Building mobile apps

Mobile applications in Profound UI are developed using the same techniques as Profound UI web applications for the desktop.  The Profound UI runtime framework automatically detects the user’s application environment (mobile vs. desktop) and adjusts the behavior of the widgets within the application accordingly.  Examples of this include:

  • Grid widgets providing for swipe scrolling on a mobile device vs. a standard desktop-like scrollbar

  • Slider widget displaying a bigger handle so that it is easier to slide with a finger

  • Charts switching to HTML5 mode so they can render on iOS devices

  • Signature Pad widget responding to touch events

  • Textboxes for numeric fields automatically bringing up a numeric keypad

  • Dropdowns utilizing the native device look-and-feel vs. a desktop browser look-and-feel

  • Drag and drop operations using touch events vs. mouse events

  • Google Maps Widget providing pinch to zoom capabilities

Although the runtime environment handles a lot of issues automatically, a few details must be taken into consideration by the developer; such as how to deploy the application, how to take advantage of native features on the device, and how to accommodate for different device screen sizes.

When modernizing green-screen applications on the fly with the Profound UI Genie module, the Tablet skin can be used for deploying to a mobile device.  The Tablet skin ensures that all 5250 functionality is accessible through touch actions and provides a pop-up keypad for special emulation keys, such as Attention, System Request, and function keys.  You can copy and modify the Tablet skin to tweak the look- and-feel and the functionality of your application.  You can also add various enhancements using the Genie Designer.

For Rich Display File applications, the mobile screen size must be taken into account.  For example, clickable elements should be large enough so that they are easy to trigger with a touch of the finger.  Likewise, layouts can be used to adjust for varying screen sizes or device orientation changes.

Deploying mobile apps

There are three ways of deploying Profound UI mobile applications:

  • You can run Rich Display or Genie applications directly in a mobile device's browser, just like you do when you use a PC desktop browser.

  • You can use the Profound UI mobile client.

  • You can package your app as a native app using Apache Cordova.

Deploying using the browser on the device is the quickest way to deploy.  The browser can be pointed to a URL, which can execute a Profound UI RPG program (typically a program registered as Anonymous within Profound UI) or a PHP controller.  A bookmark or shortcut to the URL can be created on the user’s device and placed on the desktop for easy access.

Using the Profound UI mobile client lets you run your software as an app on the device, rather than in a browser.  The Profound UI mobile client:

  • Is a free app in the app store, produced by Profound Logic.

  • Lets you access native device capabilities such as the camera and accelerometer

  • Does not require you to do any extra programming.

  • Does not require a Mac for deployment to Apple's app store.

  • Does not require a developer certificate, or for you to go through Apple's app approval process.

Packaging with Apache Cordova is the most versatile way to deploy a mobile app, but does require additional programming and effort:

  • You can take advantage of device capabilities.

  • You can extend your application with Apache Cordova plugins, if desired

  • You can write Javascript code to handle special events, such as program logic to be used when the IBM i server is unavailable.

  • Lets you package your own app in the app store, with your own logo, etc.

  • Deployment to the Apple app store does require some development on a Mac.

  • Deployment to the Apple app store requires you to have a developer certificate with Apple and to go through Apple's app approval process.