首页 > 其他分享 >SAP UI5 的声明式初始化 Component 定义(Declarative API for Initial Components)

SAP UI5 的声明式初始化 Component 定义(Declarative API for Initial Components)

时间:2022-10-24 10:05:23浏览次数:87  
标签:控件 教程 Initial Component 开发 API UI5 应用 SAP


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

本专栏计划的文章数在 ​​300​​​ 篇左右,到 ​​2022年10月14日​​​为止,目前已经更新了 ​​141​​​ 篇,专栏完成度为 ​​47%​​.

作者简介

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 自研框架有深入的研究。

大家在学习过程中对本套教程有任何疑问和写作意见,可以在教程文章下评论,或者在这个​​《一套适合 SAP UI5 开发人员循序渐进的学习教程》读者意见反馈和下一步写作计划表​​里评论。我在写作过程中,会根据大家的反馈,对教程的内容进行补充和修订。

教程目录

说明

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 的声明式初始化 Component 定义(Declarative API for Initial Components)_typescript

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

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

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

有一位细心的朋友,咨询我一个问题,本教程每个文件夹内的 ​​index.html​​​ 文件里,这个 ​​data-name​​ 属性值起了什么作用?

SAP UI5 的声明式初始化 Component 定义(Declarative API for Initial Components)_javascript_02

上图是文件夹 142 下的 ​​index.html​​​,​​data-name​​​ 的值为 ​​sap.ui5.walkthrough​​.

要想知道这个 ​​data-name​​ 起什么作用,最直接的办法就是动手试一试,更改其值然后观察效果。

例如我们将其值改成 ​​jerrychanged​​:

SAP UI5 的声明式初始化 Component 定义(Declarative API for Initial Components)_javascript_03

然后我们重新刷新浏览器,发现整个应用出现白屏现象,无法正常工作了,从 Chrome 开发者工具里观察到
manifest.json 文件都加载失败了,并且 SAP UI5 试图从一个很奇怪的路径去加载这个文件:

​https://sapui5.hana.ondemand.com/resources/jerrychanged/manifest.json?sap-language=EN​

SAP UI5 的声明式初始化 Component 定义(Declarative API for Initial Components)_前端_04

我们一下子就从 url 片段里,观察到了我们在 ​​data-name​​​ 里指定的片段:​​jerrychanged​​.

因此,我们的实验揭示了一个事实:​​index.html​​​ 文件里的 ​​data-name​​​ 的值,至少参与了 SAP UI5 应用 ​​manifest.json​​ 文件的加载。实际上,这个属性涉及到一个概念,即本文标题提到的 SAP UI5 的声明式初始化 Component 定义(Declarative API for Initial Components)。

​下面​​是这个概念的详细介绍。


标签:控件,教程,Initial,Component,开发,API,UI5,应用,SAP
From: https://blog.51cto.com/jerrywangsap/5788582

相关文章

  • 使用eolink优雅地进行API接口管理
    为什么使用eolink?我们都知道在一个项目团队中是由很多角色组成的,例如:业务>产品>设计>前端>后端>测试等。每个角色各司其职,一起合作完成项目的生命周期。而前端与后端的沟通......
  • django中APIView里的dispatch和as_view方法分析
    位置:fromrest_framework.viewsimportAPIView继承APIView类视图形式的路由:path('booksapiview/',views.BooksAPIView.as_view()),#在这个地方应该写个函数内存地址......
  • react componentWillReceiveProps
    在React16之前,这个生命周期可是非常常用,对于外部传递的props的响应工作在这里处理,比如我的props里传了一个数值变量num,本来num=1,外部有更新将num变为2,会触发当前组件内也......
  • golang postman workspaces(api)
    获取所有workspacespackagemainimport("fmt""net/http""io/ioutil")funcmain(){url:="https://api.getpostman.com/workspaces"method:="GET"client:......
  • FastAPI + tortoise-orm基础使用
    更改sqlite为mysqlfromtortoiseimportTortoiseimportasyncioasyncdefinit():user='root'password='123456'db_name='test'awaitTorto......
  • 实验7:基于REST API的SDN北向应用实践
    基础要求1.编写Python程序,调用OpenDaylight的北向接口实现以下功能(1)利用Mininet平台搭建下图所示网络拓扑,并连接OpenDaylight;(2)下发指令删除s1上的流表数据importre......
  • 实验7:基于REST API的SDN北向应用实践
    实验7:基于RESTAPI的SDN北向应用实践一、实验目的能够编写程序调用OpenDaylightRESTAPI实现特定网络功能;能够编写程序调用RyuRESTAPI实现特定网络功能。二、实验......
  • js原生转码API
    encodeURIComponent(编码)letencodeBase=encodeURIComponent();decodeURIComponent(解码)letdecodeBase=decodeURIComponent();......
  • elasticsearch部署ELKat least one of [discovery.seed_hosts, discovery.seed_provid
    1、ES启动报错1、ERROR:[1]bootstrapchecksfailed.Youmustaddressthepointsdescribedinthefollowing[1]linesbeforestartingElasticsearch.bootstrap......
  • .NET 6学习笔记(4)——如何在.NET 6的Desktop App中使用Windows Runtime API
    WindowsRuntimeAPI是当初某软为了区别Win32API,力挺UWP而创建的另一套Windows10专用的API集合。后来因为一些原因,UWP没火。为了不埋没很有价值的WindowsRuntimeAPI,某......