跳到内容
技术文章
作者的个人资料照片万博新体育手机客户端Kevin Riedelsheimer

The End2End Journey:支持iOS版SAP BTP SDK应用

SAP BTP SDK for iOS

在上一篇博客文章中,我向你展示了一种使用无代码/低代码平台AppGyver构建基本倡导者应用程序的快速简便方法。AppGyver为您提供了一个简单的工具来构建您的基本业务应用程序,并提供了一个可访问的构建UI的方法。

使用SAP BTP iOS SDK,您可以构建倡导者应用程序和任何其他您可能想到的商业应用程序。SAP提供的SDK为您提供了一种实现方法斯威夫特针对不同苹果平台(iOS, iPadOS, MacOS, tvOS)的原生应用。SDK不仅为UI元素提供了框架,还为安全性提供了框架,通过SAP移动服务连接到SAP BTP,支持OData v2和v4, OData v2的离线功能,无需更新应用程序版本即可交换CoreML模型等等。

欲了解更多信息,请访问SAP开发者中心- SAP BTP SDK for iOS

那么,这与仅仅使用AppGyver来构建应用程序有什么不同呢?简单地回答这个问题:技术取决于你的用例。当然,也有不同的因素,比如预算、开发技能等等,但在一个完美的世界里,你可以自由地选择技术,我会说用例将决定你选择什么技术。

对于简单的任务,如显示数据、更改数据或不需要高级设备功能的用例,您可以使用AppGyver之类的技术。如果你需要一个高级的商业应用,使用离线功能,处理大量数据,使用广泛的设备功能,如设备上的机器学习,增强现实,传感器,并且有一个平台符合UX,而不是iOS或Android的本地框架。

随着Swift原生应用的开发,你可以在两种不同的UI框架之间做出选择:UIKit和SwiftUI。

UIKit和SwiftUI都是原生的苹果框架,使用Swift作为编程语言。SAP BTP SDK为iOS提供了一个复杂而成熟的基于UIKit的框架SAPFiori。该框架为您提供了100多个原生UI控件,主题选项,高级UI流的复杂控件,完整的用户登录等等。

SAP目前正致力于将基于UIKit的框架调整到SwiftUI上,但它可以在官方的非生产环境中进行测试GitHub开源存储库。我们将在下一篇博文中讨论基于SwiftUI的开发。

对于那些已经使用SAP BTP SDK For iOS一段时间的人,或者已经完成了SAP Developer Center的一些教程任务的人,应该对如何开发真正的本地应用程序有一个基本的了解。尽管如此,我将向您展示如何使用SAP BTP SDK for iOS Assistant来生成一个本机和基于Swift的iOS应用程序,该应用程序已准备好在可用的Apple平台上运行。该应用程序将为我们创建一个完整的数据层,连接到Advocates OData服务,启用推送通知等功能,只需按一下手指。我还将向您展示如何增强此应用程序,使其看起来与Advocates AppGyver应用程序相似。

让我们开始吧!

SAP移动服务

为了开始使用SDK,您应该了解SAP Mobile Services的架构角色。移动服务是SAP BTP上提供的一项服务,它允许你管理你的应用程序,提供数据,并从iOS或Android的本地应用程序中消费信息。使用移动服务,您可以将登录信息推送到您的应用程序,处理身份验证,路由到数据服务,将CoreML模型推送到您的设备,通过广泛的日志功能支持您的用户,通过离线同步启用离线OData等等。为了连接你的本地应用与SAP移动服务,你不需要做太多,除了使用SAP BTP SDK的iOS助手。在定义了需要哪些特性之后,助手将以自动的方式为您创建所需的代码,即使您有一个遗留应用程序,使用Discovery Service功能创建到SAP Mobile Services的连接也相当容易。

要了解有关SAP Mobile Services中所有可用功能的更多信息,您可以访问在这里

SAP BTP SDK for iOS Assistant

SAP BTP SDK for iOS Assistant是一个原生的基于Swift的Mac应用程序SDK下载。这个配套应用可以用来从SAP mobile Services中的移动应用定义生成一个基本的iOS应用。这里的美妙之处在于,您在SAP BTP中有一个配置,但可以将其用于多个移动应用程序,如iOS, Android, MDK(移动开发工具包)和SAP移动卡。iOS助手将通过连接SAP移动服务获取用户登录、身份验证和数据服务端点所需的所有信息。在为您生成应用程序时,iOS助手将为您创建所有这些任务所需的代码以及相应的配置文件AppParametersConfigurationProvider。

ConfigurationProvider

ConfigurationProvider

AppParameters

AppParameters

配置文件包含身份验证信息以及使发现服务正常工作的配置。有了这个和生成的入职流程,用户入职就可以开箱即用了。完整的用户管理也可以通过SAP移动服务来完成。

iOS Assistant的真正强大之处在于它能够从OData服务的元数据文档中生成整个数据服务层。助手将从服务端点获取元数据文档,并将其解析为代表服务实体的Swift原生代理类。在这些代理类之上,生成了一个完整的数据服务API。使用这种方法,您可以将开发时间缩短近一半,因为您不必自己创建后端连接。

综上所述,iOS Assistant能够帮助你将开发时间缩短近一半:

  • 代表服务实体的Swift原生代理类
  • 数据服务API,它允许与后端服务直接交互
  • 针对SAP Mobile Services以及后端进行身份验证
  • 通过SAP移动服务进行用户管理
  • 通过发现服务提供完整和可定制的用户登录流程
  • 借助SAP移动服务实现OData离线同步
  • UIKit中的Master-Detail视图具有完整的CRUD功能
  • 推送通知代码

iOS助手是一个了不起的工具,你作为一个开发人员,缩短你的开发时间,使它更容易开始与你的下一代商业应用程序!

