当前位置:网站首页>作为一名 ABAP 资深顾问,下一步可以选择哪一门 SAP 技术作为主攻方向?
作为一名 ABAP 资深顾问,下一步可以选择哪一门 SAP 技术作为主攻方向?
2022-06-11 21:20:00 【华为云】
一位朋友向我咨询:

关于这个话题,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 源代码实现的朋友有一些帮助。
边栏推荐
- Codeforces Round #739 (Div. 3)解题报告
- Tensorflow 2. X Getting Started tutorial
- Application scenario: wide application of Poe network card in NDI technology for live broadcast program production
- 【生活思考】文字与语音
- [Part 16] copyonwritearraylist source code analysis and application details [key]
- JVM之堆区
- Field queryIndexFieldnameService in xxxImpl required a single bean, but 19 were found:
- Serval and Rooted Tree(CF1153D)-DP
- Go语言条件语句
- Website online customer service system Gofly source code development log - 2 Develop command line applications
猜你喜欢

Syntax of SQL

Codeforces Round #744 (Div. 3) 解题报告

Which Bluetooth headset is better within 500? Inventory of gifts for girls' Day

JVM method area

Solve the problem of img 5px spacing

The scale of the global machine vision market continues to rise. Poe image acquisition card provides a high-speed transmission channel for industrial cameras

Explanation of each column output by explain statement

Live broadcast with practice | 30 minutes to build WordPress website with Alibaba cloud container service and container network file system

BCC tool tool usage

【C语言进阶】整型在内存中的存储
随机推荐
【C語言進階】整型在內存中的存儲
Go语言条件语句
JVM运行时常量池以及直接内存
Go language functions
【生活思考】文字与语音
[Part 13] source code analysis and application details of completabilefuture class [key]
UML系列文章(29)体系结构建模---模式和框架
Realize the same length of tablayout subscript and text, and change the selected font size
应用业务层修改
Goto statement of go language
BZOJ3189 : [Coci2011] Slika
成长的12条黄金法则
Codeforces Round #740 Div. 2 解题报告
AC自动机
stream中文排序
ORA-04098: trigger ‘xxx. xxx‘ is invalid and failed re-validation
Cs144 lab0 lab1 record
Object creation process of JVM
RANSAC extraction plane (matlab built-in function)
Cuckoo Hash