Skip to Content

Build and maintain a single app that runs  native on Android and iOS

Support for both iOS and Android is critical to the success of an enterprise mobility strategy. Over the last 15 or so years, I’ve been involved in a variety of mobile projects. In some cases, the devices were already selected by the customer to meet the project requirements (ruggedized, form factor, security, costs). Other projects were BYOD and in those cases the goal was widespread adoption across a wide variety of devices usually to improve employee productivity or venture into the digital enterprise. But support for both Android and iOS was essential. Project leaders want flexibility and choice to minimize costs and risks.Even if they have existing devices, being able to change or add new ones on the other OS platform is seen as a big benefit.

The mobile development kit feature of SAP Cloud Platform Mobile Services has run on iOS devices since the initial release. Today, we are announcing that mobile development kit expands its native support to include Android devices in mobile development kit (MDK) 3.0. Users get the look and feel and performance of a native app but the developer builds and maintains a single app definition. The same app runs on both iOS and Android devices. MDK 3.0 will be available in limited, early adopter release starting in November 2018.

MDK 3.0 provides a new SDK that allows developers to build clients for both iOS and Android devices. In addition, developers and administrators can use the Cloud Build Service to simply build clients for both device types as well. The MDK clients are built on the SAP Cloud Platform SDKs for Android and iOS.

Customers continue tell me that they do not have enough developers with mobile skills and experience in their organization to meet the demand for mobile apps from their business units. The solution is to have tools that let customers apply a variety of developer skill sets to increase their capacity to meet mobile app demand. MDK lets developers build cross platform native mobile apps that follow the SAP Fiori design using an easy to learn visual, drag-and-drop tool. Development is web based using a plug-in for Web IDE. The plug-in adds additional wizards, drag and drop UI elements, app templates and codeless building blocks. MDK provides robust offline and online capabilities, mobile qualities such as the camera and barcode scanner and now delivers cross platform native support. For developers who prefer VS Code, there is also an extension for VS Code to improve developer productivity especially for modifying and troubleshooting MDK apps.

How does cross platform work in MDK?

MDK for Android works the same way as MDK for iOS does, with a native client for both device types. The diagram below shows the high-level architecture of MDK. If you are not familiar with MDK, the Learning Journey (link) is a great place to start.

The developer designs and maintains an MDK app in SAP Web IDE Full Stack. When the developer is ready to deploy the app to users, she uses the MDK Deploy and Activate action that packages the app and sends the bundle to an app in Mobile Services as an app update. The MDK client has NativeScript support and the Fiori for Android & iOS UI controls. This allows the client to transform metadata it receives from Mobile Services into native code on the device. The MDK client also leverages the Fiori for iOS and Fiori for Android responsive design and guidelines to deliver the proper UI for that device and format type.

 

 

The next time an MDK client running on a user’s device, iOS or Android, connects to Mobile Services, the client will get the updated app definition via the App Update feature. Below you can see same app running on the Android client and iOS client below that.

 

Android

 

iOS

 

What if I only want to build apps for Android (or only for iOS)?

If you only need to support one mobile platform for one of your MDK apps, then you would only push out one of the MDK client types, the Android client or the iOS client. If that requirement changes in the future, there’s no need to change or re-write your MDK app, you simply push out the other client type.

How do I get started?

Mobile development kit 3.0 which includes support for Android and iOS will be available for early adopters starting in November. We are taking applications now for the early adopter care program. Visit the SAP influence site to apply for access, or simply click on the button below:

To report this post you need to login first.

3 Comments

You must be Logged on to comment or reply to a post.

  1. Mike Doyle

    Thanks Don for sharing this exciting news.  I think it’s a really important space, because the BYOD (Bring Your Own Device) scenario is very common, and customers don’t want to pay to develop two native apps from scratch (even through the two apps could share a back-end).

    Should we expect an Android version of the SAP Asset Manager soon?  Is that being used as a test case for the Android version of MDK?

    If all goes to plan this could represent the beginning of the end for Cordova in the SAP ecosystem.  It’s interesting that the clients (‘players’) can be produced using the cloud build service.  I’d always understood the cloud build service to be specifically a ‘virtual’ Cordova environment.  Is it now a ‘virtual’ Xcode and ‘virtual’ Android Studio too?  Should we think of the client as a native app but with dynamic screens?

     

     

     

    (0) 
    1. Don Coop
      Post author

      Mike, Yes, Asset Manager app will add Android support in the same timeline. It’s not really the test case for MDK Android since MDK is a stand alone product. Both are released at about the same time. People are moving away from Cordova and this technology gives customers another option to use web developers to build cross platform but in this case, for native apps. I like your term, native with dynamic screens & workflows. Cloud build service builds SAP apps. Till recently that was Fiori but in the last 6 months we’ve added the ability to build iOS and Android versions of MDK, Mobile Card Kit and Asset Manager.

      (1) 

Leave a Reply