用UIKit构建倡导者应用程序

在本节中,我想给你一个快速概述我构建一个商业应用程序的过程。在这里,我将展示如何使用基于UIKit的SAP BTP SDK为iOS构建倡导者应用程序。

我已经将iOS助手连接到移动服务,现在可以开始创建一个全新的应用程序。这里很棒的是,我甚至可以在iOS助手中创建云配置。

要从头开始创建应用程序和所需的移动服务配置,你可以使用iOS助手中的一个工作流来完成。

从头开始创建所有你需要的过程包含了7个简单的步骤。iOS助手将指导您完成整个过程,从而避免犯错误或进行错误配置。

1.选择帐户

首先选择您想要启动流程的帐户。这是必要的,因为您可能有多个帐户,这些帐户可能代表您的演示,登台和生产帐户。

2.创建云应用程序配置

第二步将允许您创建前面提到的SAP Mobile Services中的云应用程序配置。该配置不仅负责通过SAP BTP的目标服务连接到后端,还允许您完全控制对应用程序的访问、资源管理和其他重要服务的使用。

有关可用功能的快速概述,您可以观看SAP移动服务:功能YouTube上的视频。

您在这里看到的身份验证字段不是针对后端服务的身份验证,而是针对SAP Mobile Services帐户的身份验证。

3.目的地

移动空间中的目的地的工作方式与SAP BTP中的任何地方相同。SAP Mobile Services使用SAP BTP的目标服务,并允许您在iOS Assistant中定义后端端点及其身份验证。

基于此目标,iOS助手将在项目生成过程中尝试为数据服务层获取元数据文档。

4.特性

功能步骤将允许您定义您想要在应用程序中使用的SAP移动服务功能。在创建过程完成后,通过移动服务座舱还可以使用其他功能。在这里,你只会看到直接在原生应用中生成代码的功能,如OData Offline、推送通知、日志记录等。

这些功能通常是你想要交付给客户的高效应用程序所需要的。启用这些将直接生成所需的代码到你的应用程序中,你不需要做任何事情来让它们工作,这将是你的开箱即用!

5.Xcode项目

现在我们已经完成了云配置进程中,可以创建客户端配置。这意味着创建实际的Xcode项目!

设置的属性和字段将直接反映在你的Xcode项目中。确保你设置的数值是有意义的,因为在你的应用发布后,这些数值也会出现在app Store中。不用担心,你可以随时在Xcode项目中更改这些值,但直接设置它们是有意义的。

您在这里可以看到一个复选框,该复选框指示Mac的催化剂特性。因为较新的macOS版本(Catalina和更新)允许你在操作系统上运行基于Swift的应用程序,你也可以直接在macOS系统上运行使用SAP BTP SDK构建的业务应用程序。选中此复选框将以正确的方式设置项目,以使此功能开箱即用。

6.代理类

代理类步骤是可选的,因为您可以对代理生成过程进行其他配置。大多数情况下,您可以将其保留为默认值,如果您需要更改此处的任何内容,则可以更改服务名称或用于处理生成过程的其他配置。

就像我说的,大多数情况下,你可以将其保留为默认值。

7.用户界面配置

最后一步是定义iOS Assistant应该为你生成哪些UI元素。

你可以选择让iOS助手生成入职流程+ Master/Detail屏幕,或者只是其中之一。我的建议将生成两个如果你是新的SAP BTP对iOS SDK,因为这将产生不仅对你一些基本的屏幕,而且所有的代码如何调用数据服务层从内部应用程序。如果你更有经验的或正在研究一种生产力应用程序可以生成新员工培训过程包括新员工培训流程,使用发现服务和对后端身份验证。

在你做出选择之后,你就可以点击了完成让iOS助手发挥它的魔力。现在发生的事情是,iOS助手将使用Xcode CLI根据你的配置创建Xcode项目存根。元数据文档从其端点获取,并被解析为应用程序中的代理类和数据服务API。根据你的配置,iOS助手将为你生成UI和登录流程。

该过程完成后,Xcode项目将自动打开。

如果你选择生成主/细节屏幕,你可以直接运行应用程序。

将生成的应用程序更改为倡导者应用程序

现在,应用程序项目已经生成,倡导者应用程序已经创建了一个良好的开端,只需要进行一些小的更改,用自己的UI替换生成的UI。

  1. 更换主服务器。并删除生成的视图
  2. 使用ApplicationUIManager.swift类实例化初始视图控制器

    func showApplicationScreen(completionHandler: @escaping (Error?) -> Void){//检查应用程序屏幕是否已经呈现。issplashpresentelse {completionHandler(nil) return} //恢复保存的应用程序屏幕或创建一个新的让appViewController: UIViewController如果让savedViewController = self。_savedApplicationRootViewController {appViewController = savedViewController} else {let navigationController = UIStoryboard(name: "Main", bundle: bundle . Main).instantiateInitialViewController() as!UINavigationController appViewController = navigationController} self.window. rootviewcontroller = appViewController self。_onboardingSplashViewController = nil self。_savedApplicationRootViewController = nil self。_coveringViewController = nil completionHandler(nil)}
  3. 用UIKit的方式构建你的UI

如果你有兴趣学习如何构建这样一个应用程序,你可以使用以下资源:新万博苹果版

  • https://developers.sap.com/mission.sdk-ios-one-code-line.html
  • https://developers.sap.com/mission.sdk-ios-image-classifier.html

这样你就有了倡导者应用程序并开始运行。

下次我们将讨论使用SwiftUI实现倡导者应用程序的程度,同时仍然使用iOS OData数据服务层的SAP BTP SDK !

一如既往,继续编码!

指定的标签

      第一个留言吧
      你一定是登录评论:评论或回复帖子