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

用React开发SAP Fiori应用

阅读更多

Jerry曾经写过两篇文章:

* [SAP Fiori + Vue = ?](SAP Fiori + Vue = ?) - 2018年12月18日

* [Fiori Fundamentals和SAP UI5 Web Components](Fiori Fundamentals和SAP UI5 Web Components) - 2019年2月19日

 

介绍了SAP Fiori是如何一步步走向开放的。在Fiori Fundamentals和SAP UI5 Web Component诞生之前,SAP UI5是开发SAP Fiori应用唯一可供选择的前端框架。

很显然SAP对前端领域蓬勃发展的Vue,Angular,React这三驾马车并未熟视无睹,这才有了Fiori Fundamentals和SAP UI5 Web Component的问世。

关于这两个名词的区别和联系,请参阅Jerry文首提到的两篇文章,我就不再重复了。

在差不多去年这个时候,SAP社区博客提到,SAP UI5 Web Component发布了Beta版。

那么SAP的工程师们经过了一年的努力后,SAP UI5 Web Component到底有何进展呢?我们一起来看一下。

SAP官方Github上,对UI5 Web Component的定义是:借助它,可以使用自己喜欢的前端框架来开发SAP Fiori应用。

SAP/ui5-webcomponents

 

因为Jerry之前的文章尝试过Vue,本文就换成用React来演示。

打开UI5 Web Component for React的官网,可以看到所有可用的React Component. React开发人员可以像使用React原生Component完全一致的方式来使用这些SAP包装过的React组件。

Storybook

随便浏览一下,能发现SAP提供了丰富的针对React使用的Component库:

 

选中每个框架,点击Docs,就能看到在React应用里导入这些Component的源代码:

 

import { BarChart } from '@ui5/webcomponents-react-charts/lib/BarChart';

这和导入React原生的Component方法没有区别。如此一来,一个掌握了React开发技能的技术人员,几乎不需要任何学习成本,就能迅速上手使用这些SAP提供的Component来开发Fiori应用。所有和User Experience相关的因素,应用开发人员都无需考虑,这一切全部由SAP UI5 Web Component包办了。

说了这么多,还是来动手创建一个Hello World应用吧。

用命令行基于SAP预定义的模板创建一个react应用。React开发的全家桶会自动被该命令创建,给开发人员省去了各种搭建React开发环境的负担。

npx create-react-app my-app --template @ui5/cra-template-webcomponents-react

 

接下来就是纯React开发工作了。

 

创建一个只有一行实现的React Component:

导入到React应用App.js里:

然后npm start,浏览器里就能看到这个React应用的效果了。平平无奇,对吗?

那么看看下面这个应用,是不是外观很像SAP Fiori?

我把该应用的源代码放到了github上,下面只简述要点:

wangzixi-diablo/ui5-for-react

这个应用演示的效果在下面的视频里可以看到:

v.qq.com/x/page/b3062ed

浏览器里一眼就能发现,这个React页面用到了Line Chart和List两个组件,但实际上这个React应用还演示了不同Component之间的跳转,路由,以及图标的显示等功能,因此导入的组件远远不止Line Chart和List.

下图是从@ui5/webcomponents导入的全部组件列表:

以LineChart为例,从@ui5/webcomponents导入后,采用React的语法,和我们在UI5原生的XML视图里使用SAP UI5提供的标签一样的方式,在React应用里使用LineChart标签:

 

这个LineChart的渲染还是采用HTML5的原生标签canvas实现:

 

如果对其实现感兴趣,可以到node_modules文件夹下,根据路径@ui5/webcomponents-react-charts找到实现源文件,通过阅读源代码来学习:

 

有了SAP UI5 Web Component,如今在Fiori应用的开发领域里,企业的选择将更加灵活:如果员工前端开发的技术栈还是基于jQuery,那么可以继续使用SAP UI5;如果员工本身就是熟练的React/Angular/Vue开发者,那么SAP UI5 Web Component是一个不错的选择。

0
1
分享到:
评论

