SAP UI5 智能控件 Smart Controls 的初步认识试读版

本文涉及的产品
可视分析地图(DataV-Atlas),3 个项目,100M 存储空间
数据可视化DataV,5个大屏 1个月
简介: SAP UI5 智能控件 Smart Controls 的初步认识试读版

一套适合SAP UI5 初学者循序渐进的学习教程

 

作者简介

 

Jerry Wang2007 年从电子科技大学计算机专业硕士毕业后加入 SAP 成都研究院工作至今。Jerry SAP 社区导师,SAP 中国技术大使。在长达 15 年的 SAP 标准产品开发生涯里,Jerry 曾经先后参与 SAP Business ByDesign, SAP CRM, SAP Cloud for Customer, SAP S/4HANA, SAP Commerce Cloud(电商云)等标准产品的研发工作。

 

Jerry 工作中使用ABAP, Java, JavaScript TypeScript 进行开发, 对包括 SAP UI5 在内的多款SAP自研框架有深入的研究。

 

教程目录

 

 


说明

 

Jerry 2014年加入 SAP成都研究院 CRM Fiori 开发团队之后开始接触 SAP UI5,曾经在 SAP 社区和汪子熙微信公众号上发表过多篇关于 SAP UI5 工作原理和源码解析的文章。

 

Jerry 这篇文章 对 SAP UI5 一无所知的新手,从哪些材料开始学习比较好? 曾经提到,Jerry 也是从 SAP UI5 菜鸟一路走过来,深知只有 ABAP 开发背景的开发者,向 SAP UI5 开发领域转型的不易,因此我在业余时间设计了这份适合 SAP UI5 不同水平的学习者的学习教程,把开发一个完整的 SAP UI5 应用的流程,拆分成若干个步骤,力求每个步骤里,把涉及到的知识点都涵盖到。

 

这些知识点可能不像我的 UI5 源码分析系列文章那么深入,但力求做到深入浅出,重要的知识点都配上详细的截图来辅助文字的介绍,便于教程学习者的理解。

 

本教程每一个步骤的源代码,都存放在我的 Github 上,分别用文件夹 01,02,03 等等来标识,例如步骤 1 的源代码在这里



每一个步骤均是前一步骤的基础上,添加了若干新特性。建议零基础或者对 SAP UI5 知之甚少的 SAP UI5 初学者,按照顺序从第一个步骤开始循序渐进地学习,把这些代码下载到本地,配合教程的文字讲解,自己动手,以加深理解。


对于已经有一定基础的 SAP UI5 开发人员,可以通过本文的目录,跳过前面一部分比较基础的章节,直接挑选对自己工作项目有关,或者包含某些知识点自己尚未掌握的章节来有针对性地学习。


大家如果对教程的每个步骤有任何疑问,欢迎在教程对应的步骤文章里给我评论,进行留言。我虽然平时开发工作很忙,但是保证会定期查看大家给我留下的评论,对于里面涉及到的技术疑问,我一定会抽时间做出解答。


SAP UI5 Smart Controls 是 SAP UI5 开发者迈向 SAP Fiori Elements 开发的重要一步。


Fiori Elements 是一套 SAP Fiori 应用开发框架,是 SAP 将客户最普遍使用的几种类型的 Fiori 应用的交互行为的共性抽取出来形成几套预置页面模板。利用 OData 元数据里添加的 SAP 自定义注解(annotation),SAP UI5 运行时,可以根据这些模板,动态生成各种类型的 SAP UI 页面。


所谓 Smart Control(智能控件),其智能到底体现在哪些方面呢?


以 Smart Controls 家族里一个重要的成员,Smart Field 为例,它能根据后台提供的 OData 元数据,在运行时智能地动态渲染出最贴合该 OData 元数据定义的基础 SAP UI5 控件。


看个具体的例子。


本步骤的代码,位于文件夹 128 之内,地址如下


打开文件夹里的 SmartField.view.xml, 发现第 19 行代码里,定义了一个来自命令控件 sap.ui.comp.smartfield 的 SmartField 控件。这个控件只有两个属性,其中 value 属性绑定到了模型字段 {Price} 上。




