2021 年的时候,我曾经写过一篇文章,回答一位朋友向我发起的知乎咨询:作为一名 ABAP 资深顾问,下一步可以选择哪一门 SAP 技术作为主攻方向?
当时还没有 ChatGPT,那篇文章里每一个字都是我手敲的,没有依靠 AI 工具生成。
其实我早在 2017 年,在 SAP 工作的第十个年头,自己也思考过这个问题,当时写了一篇英文博客,发表在 SAP 社区上。没想到这篇文章很快就被 SAP 社区置顶,上了社区头版头条。这从侧面反映出,很多 ABAP 从业人员都挺关注这个问题。
我 2017 年在社区文章里的建议,关于 ABAP 开发人员继续技术领域的学习,包含下面五点:
- 了解函数式编程语言
- 了解 Java 和 Spring
- 了解 JavaScript
- 了解一门 NoSQL 数据库比如 MongoDB
- 掌握一种云平台的用法
现在 2023 年回过头来看,第一点函数式编程,第二点 Spring 和第四点 NoSQL 数据库,并不是说学了没有用,而是如果在工作中没有从事相关领域,缺少实战机会的话,学习效率不高,学了也容易忘。
所以我 2021 年回答那位朋友时,直接将五点精简成了一点:学习 SAP UI5
. 我的考虑如下:
- SAP UI5 是 SAP 旗舰级产品 SAP S/4HANA 的前端开发技术,是 SAP 官方宣布的 Strategic UI Technology,是 SAP Fiori Design Language 首选的前端实现技术。
有不少朋友私下还问我,SAP S/4HANA 的 Fiori UI,将来有可能会用非 UI5 的其他框架,比如 React,Angular 或 Vue 重写吗?
我个人的看法是:绝不会。为什么要重写?重写会给 SAP S/4HANA 客户带来什么价值?我去年的一篇文章,详细介绍了 SAP UI5 起源,演化历史和未来的发展方向:SAP UI5 的前世今生。SAP 在 UI5 和相关生态圈的建设上做出了巨大的投资,2022 年在 Github 上由 SAP 主导的开源项目中,多达 10% 的代码仓库都和 SAP UI5 相关。
SAP 也知晓前端业界流行的其他开发框架,因此打造了 UI5 Web Components,用来兼容客户使用 React,Anguar 和 Vue 等框架开发的第三方应用。
SAP 官方的态度是:UI5 仍旧是客户创建企业级前端响应式 Web 应用的首选技术(原话是 The Best Choice)
- 学习 SAP UI5,顺带着也把 JavaScript 学习了。现阶段和未来 SAP 的产品,只要是通过浏览器这个渠道被最终用户访问,就离不开 JavaScript. 学习 JavaScript 永远不会担心过时。
- 家里如果有孩子的,作为大人去学习 JavaScript,也算是教育投资,因为将来可以辅导自己的小孩。JavaScript 是一门公认的上手容易,难于精通的编程语言。对于中学生来说,了解 JavaScript 的一些基本语法,能用它做一些简单的网页就 OK 了。如果感兴趣的再稍稍学习一下 Node.js,那就算是全栈,可以做一些简单的端到端的应用了。
正因为以上这些考虑,拿本人来说,虽然现在我工作中早就不用 SAP UI5 了,但我仍然没有放松对这门技术的学习。我已经坚持了两年的时间,进行一套 SAP UI5 学习教程的编写,目前该教程已经完成了 204 篇文章,仍然持续更新中:
我的心血之作:一套适合 SAP UI5 从业人员从入门到进阶的学习教程,以及教程背后的故事
回到本文开头提到的问题,除了 SAP UI5 之外,我觉得学一学最新的 Restful ABAP Programming Model,以及 SAP Business Technology Platform 上 ABAP 编程环境上的开发,也都是不错的选择。
既然是 2023 年了,我们让 ChatGPT 来回答一下这个问题呢?
我使用的 Prompt:
请你扮演一个 SAP 资深的技术专家,你精通 SAP 公司从诞生至今使用过的所有 SAP 技术。现在有一个人,他已经是 ABAP 资深的顾问了,下一步想选择一门新一些的 SAP 技术来学习。请你给出建议,并提供建议背后的考虑和原因。你的回复不能少于2800字。
ChatGPT 给出的建议包含三个方向:
- SAP Fiori 和 SAP UI5. 这和我 2021年和本文的观点一致。我能不能说这是英雄所见略同?嘿嘿。
- SAP HANA 和 SAP Fiori Elements. 这个我稍稍觉得有点奇怪,因为 Fiori Elements 应该归为上面那条建议,和 SAP Fiori 和 SAP UI5 归为一类啊,为啥 ChatGPT 把它和 SAP HANA 放在一起?
另外提一句,我之前写了一篇文章,介绍了 Fiori Elements 和传统 SAP UI5 Freestyle 应用的区别:Fiori Elements 教程第一篇:什么是 Fiori Elements,它和 Freestyle UI5 有何区别?
- SAP Cloud Platform 和 SAP Integration Suite
这一点我也赞同,我 2017 年写的 SAP 社区博客也提到了:掌握一种云平台的使用方法。
下面是 ChatGPT 推荐 SAP Cloud Platform( 现在已经更名为 SAP Business Technology Platform 了)和 SAP Integration Suite 的理由:
SAP Cloud Platform 是 SAP 的云计算平台,支持应用程序的开发、部署和扩展。SAP Integration Suite 则提供了集成服务,帮助连接不同的应用程序和系统。
考虑和原因:
- 云计算和灵活性: 学习 SAP Cloud Platform 可以使您更好地理解云计算,并能够在云上构建和部署应用程序。这为企业提供了更大的灵活性和可扩展性。
- 系统集成: SAP Integration Suite 提供了强大的集成能力,支持连接不同的系统和应用程序。这对于现代企业来说至关重要,因为它们通常有多个不同的 IT 系统。
- 微服务架构: Cloud Platform 支持微服务架构,这是一种现代的、可伸缩的软件开发和部署方法。学习这项技术将使您能够构建更灵活和可维护的系统。
- 未来云端发展: 随着越来越多的企业采用云计算,学习云相关技术将使您更具竞争力,并为未来发展奠定基础。
同样的 Prompt,我们再来试试百度的文心一言。它给出的建议是学习 SAP S/4HANA Cloud,我对这个回答不太满意,因为我问的是学习什么技术,而 SAP S/4HANA Cloud 是一个 SAP 产品,而且是一个 SaaS 产品,把它当成一门技术,有点不太准确吧?
再来试试阿里通义千问。不知何故,它用英语来回复我,囧。而且我 Prompt 里提到选择一门新技术,通义千问一口气给了我七条建议,真是太热情了。
- SAP Fiori
- SAP UI5/OpenUI5
- SAP Cloud Platform
这三条我都赞同。
第四条:SAP Leonardo.
通义千问推荐 SAP Leonardo,让我觉得有点尴尬,原因是:
第五和第六点:SAP HANA Native Development 和 ABAP on SAP HANA,我也没有反对意见。
第七点 SAP C/4HANA,它是 2018 年 SAP 推出的 Customer Experience 领域的商务套件(包含五个 SAP 云解决方案)的统称,并非某种具体的开发技术。
Google Bard:
给出了三点建议:
- SAP Fiori
- SAP Cloud Platform
- SAP HANA
啰嗦了这么多,最后我来总结。
作为一名 ABAP 资深顾问,下一步可以选择哪一门 SAP 技术作为主攻方向?截止 2023 年,综合本人 16 年 SAP 技术领域工作经验,以及 ChatGPT 为代表的 AI 工具回复,可以选择下面这些技术进行学习:
- SAP UI5
- SAP HANA 平台上的开发技术
- SAP BTP 上的开发技术
祝大家学习愉快。也欢迎大家使用我的 SAP UI5 学习教程来进行 SAP UI5 技术的学习。学习过程中有任何疑问,欢迎在教程对应章节评论区留言,一起讨论交流。