这是 Jerry 2021 年的第 41 篇文章,也是汪子熙公众号总共第 318 篇原创文章。

一位朋友向我发起了知乎咨询:

关于这个话题,Jerry 曾经写过一篇文章:ABAP开发人员未来应该学些什么

其英文版发布在 SAP 社区博客上并被管理员置顶,获得了超过一万阅读量。

当时文章里我建议的四个学习方向是:

(1) 熟悉一门函数式编程语言
(2) 了解 Spring
(3) 熟悉 JavaScript
(4) 了解一种 NoSQL 数据库

后来我补充了第五点,熟悉 SAP Cloud Platform (现在更名为 SAP Business Technology Platform)开发技术。

回到这位知乎朋友的咨询,作为一位 ABAP 资深顾问,如果想再选择一门除 ABAP之外的其他 SAP 技术深入钻研,我当然推荐 SAP UI5 作为下一个主攻方向。理由阐述如下。

我是 2013 年开始接触 SAP UI5 的,距今已超过 8 年,亲眼见证其从最初的 beta 版本,演进到现在最新的 1.90.0 版。

在我 2018 年的一篇文章 SAP UI和 Salesforce UI开发漫谈里,曾经回顾了 SAP 历代 UI 技术演变史。作为取代 SAP GUI,SAP ABAP Webdynpro 和 SAP WebClient UI 的下一代 UI 技术,SAP UI5 是 SAP 主推的开发 Fiori 应用的首选前端框架。

如果用其他流行的前端框架比如 Angular,React 和 Vue 来开发具有 Fiori UX 风格的前端应用,需要借助 SAP Fiori Fundamental 开发库的帮助:

而 SAP UI5 框架提供了对于应用实现 Fiori UX 页面风格的原生支持,即有些开发人员戏称的“SAP UI5 才是 SAP 前端开发的亲儿子”。

SAP UI5 作为包括 SAP 旗舰级产品 S/4HANA 以及其他众多云产品选择的前端实现技术,这体现了其在 SAP 技术家族中的核心地位。可以说,只要 S/4HANA 这面大旗不倒,应用开发人员投入在 ABAP + SAP UI5 这对组合上的时间和精力,永远不会白费。

同时,近些年来,SAP 投入了大量的开发资源,围绕 SAP UI5 打造其生态圈,推出了诸如 UI5 WebComponents,UI5-tooling,UI5 Easy Generator,UI5 Inspector,UI5 CLI,UI5 Builder,Karma for UI5,Fiori Elements 等开发库,开发框架和开发工具。因此,学习 SAP UI5,将有机会接触这些围绕 SAP UI5 衍生出的新技术领域,拓宽自己除了 ABAP 之外的技术视野。

我之前的文章 ABAP 开发人员未来应该学些什么 曾经建议 ABAP 开发人员去熟悉 JavaScript,而学习 SAP UI5,能帮助我们在实践中掌握浏览器端 JavaScript 开发的基本技能。另一方面,在学习 SAP UI5 应用构建,分发,以及部署到云服务器上时,通过使用 SAP UI5 Tooling 等工具,我们又能接触到服务器端 JavaScript 的基础知识,即 Nodejs.

下面模仿经典 ARPG 游戏《暗黑破坏神Ⅱ》里的技能树来阐述,如何通过开启 SAP UI5 的学习,来升级自己的 SAP 开发技能。

同《暗黑破坏神Ⅱ》通过箭头指向来描述技能前置条件一样,下图说明,要学习 SAP Fiori Elements,需要先学习 SAP UI5 本地开发,OData 服务开发和 CDS view 开发三项技能。而要想把本地开发好的 SAP UI5 应用部署在 SAP Business Technology Platform 上,除了掌握 SAP UI5 本地开发技能外,还要具备 SAP BTP 和 Nodejs 基础知识。

本文推荐的 SAP UI5 开发,实际是指上图红色的 SAP UI5 本地开发技能。这是掌握 SAP UI5 更高级开发技能的基础。

而如何迈开 SAP UI5 学习的第一步,可以参考我的文章:对 SAP UI5 一无所知的新手,从哪些材料开始学习比较好?

当进行过一段时间的学习和实践,自认为对 SAP UI5 本地开发比较熟悉之后,就可以按照上图技能树,开始新技能的学习。也可以使用 Chrome 开发者工具,通过单步调试的方式,从自己实际学习和工作中联系紧密的 SAP UI5 实现源代码开始阅读。分析和学习 SAP UI5 源代码,能进一步提高自己使用 UI5 框架开发应用的水平。

下面这些文章,也许对想了解 SAP UI5 源代码实现的朋友有一些帮助。

  • 通过最简单的 button 控件,深入学习 SAP UI5 框架代码系列之零

  • 一个用于 SAP UI5 学习的脚手架应用,没有任何后台 API 的依赖

  • SAP UI5 module 懒加载机制

  • SAP UI5 控件渲染机制

  • HTML 原生事件 VS SAP UI5 Semantic 事件

  • SAP UI5 控件元数据的元数据实现

  • SAP UI5 控件的实例数据修改和读取逻辑

  • SAP UI5 控件数据绑定的实现原理

  • SAP UI5 控件数据绑定的三种模式:One Way, Two Way 和OneTime 实现原理比较

  • 谈谈 SAP UI5 的视图控件 ID,以及其和 Angular 视图的异同

  • SAP UI5 OData谣言粉碎机:极短时间内发送两个 Odata request,前一个会自动被 cancel 掉吗

  • SAP UI5 和 Angular 的函数防抖(Debounce) 和函数节流(Throttle) 实现原理介绍

  • 对 SAP UI5 一无所知的新手,从哪些材料开始学习比较好?

