MobileFirst Studio overview

IBM MobileFirst™ Platform Studio is an Eclipse-based integrated development environment (IDE). You can use MobileFirst Studio to create mobile applications for various mobile operating systems, and to integrate applications with existing services.

With MobileFirst Studio, you can add custom plug-ins to Eclipse. For instance, you can use a Rational Team Concert™ plug-in to control your source code, track changes, and create daily builds without installing an extra development application. You can also build server applications, and applications for different mobile device operating systems, from a single IDE.

Note: If you use non-Latin characters in your application, you must make sure that your Eclipse editor uses UTF-8 encoding. To set the Eclipse text file encoding to UTF-8:
  1. In MobileFirst Studio, go to Window > Preferences > General > Workspace.
  2. In Text file encoding, select Other, and select UTF-8 from the list.

Native and web development technologies

MobileFirst Studio supports native and web development technologies such as HTML5, Apache Cordova, and Java™. With these development technologies, you can use the following capabilities:
  • Develop mobile applications with pure HTML5.
  • Use a compatible JavaScript framework, such as jQuery Mobile, Dojo Mobile, or Sencha Touch. You can use the user interface widgets and functions that are provided by these frameworks.
  • Use Apache Cordova so that your mobile application can access native device functionality. To access a special device module, such as one for near field communication (NFC), you can develop a native extension that you expose to JavaScript through an Apache Cordova plug-in, which is a small native-to-JavaScript wrapper.

Shell development

For hybrid mobile applications, MobileFirst Studio uses a default hybrid shell that provides you with capabilities to use web and native technologies. With shell development, you can use the following capabilities:
  • Separate native-component implementation from web-based implementation, and split this work between different developers. For example, you can create a custom shell, and add third-party native libraries, implement custom security, or provide extended features that are specific to your company.
  • Use shells to restrict or enforce specific corporate guidelines, such as design or security rules. For example, you can use a shell to add a default style to your mobile application, or to disable the camera of the device.

Runtime skinning

With MobileFirst Studio, you use a common environment as a basic development point and all environments can share base code. You can then create a version of this environment that is specific to a device, for example an iPad, by creating a variant of the base and implementing only the required changes. At run time, an extra function that is called runtime skinning makes your mobile application switch between different sets of customization.

Integration of device-specific SDKs

Each vendor of mobile devices supplies its own development environment as part of a software development kit (SDK). MobileFirst Studio generates a project for each supported SDK, such as Xcode for iOS development. Some vendors require that you use their SDK for specific tasks, such as building the binary application. The integration of device-specific SDKs within MobileFirst Studio links your MobileFirst Studio project with the native development environment (such as Xcode). You can then switch between a native development environment and MobileFirst Studio. Any change in the native development environment is reflected to your MobileFirst Studio project, which reduces manual copying steps.

Third-party library integration

Depending on your programming approach, your mobile application can include several JavaScript frameworks, such as Sencha Touch, jQuery Mobile, or Dojo Mobile. This third-party library integration facilitates code reuse and reduces implementation times. If you have a shell project, several types of compatible native code or libraries can be included.

Integrated build engine

The build chain of MobileFirst Studio combines common implementation code, which is used on all target platforms, with platform-unique implementation code, which is used on a specific target platform. At build-time, the integrated build engine combines these implementations into a complete mobile application. You can then use a single, common implementation for as much of the mobile application function as possible, instead of a unique implementation for every supported platform.

Integrated development tools

You can extend the Eclipse IDE with custom plug-ins, and use MobileFirst Studio to develop all components of your application from within the same development environment. These components include the mobile application and the integration code, which is called MobileFirst adapters. With integrated development tools, you can develop and test these MobileFirst adapters within MobileFirst Studio.

Mobile Browser Simulator

MobileFirst Studio includes a Mobile Browser Simulator that you can use during the development cycle. You can use the Mobile Browser Simulator to test mobile web and hybrid applications that are displayed in a desktop browser. This Mobile Browser Simulator support cross-platform browser testing for mobile devices.

Many desktop browsers and mobile browsers use the WebKit engine as their underlying core technology, which provides a common platform for developing applications that support HTML5, CSS3, and JavaScript. If you use a desktop browser that is based on WebKit, such as Chrome or Safari, to host the Mobile Browser Simulator, you can validate the behavior of the application in the browser before you deploy it on the device. When you test your application on the device or mobile emulator, you can verify that the core WebKit engine provides the same consistent user experience that you verify when you test with the browser.

The Mobile Browser Simulator also provides default implementations of the various Apache Cordova APIs. You can then use these default implementations to test hybrid applications that leverage the device features, without having to run the applications on the actual device.

Ant tasks

MobileFirst Studio provides a set of Ant tasks that you can use to run a mobile application build for various platforms. For example, you can distribute build tasks to various build machines that run Apple OS X (for an Apple iOS binary file), or Microsoft Windows (for a Microsoft Windows Phone 8 binary file). If you use this mechanism, you do not need to access multiple build machines to create several builds for specific mobile platforms.

Startup behavior

Every project has an associated WAR file. In MobileFirst Studio, you deploy the WAR file to MobileFirst Development Server during standard development activities. MobileFirst Studio remembers the last deployed project to the server. When MobileFirst Studio restarts, all deployed MobileFirst WAR applications are deleted from the server, except from the last one. The behavior is to avoid a Timeout error with the MobileFirst Development Server during server startup in case there are many WAR applications deployed.
Note: You can inhibit this behavior and make it work exactly like IBM® Worklight V6.1 by using the following steps:
  • Close MobileFirst Studio.
  • Go to the following path: /<workspace_path>/.metadata/.plugins/org.eclipse.core.runtime/.settings
  • Open com.worklight.studio.plugin.prefs file with a text editor.
  • Add com.worklight.studio.plugin.avoidServerCleanup=true.
  • Save the file and restart MobileFirst Studio.