`
JerryWang_SAP
  • 浏览: 1052072 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

Fiori Fundamentals和SAP UI5 Web Components

阅读更多

这周有位同事邀请我给团队讲一讲SAP技术的演进历史,所以我准备了下面几个主题来介绍。

 

其中SAP的技术回顾和演进,我的思路就是从前后台两方面分别介绍。

我画了一张非常简单的图:

 

去年5月我写过一篇文章:SAP UI和Salesforce UI开发漫谈,简要回顾了SAPUI技术的发展,从最古老的SAP GUI绘制界面,到Webdynpro / WebUI再到现在广泛使用的Fiori UX。当时这篇文章介绍到Fiori(UI5)就嘎然而止了,如今大半年过去了,我们继续聊聊Fiori的发展动向。

 

根据Jerry从SAP社区上已经发布的信息来看,Fiori的两个发展方向,我个人概括为:

1. 兼容并蓄,即通过Fiori Fundamentals,让使用非UI5开发框架的前端开发人员,用其喜爱的技术,也能开发出符合Fiori UX的应用。

2. 轻装上阵,即通过SAP UI5 Web Components,既能继续提供像之前UI5控件库那些开箱即用的众多UI控件,又避免了前端应用对UI5框架的依赖。

我们来分别了解一下这两个新概念。

Fiori Fundamentals

看看SAP官网上的权威定义:

https://experience.sap.com/news/democratizing-sap-fiori-with-fiori-fundamentals/

 

Jerry在上图把最关键的信息都用红色高亮出来了。重点:

1. Fiori Fundamentals在前端应用里扮演着一个轻量级展现层的角色,可配合Angular, React和Vue等前端框架一起使用。

2. Fiori Fundamentals不是一项新的UI技术,更不会取代UI5,而是一个CSS和HTML标签的集合,使得开发人员能使用其偏爱的UI框架去开发具有Fiori UX风格的应用。

同样,Jerry去年年底写的另一篇文章 SAP Fiori + Vue = ?,介绍的其实就是Fiori Fundamentals针对于Vue的实现。

 

刚刚提到的重点2,Fiori Fundamentals是一系列CSS和HTML标签页的集合,那么我们到Jerry的这篇文章里介绍的例子去找找。

这是例子里引用的CSS:

 

这是SAP Fiori Fundamentals帮助文档里提到的绘制表格的标签:

 

在我的Vue应用里如何消费这些标签:

 

至于为这个标签绘制而成的表格添加事件处理机制,其方法和纯粹的Vue应用完全一致,因此一个传统的Vue开发人员,借助Fiori Fundamentals的帮助,几乎不需要任何额外的学习就能够进行SAP Fiori应用的前台界面开发。

 

SAP UI5 Web Components

SAP德国的UI5开发人员Peter Muessig最近在SAP社区上发表了一篇博客:UI5 Web Components - the Beta is there,大家可以通过本文末尾的"阅读原文"来阅读他的原文。

 

如Peter文章题目所说,SAP最近发布了UI5 Web Components的Beta版本,并邀请广大SAP生态圈的开发人员试用并提出意见。

 

Peter的文章不长,但是为了方便不喜欢读英文的朋友们也能快速了解这个UI5 Web Components是个什么东东,Jerry还是把里面一些要点用我自己的语言表述出来。下面的部分并非Peter文章内容的简单翻译,而是Jerry阅读了之后,基于自己的理解再加上自己的扩充。大家如果对我文章的内容有质疑,欢迎留言讨论。

SAP UI5 Web Components,是SAP将之前SAP UI5控件库里的控件,按照Web Components标准规范重新实现后的产物。

相信了解SAP UI5的朋友们,看了我上面这句描述,脑子里会冒出这些问题:

1. 什么是Web Components标准?

2. SAP为什么要做这个重新实现的事情?

3. 重新实现后的产物到底是个什么东东?

关于第一个问题,直接访问Web Components的官网即可找到答案。程序猿们都懂的,org结尾的网站最喜欢定义各种几百页甚至上千页的技术规范,Web Components也不例外:

https://www.webcomponents.org/introduction

前端组件化一直是前端生态圈很火热的讨论话题之一,像前端三驾马车Angular,React和Vue都有自己的组件化实现,而webcomponents.org上定义的规范,其实就是给出了一个标准,只有满足这个标准里的实现,才能算是一个通用的组件化实现,才能被所有现代浏览器支持。

这个规范的内容也托管在github上的:

https://github.com/w3c/webcomponents

 

里面包含四大标准Shadow DOM,Custom Elements,HTML Templates和CSS changes,SAP UI5 Web Components的实现当然也满足这些标准。

第二个问题,SAP开发UI5 Web Components的动机。

Jerry个人的看法:给客户和Partners提供一种更灵活的使用UI5控件的方式,避免对UI5框架的依赖。

举个例子,如果我们想使用UI5控件库里提供的button控件,就算只在XML视图里写简单的一行定义,

 

最后运行时的UI5框架也会执行许多很复杂的逻辑,Jerry在四年前写的UI5框架自学教程里曾详细描述过:

https://blogs.sap.com/2015/10/23/how-i-do-self-study-on-a-given-fiori-control-part-1/

而借助SAP UI5 Web Components,开发人员根本不需要导入UI5框架,就能直接使用UI5里的控件。按照Peter文章的描述,SAP UI5 Web Components能用于任何前端框架中,即下图中高亮的最后一句话。

 

此时自然需要回答第三个问题了。SAP UI5 Web Components到底是个什么东东?上图传达的重点:

1. SAP UI5 Web Components并不是基于UI5框架的。换句话说,和UI5框架没有任何依赖关系,可以独立使用。

2. SAP UI5 Web Components并不是SAP UI5框架的接替者,而应看作后者的一种补充。

3. 将UI5控件库提供的控件在HTML层级暴露给消费者,而非传统方式下的API层面暴露方式。如此一来,UI5 Web Components可以不依赖于UI5框架,能直接用于其他的前端框架。

看个具体的例子:

在浏览器里打开下面的HTML页面,

 

会看到一个UI5按钮。点击后弹出这个按钮实例的innerHTML属性的值。这是一个最简单的SAP UI5 Web Components的Hello World例子。

 

例子里我们使用了SAP UI5 Web Components自定义的标签<ui5-button>。对于前端应用开发人员来说,这个自定义的标签和W3C里的button标签没有任何不同,至少从消费方式上来说完全一致。

关于UI5 Web Components里诸如<ui5-button>这类自定义标签的详细说明,可以查看SAP帮助文档:

https://sap.github.io/ui5-webcomponents/playground.html

 

运行时,和在UI5框架里使用控件一样,仍然有一个专门的ButtonRenderer负责生成按钮原生的HTML代码:

 

从运行时生成的HTML源代码我们不难发现,UI5 Web Components自定义的HTML标签只是起着占位符(place holder)的作用,真正承载运行时用户可以与之交互的实际按钮,还是通过上图ButtonRenderer生成的HTML原生button标签。

需要强调的是,通过上述ButtonRenderer生成的运行时按钮实例,仍然满足使用UI5框架的传统方式绘制的控件一样的特性,比如传统方式下SAP保证的所有产品标准,像Accessibility,Internationalization这些,在SAP UI5 Web Components里仍然继续支持,无需应用开发人员额外的编程实现。

 

本地用npm install @ui5/webcomponents命令安装UI5 Web Components之后,

 

就可以找出里面最简单的组件实现,Button.js, 来学习SAP是如何基于Web Components标准,采用ES6支持的mobule和class等特性实现一个自定义标签的。将来Jerry或许可以邀请SAP成都研究院的一些专职做前端开发的同事来分享这里面的技术细节。

 

最后,SAP UI5 Web Components的使用场景是什么?

 

以上是照搬Peter的文字。适用场景有二:

1. 在没有使用前端框架开发而成的简单静态页面里,如果想添加一些能够提供用户交互的控件,可以考虑SAP UI5 Web Components。

2. 在已有的基于其他前端开发框架的Web应用里,如果需要一些能与用户交互的控件而又不想重复造轮子,那么可以到SAP UI5 Web Component官网上去找找。

另一方面,SAP UI5框架仍然是SAP推荐的开发具有企业级复杂度和响应式前端应用的方案。

最后,有朋友可能会有疑问,Jerry前一篇文章 SAP Fiori + Vue = ?里介绍的fundamental-vue,里面不是也存在SAP自定义的用于Vue应用的HTML标签吗?

https://github.com/SAP/fundamental-vue

 

那么fundamental-vue到底算Fiori Fundamentals还是Web Component?

一张图来回答:

 

关于这两个概念大家如果有疑问,请直接留言给我,或者点击“阅读原文”,跳转到SAP社区上给Peter留言,感谢阅读。

相关阅读

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

 
0
0
分享到:
评论

相关推荐

    SAP Fiori(SAPUI5)简介

    总结来说,SAP Fiori结合SAPUI5框架为用户提供了全新的体验,采用现代的Web技术标准,将SAP应用的用户界面推向了新的高度。它不仅提供了丰富的交互组件和响应式设计,还能够与后端服务进行有效的整合,支持跨平台、...

    SAP UI5入门概述

    通过以上步骤,开发者可以初步了解 SAP UI5 和 SAP Fiori 的基本概念,并掌握如何搭建一个基础的开发环境来实践 SAP UI5 开发。这对于初学者来说是非常宝贵的资源,有助于快速入门并深入了解 SAP UI5 技术栈。

    SAP UI5 文档

    对于开发者而言,文档中还包含了关于管理UI和服务器消息、路由和导航、应用程序性能优化、适应不同的操作系统和设备、以及SAPUI5的灵活性服务等方面的指南。这些服务使得用户界面能够轻松地适应不同屏幕和用户交互。...

    SAPUI5(SAP Fiori)运行环境介绍

    SAPUI5与SAP Fiori紧密相连,Fiori是SAP用户界面设计的一套原则和模式,它定义了应用应该如何表现和工作,而SAPUI5就是实现这些原则和模式的技术框架。SAPUI5运行环境是指使用该框架开发的应用可以部署和运行的平台...

    SAPUI5(SAP Fiori)开发工具介绍

    上述介绍涵盖了SAPUI5和SAP Fiori开发工具的基础知识,详细介绍了SAPUI5的开发环境以及如何开始使用SAP Web IDE和Eclipse Web IDE进行SAPUI5应用的开发。通过这些工具,开发者可以更加高效地进行SAP Fiori应用的开发...

    SAPUI5(SAP Fiori)开发技术要求

    SAPUI5是实现SAP Fiori应用开发的关键技术,它基于开放的Web标准,如HTML5、CSS3和JavaScript,以及jQuery和OpenUI5框架,从而允许开发者构建面向移动设备和桌面浏览器的现代Web应用。 在进行SAPUI5或SAP Fiori开发...

    UI5-FIORI-安装配置开发环境搭建及测试程序案例.pdf

    UI5-FIORI 是基于 SAP NetWeaver 平台的开发环境,旨在帮助开发者快速搭建和测试 Fiori 应用程序。本文档旨在指导开发者如何安装和配置 UI5-FIORI 开发环境,搭建测试程序,并进行相关设置和测试。 一、组件要求 ...

    Building SAP Fiori-like UIs with SAPUI5 in 10 Exercises

    SAPUI5适合用于开发SAP Fiori风格的用户界面,Fiori是SAP提出的一个用户体验设计准则,旨在为所有SAP软件产品提供统一、简洁且易于使用的界面。 本教程文档介绍了如何使用SAPUI5构建类似SAP Fiori的应用程序UI,并...

    sapui5-runtime

    【SAP UI5运行时环境】,又称为`sapui5-runtime`,是SAP公司推出的一款强大的前端开发框架,专为构建企业级的Web应用程序而设计。它基于OpenUI5,一个开源版本的UI5,因此也带有"openui5"的标签。SAP UI5提供了一个...

    SAP UI5 OVERVIEW

    总之,SAP UI5 作为 SAP 公司的核心前端框架之一,不仅拥有丰富的组件和强大的功能,还在不断地进化和完善之中。借助 SAP 的 Web 应用程序工具包,开发者能够更高效地构建出高质量的企业级应用。

    Fiori的方式开发响应式SAPUI5应用程序

    通过使用Fiori的方式开发响应式的SAPUI5应用程序,企业可以为用户提供更加流畅和一致的体验。这种开发方法不仅强调了设计的重要性和用户体验的一致性,而且还充分利用了SAPUI5的强大功能和灵活性。开发者应该深入...

    SAPUI5: Deploy Development Environment - Deploy Development Tool Eclipse 0003

    SAPUI5是SAP开发出的一种用于构建基于HTML5的丰富Web应用程序的框架。它主要用于开发SAP Fiori应用程序,而这些应用程序提供了简化的用户界面和用户体验。SAP Fiori是一种设计语言和一组应用程序,它旨在为SAP软件...

    SAP UI5 官方培训文档(100页+)

    ### SAP UI5 官方培训文档关键知识点解析 #### 一、SAP UI5 概览...通过以上内容,我们可以看到SAP UI5不仅具备强大的功能和技术特性,还有一套完善的开发流程和支持体系,使得开发者能够高效地构建高质量的企业应用。

    SAP S4HANA Fiori配置

    在企业信息化管理领域,SAP S/4HANA是一款先进的企业资源规划系统,它结合了现代化的用户体验设计,也就是Fiori,为用户提供简洁、直观的交互界面。本篇文章将详细探讨SAP S/4HANA Fiori的配置过程以及简单的权限...

    SAP UI5基础知识:开发环境及程序结构简介

    SAP UI5 是 SAP 公司推出的一个用于开发企业级 HTML5 用户界面的工具包,它结合了开放的 Web 技术与 SAP 系统的优势,为桌面和移动设备提供下一代用户体验。SAP UI5 的核心特性包括响应式设计,支持 OData 数据绑定...

    sap ui5工具栏例子

    在 SAP UI5 开发中,工具栏(Toolbar)是一种常用组件,用于提供一系列操作按钮或功能,常用于页面顶部作为导航或...通过理解和掌握这些知识点,开发者能够创建出符合 Fiori 设计原则、具有高效交互性的 SAP UI5 应用。

    SAP fiori 简易开发流程

    SAP fiori的简易开发过程指南,从开发者角度出发,分后面ODATA开发环境和前端SAP UI5环境搭建,以及发布进行了讲解

    SAP 新一代用户界面体验Fiori

    什么是SAP Fiori SAP UX策略 SAP Fiori设计指南(Design Guideline) SAP Fiori运行环境 SAPUI5与OpenUI5 OpenUI演示

    ui5-fiori:教育SAP UI5,Fiori

    总结起来,"ui5-fiori:教育SAP UI5,Fiori"这一主题涵盖了使用UI5框架和Fiori设计原则来开发企业级Web应用的知识点,涉及HTML基础、UI5核心概念、Fiori设计原则以及相关的学习资源和开发工具。通过深入学习和实践,...

Global site tag (gtag.js) - Google Analytics