写在前面
本文是Fiori for iOS系列文章的第二篇。
SAP和苹果这两个IT大佬,在2017年联合推出了Fiori for iOS,让全球的开发者能在iOS平台上,方便地开发SAP企业应用。
如果你不想被潮流甩在身后,就快来看看拥有多年SAP技术经验的郭老师怎么解读Fiori for iOS吧。
原文作者:郭之嘉
翻译校对:小哈公社
原文地址:
https://blogs.sap.com/2017/05/27/overview-of-controls-of-fiori-for-ios/
本文由SAP教育培训与小哈公社共同呈现。
Fiori for iOS系列
我将撰写一系列的针对Fiori for iOS的文章。希望能帮助你使用SAP提供的控件来开发iOS apps,当然,用的是Swift语言。
第一部分:概述
Fiori for iOS介绍
Fiori for iOS控件概述(本文)
第二部分:一步步教你使用Fiori控件
设置Fiori for iOS开发环境
2.1 使用FUIFormCell系列控件,创建输入表单
开始使用FUIFormCell控件和它的子类
创建复杂的输入表单
小结
第三部分:使用Fiori for iOS控件,实现Fiori平面图(floor plans)
第四部分:定制化主题
在前一篇Fiori for iOS介绍中,我介绍了Fiori for iOS的概念。这篇,我将介绍Fiori for iOS控件概览,你会知道Fiori控件是如何让你的工作变得更简单的。
1. iOS开发的技术背景
当我们为iOS开发app的时候,有两个选项:使用老的Object C语言,或者新的Swift语言。
Swift是一种很强健也很直觉化的编程语言,苹果公司创造了这个语言来为iOS,Mac,Apple TV和Apple Watch开发程序。它给了开发者前所未有的自由。
Swift易于使用且是开源的,因此任何有着好想法的人,都能开发出很棒的程序。在这一全新的编程语言中,我们使用Cocoa Touch框架来开发企业应用。这个框架可以帮你轻松地使用MVC来开发应用。你创建一个Xcode项目,并在其中创建Storyboard。
Storyboard是一系列视图,用于帮助你视觉化你的app。通过使用Storyboard,你不但能使用拖拽来创建视图,还能定义视图间的导览关系。你也可以使用.swift文件来创建models和controllers,并把Swift代码连接到Storyboard。关于Swift和Cocoa Touch的更多信息,请参考苹果公司网站。
https://www.apple.com/swift/
你也可以通过SAP Apple学院提供的5天课程来学习。
https://training.sap.com/shop/course/ffa100-introduction-to-swift-classroom-001-cn-en/
https://training.sap.com/shop/course/ffa200-introduction-to-the-ios-sdk-classroom-001-cn-en/
2. Fiori for iOS的技术背景
所有的Fiori for iOS控件都是基于Swift打造的。你可以很容易的把包括所有控件的整个框架导入到你的Xcode project,并且能很简单地在Storyboard中使用Firoi控件。
大多数的Fiori控件都是从标准Cocoa touch控件中继承过来的,另一些则是直接通过Swift创建的。对于常见的应用场景,Fiori for iOS还提供一些Storyboard的模版来帮你快速创建标准化UI。
对于开发者来说有不少内容需要了解和使用。为了帮大家快速学习,我把控件分成4类:
Storyboard模版
增强的标准控件
快速控件模版
新控件
3. Storyboard模版
Fiori for iOS提供了一些Storyboard模版,用于一些常用任务的屏幕,例如用户登陆,修改密码等等。这里是一个欢迎屏幕的例子。
用户动作,例如点击“Active”按钮,将会触发预定义的didSelectSignIn(_:)委托方法(delegate method)。你需要做的就是实施这些预定义的委托方法。
使用SAP提供的模版,你可以更容易地在你的企业中,跨不同apps,创建统一的用户界面。
4. 增强的标准控件
许多Cocoa Touch中的标准控件,对于开发企业应用来说还不够强大。作为Cocoa Touch标准控件的子类,SAP提供了许多控件。
例如:
UI导航栏(UI Navigation Bar)是一种通用控件,当用户在不同视图间切换时,它被用于显示标题,动作和处理退回动作。它是下图的样子。
但是在企业应用中,我们有更多的可能性会碰到错误信息,因此需要更方便的方式和更佳的位置来显示错误消息。
在Fiori for iOS中,有一种被称为FUINavigationBar的新控件,这种控件是UINavigationBar的子类,此外它拥有Fiori式的外观和用户体验,在它其中还包括了FUIBannerMessageView。你可以通过属性‘bannerView’对其进行访问,并通过调用属性中的‘show’方法来显示它。
5. 快速控件模版
Cocoa Touch框架提供了所有的基本控件。但是对于一些通用的任务,我们需要结合多种控件,并写一堆代码。
例如,我需要在一个列表控件中,放入一个数据输入控件。如果我使用Cocoa Touch控件,我需要两个单元格,第一个单元格中用一个文本字段来显示标题,另一个文本字段来显示用户选择的结果。第二个单元格有一个DataTimePicker控件让用户选择日期或者时间。
除此之外,我还需要控制这些控件之间的逻辑,例如,第二个单元格通常需要被隐藏,它只会在用户需要选择日期的时候才显示出来。并且在用户选择了日期或者时间之后,我还需要更新文本字段的内容。如果有很多的DateTime字段,会花费许多时间。
在Fiori for iOS中,可以用FUIDatePickerFormCell控件来把这些功能集成在一起,简化你的工作。
6. 新控件
一些开发企业应用需要的控件在Cocoa Touch中没有提供。Fiori for iOS提供了这些控件来帮你显示复杂的数据。
例如,控件FUITimelineCell和FUITimelineMarkerCell可以显示工作流处理的时间线。
7. 小结
读完本文之后,相信你已经知道,相对于单纯的iOS开发,什么是Fiori for iOS能够提供的额外功能。你也已经大致了解了Fiori控件将如何在开发过程中帮助你。
如果想了解Fiori控件的详细知识,请在Apple App Store中下载Fiori Mentor(这个应用只支持iPad)。
在这个系列的后续文章中,我将挑选一些重要的控件,并带你一步步实施Fiori for iOS控件。
在下一篇文章中,我会聊聊如何获得和安装SAP Cloud Platform SDK for iOS,以及如何设置Fiori for iOS的Xcode项目。
敬请期待吧。
原文链接点这里