BTP and iOS – Moving Forward
BTP and iOS – Moving Forward
For the last 5 years, Apple and SAP have jointly worked to enable our customers and partners to develop native mobile apps quickly and securely using SAP’s Business Technology Platform. This includes SAP Mobile Services and the SAP BTP SDK for iOS. Together, these tools enable easy, secure access to enterprise resources and features of Apple’s devices and services.
SAP updates the SDK multiple times a year to ensure access to the latest innovation from BTP and from Apple.
We continue our journey towards Open Source and so far, both our UI and AR frameworks have been open sourced. We want to specifically offer a communication channel for external developers to provide feedback and engage with us on these key user experience components.
For SAP developers, the SAP BTP SDK for iOS offers key functionality for building SAP-enabled Enterprise Mobile Applications:
- A foundation layer includes general-purpose components that integrate with devices and SAP Mobile Services features and capabilities, such as authentication, connectivity, caching, security, and more
- Fiori for iOS, a design language and reusable UI components. The native, reusable UI components that extend the standard Swift Apple iOS frameworks are iOS Human Interface Guidelines (HIG)-compliant. This ensures a consistent experience across both SAP and iOS-native applications.
- APIs that seamlessly integrate apps with BTP services.
- Online access to exposed back-end OData services without any caching or local storage of data when the application requires up to date back-end data and has reliable connectivity.
- Offline OData capabilities where users can manipulate local data, then later upload the offline changes to the back-end. An offline application is well suited when connectivity may become unreliable or requires infrequent updates of back-end data.
SAP BTP SDK for iOS Basic Components
The SAP BTP SDK for iOS is designed to accelerate the development process and includes key tools:
- SAP BTP SDK Assistant for iOS is a macOS application that creates and bootstraps new Xcode projects by generating onboarding, authentication, security, and data layer Swift code, including Swift object classes for OData entities.
- SAP Fiori Mentor is an iPad application and an interactive documentation that helps designers and developers discover capabilities of the SAP BTP SDK for iOS, specifically its UI components. You can view live previews of all UI components and change parameters to see the effect immediately. Once a component is customized to your liking, view and copy the ready-made code snippet and paste on your Mac with Universal Clipboard.
Building Great User Experiences
During WWDC 2019, Apple introduced a new way of building UI for Apple devices. SwiftUI is a declarative UI framework that makes creating a platform uniform user experience easy. The benefit of SwiftUI is that you can easily develop the UI without requiring a lot of changes to support different Apple device sizes and types.
Prominent UI components from the SAP Fiori for iOS design language are already supported with SwiftUI. This included charting objects and other UI components necessary for great enterprise apps. In addition to these fundamental components.
This year we are introducing new and updated component for additional native user experiences:
Widgets are essential components of a modern mobile app. The SAP BTP SDK for iOS Assistant can generate the needed classes and settings based on your data mode. You can easily change the template implementation to adjust to your needs.
Enterprises strive to provide a unique and consistent experience to their employees. With the new SDK version, developers using native SDKs can adopt a theme on the fly. With just a few clicks, your mobile application will reflect your organization’s theme without breaking the robust native experience you’ve come to enjoy.
Export existing themes from SAP UI Theme Designer, upload them into SAP Mobile Services and your app can download and apply the theming information.
SAP developed the open-source project Fiori AR to provide a set of APIs and ARKit ready UI controls to enhance your business apps with the AR capabilities of iPhone and iPad.
AR Annotations allow exploring objects in the real world, for example, machines in a warehouse.
You don’t have to create these assets from your desktop. Reusable screens allow users to create and share these AR experiences
Vision and Text Detection
Apple Vision framework is used for text detection. Provides components for developing machine learning features in apps, including drop-in UI components for text recognition, topology APIs for easy searching and filtering of text observations, and Core ML model management APIs for distributing custom Core ML models hosted on the SAP Mobile Services to the app.
Enhancements to Apps, Distribution and Onboarding
We want to make it as simple as possible for users to simply download a mobile app and be up and running against SAP systems. Instant login allows users with an existing current session on desktop to instantly login on the iOS app without the need to enter any credentials. The login happens through a secure QR code scan and works faster than onboarding a favorite streaming app on TV via short code.
Swift Structured Concurrency
In enterprise applications it is typical to make multiple data and metadata requests to the SAP systems and with a callback-based approach this gets hard to manage quickly. BTP SDK’s networking API solved this problem by using async/wait APIs provided by iOS. Structured Concurrency feature of iOS takes this a level further by allowing these networks requests to be sent concurrently.
Swift Package Manager
Swift Package Manager is a decentralized dependency manager for Swift projects and is a first-class citizen in the Apple ecosystem and is fully supported in BTP
- Distribution of binary frameworks: SAP BTP SDK for iOS distributes its binary frameworks through the Swift Package https://github.com/SAP/cloud-sdk-ios so that developers can add the frameworks through Apple’s Swift Package Manager (SPM).
- Open-source Swift Packages: Investments into SwiftUI, Augmented Reality, and integration of SAP Conversational AI were all implemented as Swift packages and published as open-source on GitHub.
- Package Collections: The team of SAP BTP SDK for iOS publishes a Package Collection to quickly discover and add the binary frameworks and open-source Swift packages to your application in Xcode.
SAP is committed to helping mobile developers by continuously innovating SAP BTP SDK for iOS. The SDK includes initial support for the following:
Support for wearables: We envision Apple watch in the enterprise to vastly improve employee productivity and safety. SAP apps will offer glanceable user actions with security and identity built-in.
Explore a passwordless future for iOS application built on BTP. Password-less authentication removes the burden of users having to create complex, difficult passwords, remembering them, or storing them in a safe place.
SAP Mobile Apps Powered by SAP BTP SDK for iOS
At SAP, we are building the latest generation of Mobile Apps using BTP and iOS, including:
SAP Service and Asset Manager leverages the digital core with SAP S/4HANA as well as SAP Business Technology Platform as the cloud platform for managing work orders, notifications, condition monitoring, material consumption, time management, and failure analysis. It supports multiple personas for asset management, field service management and inventory management in a single app, enabling highly skilled workers to perform their job with complex information and business logic that is always available whether they are connected to the network or working in offline environments.
SAP Mobile Start is the native entry point that places the Intelligent Enterprise at your fingertips. The app enables you to access all of your business-critical SAP apps and processes and uses the latest device and OS capabilities like widgets, Apple Search, and push notifications* to provide you with a seamless user experience so you can access native and web apps with content from SAP solutions. Quickly view and manage workflow tasks using the integrated SAP Task Center. With its intuitive design, SAP Mobile Start provides easy access to company and industry news, enabling you to make informed and timely decisions, increasing productivity.
SAP Warehouse Operator is a next-generation native iOS mobile app built on SAP Extended Warehouse Management to bring powerful features to iPhones.
The app’s intuitive user experience is tailored to warehouse operators’ needs so that they can stay efficient by performing critical warehouse tasks using iPhones by tapping into its on-device innovations now and in the future.
SAP Warehouse Operator integrates with SAP Mobile Services, SAP Business Technology Platform and SAP S/4HANA Private Cloud Edition and On-Premise 2021.
Also the upcoming SAP Ariba Shopping mobile app is leveraging SAP BTP SDK for iOS and the Fiori for iOS design. The app offers a consumer-grade buying experience for the B2B market.
All the resources to get started today are here:
I like the "Passwordless" future that SAP is envisioning in the "App world". Remembering unames and pwds is really becoming a pain. However, for secure reports, it's probably a good idea to interface with Keychain app of iPhone