Showing posts with label sap mobile services. Show all posts
Pros and Cons of Client app development options

Pros and Cons of Client app development options

Sanjo Thomas•00:05:00

 In this blog we will see all the pros and cons of client app developmetn options

Choosing the Right Approach

In my previous blog, we saw the 3 development approaches for mobile development:

1)      SAP Cloud Platform SDK

2)      Mobile Development Kit

3)      SAP Mobile Cards

Each of these things, these options, has pros and cons, and is good for certain things.

SAP Cloud Platform SDK – Native Development Approach



So the big pro for going native is that you have full control and the best possible performance on a mobile device. This includes all the feature set that is natively available to you when you development directly within the platform. You have the look and feel of the platform
automatically and all the device features are at your fingertips.

This makes it good for applications that have a specific UX requirement. So if you want to have a video flying in from the right in your application, or a background video going on, you'll want to have special animations, screen transitions. All these things can be managed very easily in a native application.

Offline apps which you're using the whole day, are also very good approach for going native.

So the required skills depend on the platform you are developing for. You're typically either an iOS developer or Android developer. So for Android, you probably would need Java or Kotlin language knowledge, or Kotlin language knowledge, And for iOS, you would use Xcode, so the IDE knowledge, and obviously Swift as the programming language.

 

Mobile Development Kit


Mobile development kit is providing standardized look and feel, but it's native. It also gives you a lot of predefined frameworks and screens that simplify the app development. So it's very easy once you get started. And it enforces user experience consistency. That means that all your apps look the same. It's very good for applications that you see in enterprises, so where you have lists of data, where you
manage data objects, where you modify those objects, start processes, and this typical CRUD, This is what you would use the mobile development for.

It has been designed for offline applications, so it's also very good for using offline applications. The skill set that you need for mobile development kit are a bit typical, which I will be publishing in the coming blogs. But also, you can leverage HTML skills, JavaScript, and style sheet skills.

 

SAP Mobile Cards



Mobile cards is a very simple user experience and the user experience is basically already set. So there's less or no coding that you need to do  You have a quick time to market. And it's cross-platform and it integrates automatically into the underlying operating system. So for instance, push notifications, you don't need to care, it's already managed for you.

It's very good for functionally reduced micro-applications. So data entry, for instance, of applications with multiple screens - this is not what Mobile Cards is designed for. But if you want to see data and react to data, and the data should come in proactively to the device, to the user, then it's the right way to go for Mobile Cards. The required skill set is very familiar to many, many developers.

So you need HTML, style sheets, and optionally JavaScript. You can also create mobile Web applications, so basically Web sites that you render nicely on a mobile device. This is OS-agnostic, it's very cost efficient. Has a large device compatibility - that's no problem. It's very good for simple to complex apps, towards the simple apps. It usually does not require offline features or many native features, like push or others. But due to the progress in recent years, mobile Web applications have been tremendously making steps forward. So now you can, for instance, use barcode scanning in the application, without having an Apache Cordova framework or similar things. The required skill set here would be JavaScript, Web IDE for instance, UI5, maybe Apache Cordova, maybe not. If you want to go for progressive Web
applications, you probably don't need that.

Read more
Introduction to Client App Development options

Introduction to Client App Development options

Sanjo Thomas•00:01:00

In this blog, we will check the various variety of app development options

·       SAP Cloud Platform SDK

·       Mobile Development Kit

·       SAP Mobile Cards



SDK for iOS



The SDK basically consists of four components:

1)      One is the SDK itself, which provides all the libraries that an application developer would put into his application, in order to leverage the services from SAP Cloud Platform Mobile Services.

2)      The Assistant is the second component, and the Assistant helps you to quickly get started with the iOS SDK and it generates projects for you that you can use to jumpstart your application
development.

3)      Then there is the third component, which is the SAP Fiori Mentor. The Fiori Mentor is an application that runs on the iPad. It's a companion application that you would put beside your Mac, in order to help you browse the UI controls that the SDK provides, adjust the properties and the visuals of the UI controls, and then copy the code into your project that is needed to make this exactly available.

4)      And the fourth component is the iOS design language, which is also part of the SDK. There are UI controls provided so that once can use in order to build a mobile application and provide the screens.

The Assistant of the SAP Cloud Platform SDK for iOS is a standalone application for your Mac that helps you to connect to Mobile Services, generate application configuration on the server, and generates locally a project, an Xcode project for you. With the help of the Assistant, you can manage your projects and your dependencies quite easily and it's all that you need to get started with the iOS SDK.

The SAP Fiori Mentor, It's designed to fit on your iPad screen and the idea is that you can browse through the variety of UI controls, select the one that you want to use in your application, and adjust the properties.

The UI controls of the SAP Cloud Platform SDK for iOS are not just simple labels in a Fiori style. They are componentized objects, which helps you to have complex screens and layouts, and these layouts are already pre-defined. This helps you to get a consistent view across all of your applications that you build with the SDK, and obviously, you can also add your own UI controls and use standard UI controls in parallel.

SAP Cloud Platform SDK for Android



Android SDK consists of the SDK, it provides also a wizard, which helps you to generate applications, and UI controls that a list of UI controls that you can use for your
screens.

