Logo
SAP Fiori for iOS 设计语言的 SwiftUI 实现


安装   |   示例   |   API 文档   |   更新日志


Build and Test Status Check Maintainability Rating CII Best Practices Conventional Commits Commitizen friendly REUSE status


本项目是 SAP Fiori for iOS 设计语言 的 SwiftUI 实现,旨在增强甚至在某些情况下取代 SAP BTP SDK for iOS 中 SAPFiori 框架基于 UIKit 的实现。

alt text

本项目目前包含三个模块:FioriThemeManagerFioriSwiftUICoreFioriCharts

FioriThemeManager

FioriThemeManager platform support: iOS, visionOS, watchOS

该模块提供符合 Fiori 设计语言调色板 和新的字体系列 SAP 72。 该模块已被本项目和 SAPFiori 中的所有 Fiori 组件采用。

所有 Fiori 颜色均为动态颜色,这意味着它们会根据 iOS 外观设置(浅色/深色)进行调整。 使用 Color.preferredFioriColor(forStyle:) 访问 Fiori 颜色。

72 是一种 SAP 专利字体,可为我们的用户提供出色的阅读体验。您可以使用 Font.fiori(forTextStyle:)Font.fioriCondensed(forTextStyle:) 获取这些字体。请注意,这些字体开箱即用地支持动态类型。 如果您想要固定大小的字体,请改用 Font.fiori(fixedSize:)Font.fioriCondensed(fixedSize:)

自定义字体需要在应用程序运行时加载和注册。请确保在 AppDelegateapplication(_:didFinishLaunchingWithOptions:) 中调用 Font.registerFioriFonts()

FioriSwiftUICore

FioriSwiftUICore platform support: iOS and visionOS

该模块包含 SAPFiori 中现有基于 UIKit 的组件的 SwiftUI 实现。它为您提供了一种简单的方法,可以将 UIKit 项目迁移到 SwiftUI,同时提供与以前相同的体验。

我们计划在未来的版本中逐步将更多 Fiori UI 组件引入到该模块中。查看下表,了解当前可用的组件和路线图中的组件。

请参阅此文档,了解初始化组件的不同方法。

FioriSwiftUICore
ObjectItem
ObjectHeader
KPIItem
FioriButton
ListPickerItem
DimensionSelector
SideBar
DataTable
WelcomeScreen
ActivationScreen
InfoView
用户同意书
KPIProgressItem
EULAView
ContactItem
KPIHeader
签名捕获
DurationPicker
StepProgressIndicator
文本输入
验证视图
卡片
工具栏
搜索
选项卡栏
导航栏
步进器
开关
标签
头像
Toast 消息
KeyValueItem
LinearProgressIndicator
信息视图
TextFieldFormView
NoteFormView
KeyValueFormView
TitleFormView
评分控件
RatingControlFormView
SortFilter
菜单选择
ProfileHeader
TimelineItem
SegmentedControlPicker
TimelinePreviewItem
DateTimePicker
Illustration Message
滑块(单滑块和范围滑块)
ChartFloorplan
CollectionItem
BarcodeScanner
PasscodeView
MultiUserPasscodeView
TouchIDErrorView
Skeleton Loading
附件
Value Picker
Hierarchy View
日历
Search To Select
Progress Indicator
Processing Indicator
Checkout Indicator
Loading Indicator
反馈屏幕
地图
UI 组件各个字段的主题支持

FioriCharts

FioriCharts platform support: iOS and visionOS

FioriCharts 模块取代了已嵌入在 SAPFiori 中的 *RoambiChartKit* 图表库。 迁移到 SwiftUI 使其能够轻松添加新的图表组件(甜甜圈图、子弹图、股票图等),同时通过捏合缩放、平移和新的设计功能来现代化现有的受支持图表。

SAPFiori 4.0.x, 5.0.x FioriCharts
面积图
折线图
柱状图
堆叠柱状图
条形图
堆叠条形图
气泡图
散点图
瀑布图
组合图
甜甜圈图
子弹图
堆叠子弹图 🔜
Harvey Ball
径向图
股票图 (折线图)

API 旨在向后兼容现有的 SAPFiori 图表 API,但针对 SwiftUI 进行了优化。

API 参考

要求

下载和安装

该软件包旨在通过 Swift Package Manager 使用。

在这两种情况下,xcodebuild 工具都将管理克隆并将存储库更新到您的应用程序或框架项目。

配置

Package.swift 清单公开了三个产品。

FioriSwiftUI 作为伞形产品将包含该软件包未来必须提供的一切。

如果您担心包大小,则可以使用单个产品之一,例如 FioriChartsFioriThemeManager

限制

目前存在一些功能限制,计划在未来的版本中解决。请查看 Issues 选项卡,以获取积压工作和问题状态的最新视图。

开源项目启动时存在的关键差距

已知问题

请参阅 限制

如何获得支持

通过此开源存储库提供对模块的支持。请提交 Github Issues,说明您遇到的任何问题或疑问。

SAPFiori 生产性地集成 FioriCharts 时,客户应继续通过 OSS 报告问题以进行 SLA 跟踪。 但是,开发人员也可以直接在 Github Issues 中报告与图表相关的问题; SAP 会将通过 OSS 报告的与 FioriCharts 相关的问题镜像到 Github Issues 中。

贡献

如果您想贡献代码,请查看 贡献指南

待办事项(即将发生的更改)

请参阅 限制

示例

可以使用演示应用程序进一步探索该功能,该演示应用程序已经是该软件包的一部分 (Apps/Examples/Examples.xcodeproj)

Demo app with examples