更多Jerry的原创文章,尽在:“汪子熙”:

作为一名 ABAP 资深顾问,下一步可以选择哪一门 SAP 技术作为主攻方向?相关推荐

  1. 也谈SAP业务顾问如何避免被ABAP开发顾问怒打

    也谈SAP业务顾问如何避免被ABAP开发顾问怒打 近期一个视频火了,说是中国平安一个产品经理和APP开发人员在办公室直接扭打起来.据说是因为该产品经理向程序员提出了一个需求,要求用户APP的主题颜色能 ...

  2. mysql limit acs_Oracle Acs资深顾问罗敏 老罗技术核心感悟:牛! 11g的自动调优和

    作者为:? SHOUG成员 – ORACLE ACS高级顾问罗敏 多年前的一段往事 记得多年以前在一个10g平台的数据仓库项目上遇到一个非常难优化的SQL语句,当时即便我采集了统计信息.甚至在语句中增 ...

  3. 如何成为一名IT咨询顾问?

    咨询顾问这个工作,很多人都很羡慕,在别人看来咨询顾问的工作时间自由,可以到处出差和旅游,能够认识企业各种层面的人,见多识广.实际情况真的这么轻松吗?什么样的人适合做咨询顾问?做咨询顾问需要什么样的素质 ...

  4. 港科夜闻丨现任香港科大校长资深顾问李行伟教授当选IAHR主席

    关注并星标 每周阅读港科夜闻 建立新视野 开启新思维 /近日要闻一览/ ▼ 1.现任香港科大校长资深顾问李行伟教授当选IAHR主席.国际水利与环境工程学会(IAHR)秘书处表示,巴拿马当地时间9月5日 ...

  5. IBM资深顾问刘运霞 ERP实施三哭换一笑 (转)

    发布时间:2008.02.22 15:00     来源:中国电子政务网    作者:中国电子政务网 近日,浙江义乌新光集团3楼大厅.面对台下为庆祝集团ERP成功上线而绽放的一张张笑脸,负责该项目实施 ...

  6. BlockChain:《区块链技术在医疗领域应用分析》—中投顾问《2016-2020年区块链技术深度调研及投资前景预测报告》听课笔记

    BlockChain:<区块链技术在医疗领域应用分析>听课笔记 导读      医疗行业接纳区块链技术的时间相对来说比较晚,不过并没错过应用区块链的时机.区块链技术正在改变全球医疗行业,逐 ...

  7. 作为一名程序员如何优雅的使用谷歌搜索技术(Google)?

    作为一名程序员如何优雅的使用谷歌搜索技术(Google)? 大家都知道作为一名程序员Google的作用很大,但是Google又很难优雅的使用.需要轻功高明.当然也有一些人做Google的镜像,但是发展 ...

  8. SAP ABAP 我的文章合集:SAP ERP 与泛微 OA 的系统集成

    SAP ABAP 我的文章合集:SAP ERP 与泛微 OA 的系统集成 简介: 本文章合集收录了我关于 SAP ERP 与泛微 OA 的系统集成相关文章,新的文章会被及时更新到本合集中.SAP ER ...

  9. 关于ABAP高级顾问应该掌握的技术

    ABAP语法详解  全面掌握SAP的开发环境,ABAP语法等. 报表开发全面总结  全面总结SAP系统中各种类型报表的实现方案和技术细节,让学习者在今后项目中可以应对各种形式报表开发的需求   表单开 ...

最新文章

  1. intellij idea run configurations配置共享
  2. everedit选择_EverEdit(文本编辑器)
  3. Windows下Maven的安装与配置
  4. @select注解_SSM框架(十三):Spring框架中的IoC(3)新注解,完全摆脱xml文件
  5. python怎么启动mne_mne-python学习之一 入门介绍
  6. 浅谈ARMv8-A系列CPU的架构
  7. Xcode12 “PushKit apps that use VoIP push must link either CallKit or IncomingCallNotifications
  8. Hadoop学习路径
  9. 优盘里文件夹变成html,U盘文件变成快捷方式怎么恢复?U盘里的文件变成快捷方式解决方法...
  10. 《Test-Driven Development for Embedded C》读书笔记(三)
  11. TM1621数码管驱动
  12. python实现从文件查找关键字
  13. 一个屌丝程序猿的人生(四十八)
  14. SCI,EI收录的中国期刊
  15. Android如何去掉系统照相,前置摄像选项(图标)
  16. 每日一练--世纪难题
  17. c#生成图片、生成二维码、读取excel、自动匹配路径
  18. python tts 保存wav_C#文本转语音并保存wav和MP3文件
  19. 人工智能机器视觉专业英语积累
  20. 【通信技术】信噪比及单位

热门文章

  1. Python脚本监控线上AMQ Number of Pending Messages数量
  2. 山石网科SG-6000-E5560配置SSL ***实例
  3. zw版【转发·台湾nvp系列Delphi例程】HALCON DispCross
  4. 年度榜单:2013年最流行的15款免费英文字体
  5. ListView的Adapter使用(绑定数据) 之 自定义每一项的布局去绑定数据(二)
  6. Rabbitmq集群高可用部署详细
  7. Linux内核系统调用处理过程
  8. D-query SPOJ - DQUERY (主席树)
  9. SDUT--Pots(二维BFS)
  10. Spring MVC 中 HandlerInterceptorAdapter的使用(拦截器)