网络日志

关于将本地 SAP UI5 应用配置到本地 Fiori Launchpad 的技术实现深入讲解试读版

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

作者简介

Jerry Wang,2007 年从电子科技大学计算机专业硕士毕业后加入 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 开发人员,可以通过本文的目录,跳过前面一部分比较基础的章节,直接挑选对自己工作项目有关,或者包含某些知识点自己尚未掌握的章节来有针对性地学习。

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

本教程第 54 个步骤 SAP UI5 应用开发教程之五十四 - 如何将本地 SAP UI5 应用配置到本地 Fiori Launchpad 中 分享了如何把本地开发的 SAP UI5 应用配置到本地运行的 Fiori Launchpad 中,效果如下:

所谓 本地 Launchpad,是为了与 ABAP 服务器,以及 SAP Business Technology Platform(BTP)服务器上的 Fiori Launchpad 相区分。

点击 App 1 tile 之后,可以跳转到该 tile 配置的本地 SAP UI5 应用去,并且地址栏 url 也相应发生变化。

当时步骤 54 里我们介绍过,为了让 SAP UI5 框架知道 Launchpad 里的 tile 被点击后,应该跳转到哪一个 SAP UI5 应用,需要进行如下图的配置,让第 18 行的 url 字段值(图例1),指向待打开的 SAP UI5 应用所在的工程文件夹名(图例2),二者必须一致。

有朋友在学习了步骤 54 后反馈,这位朋友在第 16 行的 additionalInformation 里,使用包含了完整命名空间前缀的路径,指定了待打开的 SAP UI5 应用,即 sap.ui5.walkthrough.app1

而此时第 18 行的 url 字段,即使维护成 "", 点击 tile 后的跳转也能正常工作。

实际上,这是两种不同的方式,来指定 tile 被点击后待打开的目标 SAP UI5 应用信息。为什么这么说呢?下面我们就来详细分析这两种不同方式的工作原理。

还记得本教程SAP UI5 应用开发教程之九 - 创建第一个 Component 提到的知识点吗?当一个 SAP UI5 应用配置到 Fiori Launchpad 之后,该应用的入口,就不再是 index.html, 而是 Component.js 了。

每个期望通过 Fiori Launchpad 访问的 SAP UI5 应用,都必须拥有这样一个 Component.js 文件,这个文件名大小写敏感,且不能改成其他名字。

本文介绍的两种方法,其实就是采取不同的方式告诉 SAP UI5 框架,到哪里能够找到待打开应用的 Component.js 罢了。

下面是两种方法的详细介绍

总结

  1. 本文深入阐述了在 SAP Fiori Launchpad 里配置 SAP UI5 信息,使其能够作为一个 tile,点击后在 Fiori Launchpad 里被打开的两种方法。方法1 需要在 url 字段正确维护待打开的 SAP UI5 应用在工程里的路径信息,方法2 需要在 additionalInformation 字段里维护完整的包含了命名空间的 SAP UI5 Component 名称。
  2. 本文展示了一种错误消息驱动的探索方式,即故意维护一个不合法的值,通过 SAP UI5 框架抛出的错误消息,找到该不合法值被校验的准确位置,进而学习 SAP UI5 相关处理逻辑。