在命令行可以看到虚拟机命令窗口在哪的磁盘已经扩容到了10G为什么web页面还是102M呢?

Jerry 在加入 SAP 电商云 Spartacus 开发团队从零开始学习 Angular 时,对这款出身名门的前端开发框架的来龙去脉,做了一些简单的了解。

本公众号一万多粉丝里,有不少朋友都在日常工作中使用 SAP UI5 开发前端应用,但可能并不是每一位朋友对 SAP UI5 的前世今生都熟悉,因此我想用本文对 SAP UI5 的发展历史做一个简单的介绍。

本文部分内容来自 SAP UI5 开发人员 Andreas Kunz 的一篇 SAP 社区博客。大家可以点击文末的"查看原文"访问原始的英文博客。

同目前国内外流行的前端开发框架的三驾马车 Angular,React 和 Vue 一样,SAP UI5 也是一款基于 JavaScript 的前端开发框架。同这三个同行相比,SAP UI5 在面向企业级用户的前端应用开发领域更具优势,主要体现在以下这些方面:

  • 丰富的开箱即用的面向企业级前端应用的控件
  • SAP UI5 开箱即用以及周边社区提供的诸多开发和 support 工具

SAP UI5 也是 SAP Fiori 设计理念和设计系统钦点使用的应用开发框架。

SAP UI5 最早的起源要追溯到 2008 年 11 月。来自 SAP 不同开发团队的几位员工,挤进了一间只能容纳四人的小会议室,被授予一项秘密任务:创建一种新的 UI 开发技术。这个项目当时的代号是 Phoneix.

这个代号对应的凤凰图标一直沿用至今,成为 SAP UI5 的 Logo,如下图左上角所示:

这种新的 UI 开发技术,必须具备灵活、可扩展、现代并且独立于后端实现技术等特性。

我们不妨回忆一下,2008 年时期的 SAP 生态圈,有哪些技术栈,活跃在前端开发舞台上?

分析这些前端技术,它们都有一个最大共同点:同后端系统具有强耦合关系。SAP BSP,WebClient UI,ABAP Webdynpro 开发而成的应用,只能在 ABAP 系统运行。Java Webdynpro 和 JSP 页面,也没法脱离 JVM 而单独运行。同后端系统的强耦合,给企业用户带来的一大挑战就是 UI 技术的可升级性。例如要升级 WebClient UI 和 ABAP

SAP WebClient UI / Webdynpro 的编程范式,使用其提供的开发框架,在应用开发人员和浏览器原生支持的 API / CSS 样式处理之间竖立了一道屏障。这道屏障是一把双刃剑:一方面,它使得应用开发人员能够专注于应用的业务逻辑开发,而无需花精力去考虑企业级前端应用开发中至关重要的安全性,国际化,性能和 Accessibility 等产品标准该如何实现;另一方面,也给某些确实需要对 UI 框架进行扩展,以充分利用现代浏览器提供最新特性的需求实现,带来了一些挑战。

SAP 架构师团队睿智而又富有远见的架构师们,早就意识到 2008 年当时使用的 SAP UI 技术,存在上述一系列局限,SAP UI5 就是带着解决这些问题的使命而诞生于世的。

处于萌芽发展时期的 UI5,其编码实现全部出自一个成熟的 Scrum 开发团队之手。随后团队不断发展壮大,拆分成一个 Core(核心)团队,和另一个负责创建 "sap.m" 控件的团队。起初 sap.m 命名空间下的控件,仅用于移动设备,m 代表 mobile, 后来被重新定义为 UI5 的跨设备主控件库:main control libraries across devices.

Phoenix 计划时期,SAP UI5 的创始者们都是忠实的开源项目爱好者。项目启动伊始,就在考虑将其开源,以便能更轻松地与前端社区协作,更早地获得用户反馈和错误报告,以及更有效地将 UI5 推广到 SAP 开发生态圈。

2014 年 10 月,这个代码仓库产生了第一行代码提交。到了 2022 年 3 月,代码提交的数量,增长到了 78657.

OpenUI5 包含了 SAP UI5 框架的核心实现和大部分控件库。这些核心实现和控件库开发,基本上全由 SAP UI5 团队完成。有一小部分 SAP UI5 控件库,由 SAP UI5 之外的其他产品开发团队负责实现,这些控件库有的仅仅在某些极特殊的场景下使用,有的包含特殊的知识产权,没有计划在开源许可下提供,因此并未包含在 OpenUI5 之内。

随着 SAP 旗舰级产品 S/4HANA 将 SAP UI5 选为其前端开发技术方案,通过大量的 SAP Fiori 应用的开发,交付和客户使用过程中获得的反馈,SAP UI5 进入了高速发展时期,涌现了一大批围绕 SAP UI5 的开发工具,访问模块和基础设施层,比如 Fiori Launchpad,SAP WebIDE,Chrome 开发者工具扩展 UI5 Inspector,端到端测试框架 UIVeri5,以及 UI5 项目构建和启动命令行工具 UI5 Tooling 等等。这些新的工具本身也标志着 SAP UI5 和其社区走向成熟。

SAP UI5 不仅仅在功能和控件库的数量上有所增加,其核心也在不断的进化,体现在核心更细粒度和更严格的模块化设计,更合适的依赖声明方式,更能发挥现代浏览器异步请求执行能力的编程方式等方面。这些进化发生在 UI5 核心,不会对已有的 SAP UI5 应用正常运行造成影响。

驱动 SAP UI5 进化的另一个来源是 Fiori 设计准则的不断发展。从诞生之初的 Fiori 1.0 到最新的 3.0 版本,Fiori 始终朝着向用户提供更 Coherent,更 Simple 和更 Delightful 的应用而努力。Fiori 设计准则本身在发展,作为实现该准则的技术框架,SAP UI5 也不断调整自身以达到完美实现 Fiori 设计准则的目标。

框架之上的前端应用,但是这些用户仍然希望在其应用里使用 UI5 控件。这种情况下,UI5 Web Components 是一种极佳的补充方案。

如果大家持续关注 SAP 官方社区上具有 SAP UI5 Tag 标签的博客,就会发现以下两个方向是 SAP UI5 生态圈讨论得比较多的话题:

如果大家对于 SAP UI5 将来的发展方向感兴趣,可以登录 SAP 官方的产品路线图网站,输入 SAP UI5 关键字来查阅 SAP UI5 未来即将支持的新特性。


我要回帖

更多关于 虚拟机命令窗口在哪 的文章

 

随机推荐