相关推荐

    编程知识+React开发与应用的实战技术解析,技术难点和实战经验+技术开发

    编程知识+React开发与应用的实战技术解析,技术难点和实战经验+技术开发;编程知识+React开发与应用的实战技术解析,技术难点和实战经验+技术开发;编程知识+React开发与应用的实战技术解析,技术难点和实战经验+...

    《React开发实战》初级入门篇

    在React开发领域,初学者经常会面临许多挑战,如...通过这本书的学习,初学者可以逐步理解React的核心概念,并具备使用React开发实际应用的能力。不断练习和深入学习,将有助于你在这个热门的前端框架领域不断提升。

    多端统一开发框架,支持用 React 的开发方式编写一次代码,生成能运行在微信小程序、H5、React Native 等的应用.zip

    多端统一开发框架,支持用 React 的开发方式编写一次代码,生成能运行在微信小程序、H5、React Native 等的应用。.zip,多端统一开发框架,支持用 React 的开发方式编写一次代码,生成能运行在微信/百度/支付宝/字节...

    react单页面应用react单页面应用react单页面应用

    react单页面应用react单页面应用react单页面应用

    react全栈开发

    React全栈开发是现代Web应用开发中的热门话题,它以其高效、灵活和强大的生态系统赢得了开发者们的广泛喜爱。本文将深入探讨React全栈开发的核心概念、关键技术和实践应用,旨在帮助你充分利用React构建高效的Web...

    React开发实战.pdf 分卷压缩 002

    React开发实战 介绍如何成功构建日益复杂的前端应用程序与接口,深入分析React库,并详述React生态系统中的其他工具与库,从而指导你创建完整的复杂应用程序. React开发实战 主要内容 ◆ 如何创建可组合的用户...

    ReactNative开发的食谱应用程序

    React Native是一种由Facebook开发的开源框架,用于构建原生移动应用程序。它允许开发者使用JavaScript和React库来编写代码,同时可以跨平台运行于iOS和Android设备上,极大地提高了开发效率。在这个“React Native...

    react-现代React应用程序开发的一体化初学者指南

    通过这个指南和示例项目,学习者不仅可以掌握React的基本用法,还能了解到如何将其与Express等后端技术结合,实现完整的Web应用开发。此外,还会涉及错误处理、性能优化和最佳实践,让开发者具备从零开始构建复杂...

    react-react开发的网易云音乐

    在本项目中,“react-react开发的网易云音乐”是一个基于React框架实现的网易云音乐的前端应用。React是由Facebook开发的开源JavaScript库,用于构建用户界面,尤其适用于单页应用程序。这个项目展示了如何利用React...

    React Native跨平台移动应用开发 第一版

    本资源为"React Native跨平台移动应用开发 第一版"的扫描版,提供了关于使用React Native进行移动应用开发的详细指南。 React Native的核心理念是"Learn once, write anywhere",意味着开发者只需要学习一次,就...

    React开发实战

    React开发实战 介绍如何成功构建日益复杂的前端应用程序与接口,深入分析React库,并详述React生态系统中的其他工具与库,从而指导你创建完整的复杂应用程序. React开发实战 主要内容 ◆ 如何创建可组合的用户...

    React Native 跨平台移动应用开发(P364完整版) 卷1

    《React Native跨平台移动应用开发》由浅入深、系统地介绍了使用React Native框架跨平台开发所需要用到的知识。《React Native跨平台移动应用开发》每一章都专注于阐述某一方面的知识,配合若干个原创的、精小的例程...

    react开发所需要的所有包

    React是JavaScript库,用于构建用户界面,特别是单页应用程序(SPA)。它采用组件化的方式,使得构建可重用和可维护的代码变得容易。在React的开发过程中,我们需要依赖一些核心库和其他辅助库来实现完整的功能。这...

    ReactNative用javascript开发移动应用.中文完整版.pdf

    总的来说,React Native是一个强大的工具,它降低了跨平台移动应用开发的门槛,让开发者可以用一种语言和一套工具链开发高性能的应用。虽然它可能不如原生开发那样具有完全的灵活性,但它的优点在于效率、可移植性和...

    react-reactprogressivewebapp一个基于React优化ProgressiveWeb应用开发

    **React进步式Web应用开发详解** 在现代前端开发领域,React框架因其强大的功能和灵活性而备受推崇。Progressive Web App(PWA)是近年来的一种新兴技术,它旨在提供接近原生应用体验的Web应用程序。结合React,...

    react-一个适用于跨平台原生桌面应用程序的React环境

    总之,React和Proton Native的结合提供了一种强大的跨平台桌面应用开发解决方案。通过JavaScript和React的熟悉语法,开发者可以快速地构建出具有原生体验的桌面应用,同时享受React生态系统带来的便利性和灵活性。

    《React开发实战》.pdf

    《React开发实战》

    ReactNative用javascript开发移动应用

    《React Native:用JavaScript开发移动应用》围绕着如何将一个完整App提交到App Store,讲解了使用React Native开发iOS应用所涉及的方方面面。首先介绍了Flexbox布局,教大家从零开始搭建一个初始应用,以此阐明...

Global site tag (gtag.js) - Google Analytics