Developing MobileFirst applications

You use either MobileFirst Platform Command Line Interface or MobileFirst Studio, and the MobileFirst client- and server-side APIs to develop cross-platform mobile applications, desktop applications, or web applications.

This information is designed to help users develop applications for various channels by using IBM MobileFirst™ Platform Foundation. It is intended for developers who are familiar with web, or native application development.

This section covers client-side development and server-side development topics, such as the integration with back-end services, and push notifications.

Development framework features

IBM MobileFirst Platform Foundation provides a framework that enables the development, optimization, integration, and management of secure apps. This framework provides the following features:
  • Guidelines and design patterns that promote compatibility across multiple consumer environments.
  • Automatic packaging and provisioning of application resources to multiple consumer environments.
  • A flexible UI optimization and globalization scheme.
  • Tools that provide uniform access to back-end enterprise data, processes, and transactions.
  • Uniform persistence.
  • A uniform personalization model.
  • A flexible authentication model and automatic application protection from web attacks.

IBM MobileFirst Platform Foundation does not introduce a proprietary programming language or model that users must learn. You can develop apps by using HTML5, CSS3, and JavaScript. You can optionally write native code (Java™, Objective-C, or C#), and IBM MobileFirst Platform Foundation provides an SDK that includes libraries that you can access from native code.

Seamlessly mix web and native components in your application

You can mix web and native components in your application, allowing you to build a hybrid application with any composition of web and native capabilities. The following features support this flexibility in hybrid app development.
  • The architecture of hybrid applications (iOS and Android) allows you to easily use native code when the application starts. You can add code at the beginning of the application lifecycle, before the MobileFirst framework is initialized, and have full control over when to initialize the MobileFirst framework, including being able to initialize it in the background. This flexibility allows you, for example, to add a custom splash screen or to control the default splash screen behavior, and to start an application with a native screen.
  • You can navigate seamlessly between the native and web parts of your application without having to reauthenticate, and you can invoke both native and JavaScript WLClient APIs in any order. For example, the following scenarios are possible:
    • Start the application in a web view page, connect to the MobileFirst Server, and then login to access protected resources. You can then switch to a native view and access the same protected resources without the need to reauthenticate.
    • Start the application in a native page, connect to the MobileFirst Server, and then login to access protected resources. You can then switch to a web view and access the same protected resources without the need to reauthenticate.
  • The MobileFirst API allows you to easily send actions (events) and data between the native and web modules of your app. This makes it easier to build applications that mix hybrid and web components, for example:
    • You have an application with a JavaScript communication module and a native presentation layer. You can use the MobileFirst API to easily send the data acquired by the communication module to the native layer, so that you can present it to the user in a native screen.
    • You can easily trigger complex native actions using JavaScript, without implementing a Cordova plugin. You can also call JavaScript code from native code.
    • You can easily show native and web components on the same screen, using the MobileFirst API for communication.