这个 SmartField 控件,光凭上图的定义,我们根本不知道它在运行时会渲染成哪一种类型的 SAP UI5 基础控件,比如是 sap.m.Text, 还是 sap.m.Input 还是其他的类型?


此时,就是 Price 字段对应的 OData 元数据定义发挥作用的时候了。


我们首先实际运行一下本地,查看效果。运行命令行 ui5 serve, 打开 url http://localhost:8080/webapp/index.html,看到如下页面:




原来,这个在 XML 视图里定义的 SmartField 控件,在运行时一分为三,渲染成了 Price 标签,Price 金额和 Price 货币单位 一共三个字段。


使用之前步骤SAP UI5 应用开发教程之四十一 - Chrome 扩展 UI5 Inspector 的离线安装和使用方法介绍的 UI5 Inspector,可以清楚地看到这三个字段:



本文余下部分,会具体介绍本例这个 SmartField 的运行时 "分身"的工作原理。

相关实践学习
DataV Board用户界面概览
本实验带领用户熟悉DataV Board这款可视化产品的用户界面
阿里云实时数仓实战 - 项目介绍及架构设计
课程简介 1)学习搭建一个数据仓库的过程,理解数据在整个数仓架构的从采集、存储、计算、输出、展示的整个业务流程。 2)整个数仓体系完全搭建在阿里云架构上,理解并学会运用各个服务组件,了解各个组件之间如何配合联动。 3 )前置知识要求   课程大纲 第一章 了解数据仓库概念 初步了解数据仓库是干什么的 第二章 按照企业开发的标准去搭建一个数据仓库 数据仓库的需求是什么 架构 怎么选型怎么购买服务器 第三章 数据生成模块 用户形成数据的一个准备 按照企业的标准,准备了十一张用户行为表 方便使用 第四章 采集模块的搭建 购买阿里云服务器 安装 JDK 安装 Flume 第五章 用户行为数据仓库 严格按照企业的标准开发 第六章 搭建业务数仓理论基础和对表的分类同步 第七章 业务数仓的搭建  业务行为数仓效果图  
相关文章
|
6月前
|
C# 开发者 Windows
基于Material Design风格开源、易用、强大的WPF UI控件库
基于Material Design风格开源、易用、强大的WPF UI控件库
368 0
|
6月前
|
算法 API C++
【Qt UI】QT 窗口/控件置顶方法详解
【Qt UI】QT 窗口/控件置顶方法详解
439 0
|
6月前
|
算法 前端开发 C++
【Qt UI相关】Qt设置窗体或控件的背景色透明
【Qt UI相关】Qt设置窗体或控件的背景色透明
644 0
|
17天前
|
Linux C# Android开发
分享3款开源、免费的Avalonia UI控件库
分享3款开源、免费的Avalonia UI控件库
|
3月前
|
C# 开发者 Windows
一款基于Fluent设计风格、现代化的WPF UI控件库
一款基于Fluent设计风格、现代化的WPF UI控件库
|
4月前
|
C# Windows
一款开源、免费、现代化风格的WPF UI控件库
一款开源、免费、现代化风格的WPF UI控件库
127 0
|
4月前
Element UI 树形控件Tree 【详解】el-tree 展开指定节点,判断是否存在指定节点
Element UI 树形控件Tree 【详解】el-tree 展开指定节点,判断是否存在指定节点
699 0
|
5月前
|
API Apache C#
推荐2款开源、美观的WinForm UI控件库
推荐2款开源、美观的WinForm UI控件库
336 1
|
6月前
|
前端开发 数据库 开发者
如何在 SEGW 事务码里为 SAP ABAP OData 服务实现 Function Import 试读版
如何在 SEGW 事务码里为 SAP ABAP OData 服务实现 Function Import 试读版
|
6月前
|
BI 网络安全
如何使用 ABAPGit 在 SAP ABAP 系统安装 abap2xlsx 工具试读版
如何使用 ABAPGit 在 SAP ABAP 系统安装 abap2xlsx 工具试读版