Skip to Content

Selection of a mobile framework - for enterprise mobility app.

There have been many plethora of mobility frameworks (e.g Kony, HTML5 based frameworks) that have same features as Cordova - write your code once and run it on multiple platforms. Some are free,others are not. Having recently implemented enterprise mobility app (integrating with ECC, CRM) using one such framework, there are a certain I would like to consider before choosing a framework:

a) How easy it to build security into the app (the login module)?

b) How do I know that the requests for my data is an authenticated source?

c) How good is the vendor support with plugins, upgrades to SDK?

d) For frameworks that are free, do vendors really pay attention to issues that you are facing during (very specific to) your implementation.

e) Scalability of the framework to support the app with newer mobile OSs, mobility sets (Motorola, Micromax, Blackberry), tabs.

f) All mobile sets have limited memory at most to 2GB (or little more). How will the framework help in viewing huge amount of data that is there in SAP?

From my experience, I would say it is big pain, implementing a enterprise mobility app with open framework adhering with the go live dates.

SAP products are more easy to handle. A lot of featues comes inbuilt. Mobile apps comes as pre-packaged apps. One needs to customize it according to it needs. Product support from SAP is remarkable. Implementing and going live with such product becomes automatically easy adhering to the timelines. So is the maintenance. But of course comes the licensing price for SAP.

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

