For up-to-date product documentation, see the IBM MobileFirst Foundation Developer Center.


What's new in MobileFirst APIs

New features improve and extend the APIs that we can use to develop mobile applications. Use the latest APIs to take advantage of new, improved, or changed functions in IBM MobileFirst™ Platform Foundation.

In addition to the MobileFirst APIs that were updated and improved, some APIs are deprecated or discontinued.


Updated JavaScript server-side API

In V8.0.0, back-end invocation functions are supported only for adapter types that are supported. Currently, only HTTP and SQL adapters are supported, so back-end invokers WL.Server.invokeHttp and WL.Server.invokeSQL are supported, too.


New Java server-side API

IBM MobileFirst Platform Foundation V8.0.0 provides new Java™ server-side API, which we can use to extend MobileFirst Server.

New Java server-side API for security
The new security API package, com.ibm.mfp.server.security.external, and its contained packages, include the interfaces required for developing security checks and adapters that use the security-check context. See Java server-side API.
New Java server-side API for client registration data
The new client registration-data API package, com.ibm.mfp.server.registration.external, and its contained packages, include an interface for providing access to persistent MobileFirst client registration data. See Java server-side API.
Application getJaxRsApplication()

With this new API, we can return the JAX-RS application for the adapter.

String getPropertyValue (String propertyName)

With this new API, we can get the value from the adapter configuration (or default value).

For more information, see MobileFirst server-side API.


Updated Java server-side API

IBM MobileFirst Platform Foundation V8.0.0 also includes updated Java server-side API, which we can use to extend MobileFirst Server.

getMFPConfigurationProperty(String name)

The signature of this new API has not changed in this version. However, its behavior is now identical to that of String getPropertyValue (String propertyName), which is described in New Java server-side API.

WLServerAPIProvider
In V7.0.0 and V7.1.0, the Java API was accessible through the WLServerAPIProvider interface. For example:

WLServerAPIProvider.getWLServerAPI.getConfigurationAPI(); and

WLServerAPIProvider.getWLServerAPI.getSecurityAPI(); These static interfaces are still supported in V8.0.0, to allow adapters that were developed in previous versions of the product to compile and deploy. Old adapters that do not use push notifications or the previous security API continue to work in V8.0.0. Adapters that do use push notifications or the previous security API break.

For more information, see MobileFirst server-side API.


JavaScript client-side APIs for web applications

The JavaScript client-side API that is used for development of cross-platform Cordova applications is now available also for development of web applications, with slight variations in the initialization method. Note that not all functions of the JavaScript API are applicable to web applications. For a full API reference, see the JavaScript client-side API.

In addition, a new JavaScript client-side web analytics API is provided for adding IBM MobileFirst Analytics capabilities to our web application. For a full API reference, see JavaScript web analytics client-side API.

For more information about using these APIs to develop MobileFirst web applications, see Developing web applications.


Updated C# client-side API for Windows 8 Universal and Windows Phone 8 Universal

The C# client-side API for Windows 8 Universal and Windows Phone 8 Universal have changed. For more information, see C# client-side API for Windows 10 Universal Windows Platform and Windows 8 Universal apps.


New Java client-side APIs for Android

public void getDeviceDisplayName(final DeviceDisplayNameListener listener);
With this new method, we can get the display name of a device from the MobileFirst Server registration data. See the documentation of getDeviceDisplayName in the WLClient API reference.
public void setDeviceDisplayName(String deviceDisplayName,final WLRequestListener listener);
With this new method, we can set the display name of a device in the MobileFirst Server registration data. See the documentation of setDeviceDisplayName in the WLClient API reference.


New Objective-C client-side APIs for iOS

(void) getDeviceDisplayNameWithCompletionHandler:(void(^)(NSString *deviceDisplayName , NSError *error))completionHandler;
With this new method, we can get the display name of a device from the MobileFirst Server registration data. See the documentation of getDeviceDisplayName in the WLClient API reference.
(void) setDeviceDisplayName:(NSString*)deviceDisplayName WithCompletionHandler:(void(^)(NSError* error))completionHandler;
With this new method, we can set the display name of a device in the MobileFirst Server registration data. See the documentation of setDeviceDisplayName in the WLClient API reference.


New push client-side APIs

Push client-side API is supported with IBM MobileFirst Platform Foundation V8.0.0.

To use push API for Android apps, see Java client-side push API for Android apps.

To use push API for iOS apps, see Objective-C client-side push API for iOS apps.


Updated REST API for the administration service

The REST API for the administration service is partly refactored. In particular, the API for beacons and mediators is removed and most REST services for push notification are now part of the REST API for the push service. For more information, see REST API for the MobileFirst Server administration service and REST API for the MobileFirst Server push service.


Updated REST API for the runtime

The REST API for the MobileFirst runtime now provides several services for mobile clients and confidential clients to call adapters, obtain access tokens, get Direct Update content, and more. Most of the REST API endpoints are protected by OAuth. On a development server, we can view the Swagger doc for the runtime API at:

http(s)://<server_ip>:<server_port>/<context_root>/doc

For more information, see REST API for the MobileFirst runtime.

Parent topic: What's new in V8.0.0