Skip to Content
Product Information
Author's profile photo Don Coop

Expanding mobile development kit to Android

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:

Assigned Tags

      9 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Murali Shanmugham
      Murali Shanmugham

      Good news

       

      Author's profile photo Mike Doyle
      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?

       

       

       

      Author's profile photo Don Coop
      Don Coop
      Blog 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.

      Author's profile photo PRATISH PARIJA
      PRATISH PARIJA

      How to build it in android ?

      Author's profile photo Don Coop
      Don Coop
      Blog Post Author

      We will post a blog soon on how to build a customized Android client on a local computer. Keep in mind that access to the MDK 3.0 SDK which includes client for Android is in restricted shipment so only available to customers in the MDK 3.0 Early Adopter Care program.

      Author's profile photo Manjunatha Nagaraj
      Manjunatha Nagaraj

      Hi Don,

      Thanks for this blog!

      In TechEd, I had couple of customers asking for MDK's support for Android(its GA) and this blog is very useful in this context!

      Author's profile photo Bill Froelich
      Bill Froelich

      I am happy to announce that the new release of the Mobile Development Kit (MDK) version 3.0 SP01 PL01 (3.1.1) has been made generally available for all Mobile Services customers.  The SDK is available now on the marketplace.

      Author's profile photo Frans Sundjaja
      Frans Sundjaja

      Thanks Bill.

      I have come up with my own MDK app build using the webide and I have also downloaded the "generic"  Android SAP Mobile Services Client App from https://play.google.com/store/apps/details?id=com.sap.mobileservices.client

      However when i attempted to onboard either by scanning the QR or clicking the link, it always brought up the demo data. It does not seem to recognize my own test app.

      It works for iOs though. Any clues to what is happening?

      Thanks

      Author's profile photo Bill Froelich
      Bill Froelich

      In order to onboard to a different destination you must be at the Welcome Screen.   If you using the client in demo mode already please reset back to the Welcome screen by navigating back to the Overview screen and tapping on the User menu in the upper right corner in the action bar and select the Reset All option.  Tapping OK on the confirmation dialog will take you back to the Welcome screen.

      Once you have logged out please try scanning your QR code again.  Please note we are aware that a number of the QR code scanners (built in and 3rd Party) don't seem to be correctly passing the URL values to the client.  If you are still having trouble after logging out please try scanning with this one as it is known to work.

      --Bill