1 Answer

  • Aug 12, 2014 at 07:30 PM

    Various Options are to be considered choosing the platform/UI framework for any mobility projects. Some of them mainly involve the meeting the requirements accurately with minimal effort , time cost resources , support for development and more over with the best possible performance.

    I personally would go with appcelerator as an alternative to cordova to deploy multiple platforms with minimal effort.

    Having recently implemented enterprise mobility app

    Which frame work have you worked with ? please share your pain points with it if any.

    and answering your questions,

    How easy it to build security into the app (the login module)?

    Developing any custom login module for a mobile application against SAP is slightly complex . It might consume more time rather than the actual development of the application.

    For the same reason , to add user login authentication to the applications several login modules have been available with SAP Mobile platform .

    Various security providers and user login authentication are inbuilt features of SMP and can be integrated irrespective of the framework (both Native and Hybrid) .

    PLease have a look a this which explains the ease in adding the basic authentication to a hybrid application based on SMP 2.x.

    A Kapsel Login Plugin is also made available from SMP 3.x and can be very easily integrated with the applications developed with cordova technology. (Kapsel plugins are custom plugins deveoped by SAP to add enterprise grade features like login, encryption to the application ) .

    I would also suggest to have a look at Kapsel Sink application which demonstrates the features of kapsel plugins.

    How do I know that the requests for my data is an authenticated source?

    Every device which consumes the data from SAP is registered with SAP Mobile Platform and also various logs are maintained at SMP which clearly points out , which device is able to consume the data and failed in consumption .

    Also there can be more added security from Mobile device management tools like Afaria and mocana.

    How good is the vendor support with plugins, upgrades to SDK?

    The cordova plugins are opensource. There are a group of people completely working to track the issues and fix them . I can see the plugins along with the platforms being updated at regular intervals. The major bugs are fixed immediately .

    Also the third party SDK support is extremely good. Last updated logs can be checked from here

    For frameworks that are free, do vendors really pay attention to issues that you are facing during (very specific to) your implementation.

    Are you referring to the UI framework here? If so i would strongly support SAP UI5 since it is from SAP and the pain points can be addressed to the team very aptly. More over i love the look and feel of UI5 than any other frameworks like JQM/sencha/...

    Scalability of the framework to support the app with newer mobile OSs, mobility sets (Motorola, Micromax, Blackberry), tabs.

    Cordova applications compatibility depends on the browser support of the devices(HTML5 rendering capabilities changes from OS to OS and so with devices. ). Mostly now a days all the major OS support the HTML5 features. so almost all the devices are supported. The compatibility of various features can be checked from here

    Motorola , Micromax , are device manufacturers. They run the same Android OS which is running on other device manufacturers like samsung/ nexus .

    Blackberry has its proprietary OS and is also very much supported by Cordova.

    All mobile sets have limited memory at most to 2GB (or little more). How will the framework help in viewing huge amount of data that is there in SAP?

    This is a request response scenario . So only the required information is requested from the server and displayed on the device.

    (Consider the google website , only the requested information is displayed, but not the entire data is fetched from server and queried in the device)

    From my experience, I would say it is big pain, implementing a enterprise mobility app with open framework adhering with the go live dates.

    I agree , mobilizing an enterprise is challenging if not handled properly, but we as consultants should guide the customers and get their complex systems to be mobilized.

    SAP products are more easy to handle. A lot of featues comes inbuilt. Mobile apps comes as pre-packaged apps. One needs to customize it according to it needs. Product support from SAP is remarkable. Implementing and going live with such product becomes automatically easy adhering to the timelines. So is the maintenance. But of course comes the licensing price for SAP.

    Are you referring the prepackaged applcations to fiori applications here / applications developed on smp ?

    If so, fiori apps are mobile web in nature, Its to be integrated with Fiori Client which again is developed using cordova technology to run as Native application .

    Let us know for any further queries. Also would be great if you can mention , on what technologies your previous mobile app was implemented.

    Regards

    Virinchy

    .

    Add comment
    10|10000 characters needed characters exceeded

    • Sukanta Rudra,

      I love to work with SAP products and so i m in SAP. Having worked on several other mobile applications before , i can clearly see the ease in development of Enterprise applications using SAP products portfolio.

      Often I have seem blogs in SCN, advocating for frameworks other than that of SAP. No harm

      Please mention the blogs as a reference for more understanding. I can always only see Cordova / appcelerator being the recommended platforms by SAP for cross platforms development.

      SAP Partners with Adobe-Cordova/phonegap , Appcelerator, Sencha (the three big players in cross platform development)

      Developer Announcement: Third Party Tools

      SAP Drives Openness and Choice for Millions of Mobile App Developers

      More over i have worked mostly on all the three for a while and have experienced the ease in development with cordova.

      Also the HWC (Hybrid Web Container ) - the former way for developing hybrid applications on SAP Mobile Platform till 2.x has Cordova/phonegap plugins inbuilt in it. Literally it followed the approch of Cordova and ui framework was of Jquery Mobile .

      But Now with the release of SMP 3.X things are completely under the control of developer. There are no restrictions to use a particular framework for development and developers are free to use their choice for development (SMP 3.x highlights BYOT - Bring Your Own Tools for Developers).

      Adding to above , just would like to mention there are few products mainly focused and developed on cordova technology (KAPSEL plugins, Appbuilder, Fiori Client , River RDE in future integrating Kapsel plugins)

      SMP 3.x is all open for developers , we are free to use any platform as per our requirements and convenience now.

      PLease have a look at these videos on how SMP 3.x strategy stands for

      My experience has been using Kony-SKY framework for developing the mobility apps (not mobile web). SKY plugins has been certified by SAP, to be used for developing mobility applications. (SAP does embrace other vendors). My questions pointed out above, was out of the struggles we had while implementing the project. Many at times, I felt I was reinventing the same tools while integrating into the SAP backends.

      I am not a Kony guy, but will surely look into this and would check if i can help you.But out of my experience with Cordova /HWC/ Kapsel , it was satisfactory.

      I presume you might have used/using SAP's Fiori apps, SAPUI5, mobile architecture and would like to gather some more information very specific to SAP's environment. I have no experience now on delivering apps using SAP's products. Maybe three months from now, I would get deep with 'SAP Fiori UX and SAP Screen Personas'. Maybe you could throw some light on few more queries.

      Yeah , thanks to SAP for Fiori being out of License now and UI5 an Opensource. I have had the opportunity to also work and implement Fiori transnational applications and also develop Custom UI5 applications .

      Note : Personas is really a good product , but on the down side is n't responsive in nature , so might not be a best fit for mobile devices

      How are builds generated for different platforms? (Android uses.apk, Blackberry uses .cod, iPhone uses .ipa)

      I can help you understand this with an Android Phone Gap project example

      Typically Native Android apps are developed using Core Java.

      Initially all the Core libraries of Android and java are loaded with import command

      import android.os.Bundle;

      Now Cordova libraries are added to existing libraries

      import android.os.Bundle;

      import org.apache.cordova.*;

      and Android uses the concept activities and layout for screen navigation and designing.

      and by default any android project should have an activity and layout for launching the application, for which the code looks something similar to this

      setContentView(R.layout.main);

      so , a Relative layout is initially launched as main view.

      As mentioned in the blog in " How does it actually work section " cordova loads web views instead of the native layouts /activities

      How Does it actually work ?

      Technically the User Interface of a Cordova Application is effectively a WebView that occupies the complete screen and runs in the native Container. So , it is the same web view that is used by the Native Operating systems. This purely means that only the Native Containers changes according to the OS and internally the web pages remain the same. (Since the browser rendering of webpages are different for each operating systems)


      For IOS it is UIWebView class

      Android it is in android.webkit.webview

      Windows it is WebViewClass and the similar goes to other OS .

      This line of code is responsible for that

      super.loadUrl("file:///android_asset/www/index.html");

      our developed web applications should reside in the above mentioned location to access as any native web view

      also few other hacks are to be done at

      public class [appname]Activity extends Activity {

      to

      public class [appname] Activity extends DroidGap {

      and to the android manifest file accordingly to get the permissions

      Now internally the android applications works just like any native applications but accessing the web applications files in the web view. and just generates the .apk accordingly to the application.

      Say a query is executed from a mobility app, say the result set is some 1000 rows, how does the data fetch mechanism work. Do you use some delta data fetch mechanism?

      if i were to handle this , would try to filter this out to sections. Lets imagine huge PO s are resulted upon a query, i would try to create some sections/categories for Unreleased/Open/Approved /... and again try to perform some dynamic filter operations on each category selection/ or make use of pagination property to move across the items/records

      Also user would not be interested to scroll and search for his item from a huge collection of items.

      More over for handling of huge records Native approach is preferred to Hybrid/mobile web.

      When a mobility connection snaps while the user is using the app, does the app stop immediately? Or rather how is user informed about non availability of the network connection?

      Lets assume two cases here

      1) Complete Online application

      2) Online Offline Application

      1) If user is trying to access the data from the application , since this being an online application , a proper network connectivity id to be checked properly before making any request .

      for phone gap/cordova , Network Object helps us to check if network connectivity is available to make any request. else throw an alert to check the connectivity/ turn on the connectivity.

      Similarly a Connectivity manager API exists for Android . Here is an example. Same would apply for other OS also.

      2) For online - offline application . user wouldn't be able to read records from back end , but can perform other necessary operations on the device, and once the device gets connected to network, can sync with the back end . An alert should be thrown to inform the user about the loss in network connectivity and the limitations in accessing the data .

      Build/release mechanism and subsequent tracking for mobility apps for periodic release of apps - say there would regular fixes to bugs, upgrades to framework SDK, device OSs might get upgraded - Is there a tool for tracking all these, etc

      Yes. MDM tools are perfect fit for these. Afaria and Mocana are doing well now.

      And, anything that you would like to share, related to SAPs environment, that makes implementation easier.

      SAP Mobility is really booming and will grow , dominate in enterprise mobility in future.

      For our understanding:

      Let us know for more.

      Edit :

      IG is a part of SMP 3 but not a separate component as NWG

      Regards

      Virinchy

      Message was edited by: Virinchy P