The wizard here is not a standalone application, but it integrates into the Android Studio, the de facto standard for development for Android.



Here, you would also connect to your Cloud Platform accounts, but particularly to Mobile Services, generate applications, adjust settings of your application, and consume the services from your server.



Also, here we have Fiori controls, that you can pull into your application to have a consistent look and feel across your applications. Similarly, it's not the case that we just have simple labels that are Fiori-styled, it's more than just that.

Mobile Development Kit

The mobile development kit helps you to create cross-platform applications that you write, define once, and then you can use it in the native way on Android and iOS at the
same time. You just need to build them once and you can consume them on iOS and
Android.

 

The mobile development kit basically consists of three parts:



one is the design time, one is the runtime, which in this case is the Mobile Services itself, and then you have a runtime player on the device, which executes what you have built and executes your application, in order to run it and bring it to your users.

SAP Mobile Cards

 

Mobile Cards is SAP’s take on micro-applications as well as an easy way to get started with mobility. The development of mobile application is very reduced, so you don't need to be a full-fledged app developer to create a Mobile Card. A simple skill set, like HTML, a little bit of JavaScript maybe, and style sheets will get you started to bring enterprise data to your users.



Mobile Cards comes also as a cross-platform development option, so you build a card once, and it runs on the Mobile Cards on Android and iOS as well.

The behavior of the Mobile Cards is very similar to what you may know from the wallet or passbook-like application, but this time, it's not the boarding pass that is in your
application, it's business information, represented as a card. And it comes with a lot of pre-defined content. For instance, you can easily use Fiori
applications and extract content from Fiori applications as a
card. It also integrates very easily into other existing SAP business applications,

 like Ariba, SuccessFactors, Concur, and more. It allows you to run workflow approvals, for each leave request you would get a card and then you can reject or accept the leave
request, directly from within the application. And the most interesting feature here is that you can build custom cards.



A simple Mobile Card basically consists of two things. An HTML template, which is filled with data from a back- end system, we merge that using Mobile Services, and then you consume it on the device. A card consists of a front side, but you can only also flip the card and see more detailed information about that item on the back of the card. You can style the card to your needs, adjust the colors, the graphics, everything you need, it's fully under your control.

 

Read more
 SAP Cloud Platform Mobile Services

SAP Cloud Platform Mobile Services

Sanjo Thomas•23:23:00

Building mobile applications is a challenge, there are many unique requirements and requests from customers and users towards mobile applications, as well as from the businesses. But from the side, there are also lot of requirements coming from the security aspects. To fulfill these requirements, often the needed skillset is missing.

Another challenge here is to integrate a mobile solution into the back end to retrieve the data and write it back to the back end. As mentioned, authentication is one aspect of mobile application development, but also the single sign-on towards the various back ends that the mobile solution will touch can be quite challenging. In addition, all these efforts you put into mobile app development and running afterwards the mobile solution will create a lot of operational cost.

In mobile applications, we also see a lot of unique challenges. For instance, a mobile application should also run in an offline state where you don't have any connectivity. But the application should provide the full user experience to the user as well. Also, we must cope with the various device platforms as well as the various devices themselves. So one from the one manufacturer and others from others.  Then we have different brands, and so forth.

Also the application lifecycle, rolling out a new version of your application needs to be considered. And at the very end, you also want to know and understand if your application was a success. So you need to measure if your app is actually being used or not.

To all these challenges, there is a solution which is SAP Cloud Platform Mobile Services.



There are a lot of services on top of the SAP Cloud Platform, one of them is Mobile services.

 



 

On the top, you see the various consumption models of how you can consume the service. Here we see the native SDKs that we discussed. We see the mobile development kit and SAP Mobile Cards. As well as other options to develop mobile applications. On the lower part of the picture, you see a lot of boxes. And these boxes are structured in three groups. On the right-hand side, everything that's needed to operate your application at runtime is listed here.

 So, if you have rolled out 5000 application to the users, you want to manage the traffic of those devices and apps. You want to manage root causes and troubleshooting sessions, and all this is provided by the Mobile Services here.

Then in the middle, we see the security. Everything that has to do with authentication and connectivity to the back-end systems, which provide the data for your mobile application, is handled here. So authentication, maybe multi-factor authentication, but also encryption is taken care of.

On the left-hand side, then you see a lot of blocks which are labeled app services. Within these app services, you find reusable components or features that you can put into your application so that you don't need to solve this business problem or this problem again and again for each application. Just reuse, for instance, the offline synchronization for one application, and the second and the third application.

Architecture of Mobile Solution



 

The overall architecture of mobile solutions is quite simple.  Here again, on top, you see the various apps that you have built that connect to Mobile Services. From there, the Mobile Services relay your data
communication to either the SAP systems you have on premise using the SAP Cloud Connector. You can also connect to your own back end that you have built with the SAP Cloud Platform itself. And in addition, you can also connect to third-party APIs using the SAP Open Connectors, for instance.

Mobiles services is available in all the data centers around the world, and its available in both Neo and Cloud foundry environment.

Refer to the previous blog, where I have mentioned the required steps on how to create an account in SAP cloud platform and a walk through of mobile services admin cockpit.

Read more