New features in SAP Mobile Platform SDK SP10 (Windows app in just a few clicks !! – Part 1)
SAP Mobile Platform SDK SP10 (herein referred to as “SMP SDK”) has some very interesting features that allows developer to create a fully functional (skeleton) application with just a few clicks. The reason I use the term ‘skeleton’ is because the business logic (for example, pricing logic, work flow logic etc.) still needs to be included in the application by the developer. Otherwise, the code for onboarding a device, enabling logging and tracing, opening an Online Store and consuming and even rendering the data in UI controls is all included in the application. This makes any developer with virtually no knowledge of the SMP product to create an application within a few minutes. While prior blogs on onboarding, logging and tracing etc. are still valid, it is highly recommended to follow the steps included in this blog when creating a Windows application.
Highlights of the Windows application created using the application wizard
- Simplifies developer learning curve – Onboarding (device registration), logging, tracing, reading from data source is all taken care of
- Fully functional application with UI to render data using Microsoft recommended approach
- Project files based on best practices
- Support for multiple Windows platforms
- Windows 10 mobile support is preliminary in SP10 (as it was not released by Microsoft when SP10 was released)
- Windows 10 mobile support will be fully available in SP11
Creating a new Windows application workflow – from start to finish
The workflow below describes the ease in which you can create a multi-platform Windows application. The new project is fully functional (skeleton) and includes reading and rendering data from an Online Store.
- This application wizard is only available for native Windows development – and not available for native iOS or Android development
- Microsoft Visual Studio 2013 does not support Windows 10 applications. You need to install Microsoft Visual Studio 2015 for Windows 10 support
Installing SMP SDK SP10
The SMP SDK SP10 installer does some additional work than its predecessors. The installer automatically checks to see if Microsoft Visual Studio 2013 + Update 3 or higher is installed. If it detects that Microsoft Visual Studio 2013 + Update 3 or higher is installed, then it installs the Visual Studio template and the application wizard.
Nuget Package Manager also has an entry for the location of the SMP related Nuget packages. This pretty much eliminates any initial setup effort on the part of the developer. As soon as the SMP SDK SP10 is installed, the developer can immediately create a Windows application.
- Nuget packages are installed in the following folder. <System Drive>\Program Files (x86)\SAP SE\SMP SDK Installer
- The .vsix file can also be found in this location. In case you uninstall the project template and need to reinstall the project template, you can simply run this file
Visual Studio project template
SMP SDK SP10 installs the SAP Business Application project template in Microsoft Visual Studio automatically as part of the installation process. This allows a developer to create a fully functional Windows application with virtually no experience of the SMP product.
To create a Windows application using this new project template, do the following.
- Open Microsoft Visual Studio and click New Project
- Under templates, select Visual C# and scroll down on the right pane to select SAP Business Application
- Enter the name and location for the project and click OK
Application wizard – Completely functional Windows app in just a few clicks
I will go over the sequence of wizard pages that are displayed to the user to create a Windows application. At any point during the application wizard, you can click Finish to create a fully functional Windows application with the default settings.
Select the Windows platforms you want to support. Note that Windows 10 is supported only on Microsoft Visual Studio 2015.
Enter all the values required for onboarding. If no values are entered, then default values are used. You can also choose to use MobilePlace configuration service and offer demo mode. Settings page is implemented as a flyover to make changes to Onboarding values.
Select if you want to enable logging and tracing for this application.
The Windows application can consume the backend OData Service and render the data in UI controls automatically. Microsoft recommended UI principles are practiced.
You can also customize the appearance of the SAP UI controls. By default, styles.xaml file includes standard SAP colors and settings.
The application wizard is smart enough to only package Nuget packages that are required by the application.
Running the application
The application is fully functional once the application wizard is complete. To run the application, simply set one of the Windows platforms as your startup project. For example, set Windows 8.1 as your startup project. Press F5 (or Ctrl + F5 – without debugger attached) to run the Windows application.
You are initially presented with the logon screen. The values are prepopulated from the application wizard. Simply click Register to onboard the device.
Once onboarding is complete, you are also presented with data from the backend OData Service. Simply select the EntitySet that you want to view. All the values are rendered in UI controls automatically.
Even complex types are rendered in the UI controls.
The Settings page allows you to unregister a device, enable logging and tracing etc.
In the next blog, I will talk about how to customize the Windows application.
Thanks Milton for sharing this updated feature, just tried it and it worked like a charm.
While filling the form (default values for on-boarding), password value was visible. Should appear as with asterisk
Waiting for next blog!
I don't think the password should be masked. This wizard is no different than a developer writing code and entering password as part of the code...
This the code generated by the wizard.
Ideally, you would leave both the Username and Password fields blank. When the user registers, this would force the user to enter their username and password - instead of the default username and password for everyone.
You made it simplified..Thanks Milton.