KevinRiedelsheimer / cloud-sdk-ios-fiori

SwiftUI implementation of the SAP Fiori for iOS Design Language.

Home Page:https://sap.github.io/cloud-sdk-ios-fiori

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Logo
SwiftUI implementation of the SAP Fiori for iOS Design Language


Installation   |   Examples   |   API Documentation   |   Changelog


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


This project is the SwiftUI implementation of the SAP Fiori for iOS Design Language, and is meant to augment and in some cases replace the UIKit-based implementation contained in the SAPFiori framework of the SAP SDK for iOS.

alt text

This project currently contains the two modules FioriCharts and FioriIntegrationCards

FioriCharts

The FioriCharts module is planned to replace the RoambiChartKit charting library which was already embedded in SAPFiori. Migrating to SwiftUI gives the ability to easily add new chart components (donut, bullet, stocks, etc.) while modernizing the existing supported charts with pinch-to-zoom, pan, and new design features.

SAPFiori 4.0.x, 5.0.x FioriCharts
Area
Line
Column
Stacked Column
Bar
Stacked Bar
Bubble
Scatter
Waterfall
Combo
Donut
Bullet
Stacked Bullet 🔜
Harvey Ball
Radial
Stocks (line)

The API is designed for backwards compatibility to the existing SAPFiori charting APIs, but is optimized for SwiftUI.

API Reference

Fiori Integration Cards

The FioriIntegrationCards module is a native SwiftUI renderer for the UI5 Integration Cards. These types of cards are common in UI5 dashboard and overview page user contexts. In native iOS apps, we are focusing initially on the dashboard use case, and also considering Cards as ideal for Annotation-style views--in maps, or AR experiences.

FioriIntegrationCards
Object Card
List Card
Timeline Card
Analytic Card
Table Card
Calendar Card 🔜
Adaptive Card tbd
Component Card

API Reference

Requirements

  • iOS 13 or higher, macOS 10.15.4 or higher
  • Xcode 11.4 or higher
  • Swift Package Manager

Download and Installation

The package is intended for consumption via Swift Package Manager.

  • To add to your application target, navigate to the File > Swift Packages > Add Package Dependency... tab, then add the repository URL.
  • To add to your framework target, add the repository URL to your Package.swift manifest.

In both cases, xcodebuild tooling will manage cloning and updating the repository to your app or framework project.

NOTE: If the Package.swift file doesn't exist you need to manually create the file or copy the above linked file of the cloud-sdk-ios-fiori repository.

Configuration

Three products are exposed by the Package.swift manifest.

FioriSwiftUI as umbrella product will contain everything the package has to offer in the future.

embedd_FioriSwiftUI

If you are concerned about bundle size you can use either one of the individual products FioriCharts

embedd_FioriCharts

or FioriIntegrationCards

embedd_Fiori_IntegrationCards


IMPORTANT: Don't have the FioriSwiftUI, the FioriCharts or FioriIntegrationCards embedded at the same time. The FioriSwiftUI as mentioned is an umbrella product and will have dependency clashes if you would embedd the other two frameworks at the same time.

Limitations

Both modules are currently in development, and should not yet be used productively. Breaking changes may occur in 0.x.x release(s)

Several functional limitations exist at present, which are planned for resolution before milestone release 1.0.0. Please check the Issues tab for an up-to-date view of the backlog and issue status.

Key gaps which are present at time of open-source project launch:

  • FioriIntegrationCards networking shall support injection of SAPURLSession http client
  • FioriIntegrationCards currently handles only data which is in-line json; must be augmented to support resolving relative data files, and remote URIs
  • FioriIntegrationCards and FioriCharts requires design specifications to improve UI
  • FioriIntegrationCards and FioriCharts must support theming with NUI nss stylesheets, as currently supported by SAPFiori.

Known Issues

See Limitations.

How to obtain support

Support for the modules is provided through this open-source repository. Please file Github Issues for any issues experienced, or questions.

When SAPFiori integrates FioriCharts productively, customers should continue to report issues through OSS for SLA tracking. However, developers may also report chart-related issues directly into the Github Issues; SAP will mirror FioriCharts-related issues reported through OSS into Github Issues.

Contributing

If you want to contribute, please check the Contribution Guidelines

To-Do (upcoming changes)

See Limitations.

Examples

Functionality can be further explored with a demo app which is already part of this package (Apps/Examples/Examples.xcodeproj).

Demo app with examples Demo app with integration card examples

About

SwiftUI implementation of the SAP Fiori for iOS Design Language.

https://sap.github.io/cloud-sdk-ios-fiori

License:Apache License 2.0


Languages

Language:Swift 99.4%Language:Shell 0.5%Language:Python 0.0%Language:JavaScript 0.0%Language:Ruby 0.0%