Overview of client technologies
IBM MobileFirst Platform Foundation includes and supports various technologies to help you develop a mobile application.
Each technology has its advantages and disadvantages. You must know which tool to use in any situation.
The following tutorial provides an overview of these technologies.
Each technology is then further covered in separate tutorials.
MobileFirst supports both native (Objective-C, Java, etc.) applications and hybrid web-based applications.
Full native development
If your app requires the full power of the environment, you can develop it purely in native code.
This approach is also useful when your deploy existing native apps on the MobileFirst Server.
The platform supplies a native MobileFirst client API to manage authentication and back-end access, and to benefit from more server functionality.
For more information, see the tutorials about developping native applications for MobileFirst.
Hybrid web-based development
You can choose to develop your MobileFirst application as a hybrid, web-based application.
- Environment-specific code
- Cordova APIs
- Cordova plug-ins
- Native UI
- Multipage techniques
- Offline access
MobileFirst apps use the MobileFirst API to access back-end data and server functionality.
Some controls are common to most hybrid environments. Examples: modal pop-ups, loading screens, and tab bars.
For more information, see the Common UI controls tutorial.
To achieve maximum adaptation to a specific environment, you can optimize web resources specifically for it.
MobileFirst eases the code maintenance of multiple-environment optimization.
For more information, see the Optimizing your application for various environments tutorial.
Skins provide support for multiple form factors in a single executable file for devices of the same OS family.
Skins are a subvariant of an environment.
Skins are packaged together in one app.
The decision on which skin to use is made automatically at run time.
For more information, see the Supporting multiple form factors by using skins tutorial.
The MobileFirst Framework uses the Cordova library. MobileFirst exposes the Cordova APIs so that developers can access native device functions through those services.
For more information, see the Apache Cordova overview tutorial.
By default, a plug-in must be implemented for each supported environment (for example, iPhone).
Various Cordova plug-ins exist on the market.
For more information, see the Adding native functionality to hybrid applications tutorial.
MobileFirst provides different ways to augment web applications with native pages.
Users can navigate freely between web and native pages, share data between pages, and share a single server session.
For example, contact details can be accessed by using the Apache Cordova API. However, if your application can use the contact application in the device, use the Native Page API.
For more information, see the Using native pages in hybrid applications tutorials.
You can also modify the native project generated by MobileFirst to write your own custom native code. See Android – Adding native UI elements to hybrid applications and iOS – Adding native UI elements to hybrid applications.
You can build applications with multiple pages in two ways:
- A single HTML file that contains all app pages. Pages are divs that become hidden or shown at run time.
- A separate HTML file for each application page.
The first option is better for small apps but is less scalable.
For more information, see the Building a multipage application tutorial.
MobileFirst apps work in concert with the MobileFirst Server.
In offline mode, developers can detect app connectivity failures and determine the best course of action.
Developers can define custom application behavior for offline and online status.
For more information, see the Data tutorial.