介绍一个能开发简单SAP UI5应用的在线IDE:StackBlitz

简介: 这是Jerry 2021年的第 15 篇文章,也是汪子熙公众号总共第 286 篇原创文章。Jerry 之前写过一篇文章 介绍一个免费的云开发工具:Cloud Shell,这个工具其实就是在浏览器里使用的远程 Linux Shell 环境,预装了 Java,npm,git,nodejs,docker 等常用的开发和部署工具。

这是Jerry 2021年的第 15 篇文章,也是汪子熙公众号总共第 286 篇原创文章。


Jerry 之前写过一篇文章 介绍一个免费的云开发工具:Cloud Shell,这个工具其实就是在浏览器里使用的远程 Linux Shell 环境,预装了 Java,npm,git,nodejs,docker 等常用的开发和部署工具。


本文介绍另一个在浏览器里使用的在线 IDE .


Jerry 所在的团队,使用 Visual Studio Code 进行 SAP Spartacus 的 TypeScript 开发。

image.png

除了 Visual Studio Code 之外,StackBlitz 是另一个我们团队经常使用的在线 IDE:


image.png


StackBlitz 无需注册,使用 Github 账号即可登录。其界面风格和 Visual Studio Code 极为相似,支持前端三驾马车 Angular,React 和 Vue 项目的创建,包含 Web 项目在线开发,自动管理项目依赖,自动编译,页面效果实时预览等实用功能。


[此处插入动画]


StackBlitz 一个典型的使用场景:Jerry 在开发过程中发现某个 Angular 功能点,没有按照我期望的方式工作。显然是我使用的方法不对,我想寻求团队内 Angular 大佬的帮助。


简单地把我遇到问题的代码和错误截图发给大佬们,显然是一种不礼貌的做法。仅仅凭借静态代码和错误提示远远不够,最好能提供一个大佬能够在其本地方便地复现问题的环境:StackBlitz 就是一个比较好的选择。


于是我在 StackBlitz 里创建一个简单的 Angular 工程,把我遇到的问题在这个 Angular 工程里复现,然后通过下图的 Share 按钮,将项目 url 发生给团队大佬。对方在浏览器里打开该 url,就可立即复现我的问题。


image.png


StackBlitz 能否作为 SAP UI5 开发的在线 IDE 呢?Jerry 简单试了试,虽然 StackBlitz 无法像原生支持 Angular,React 和 Vue 那样支持 SAP UI5,但仍然可以用来做一些简单的 SAP UI5 应用的验证工作,比如测试某些 SAP UI5 控件的行为。


之前 Jerry 的文章 一个用于SAP UI5学习的脚手架应用,没有任何后台API的依赖 介绍的脚手架应用,运行在 nodejs express 框架上。同样,我们可以把这个脚手架应用迁移到 StackBlitz 上。


看一个实际的使用 SAP UI5 脚手架应用的需求。


下图是 SAP Spartacus 用户编辑页面,每个用户可以分配若干个角色,除了点击下图红色每种角色对应的圆角正方形框之外,点击绿色的文本框,也需要能选中对应的角色。


这是一个 Accessibility 的需求,为了确保用户在屏幕尺寸较小的移动设备上,也能毫不费力的勾选某个角色。


image.png


现在我想验证 SAP UI5 的 Checkbox 控件,是否也同样具有该 Accessibility 功能,即点击 Checkbox 的文本本身,也能选中该 Checkbox.


StackBlitz 中新建一个基于 HTML/JS/CSS 的 Static 项目:


image.png


把下图的27行代码粘贴到 StackBlitz 正中的 HTML 编辑器里去:


image.png


屏幕最右边区域中,StackBlitz 的嵌入服务器,会自动把 index.html 的内容渲染出来。


image.png


渲染出的 SAP UI5 页面里,我看到了期望出现的 Customer Checkbox,并且点击 Customer 文本,发现前面的小勾也自动被勾上了,说明 SAP UI5 的 Checkbox 控件,和 Spartacus 一样,也满足 Accessibility 的需求。


查看渲染出的 HTML 源代码可知道实现原理:sap.m.Checkbox 在运行时会渲染出 div( role 为 checkbox ) 和 label 元素,label 元素的 for 属性的值,等于 div 元素的 id,从而建立起二者的绑定关系。浏览器即可确保,label 被点击时,其关联到的 role 为 checkbox 的 div 元素也自动被选中。


image.png


遗憾的是,通过 StackBlitz 向导创建的 Static Web 项目,只支持加载 HTML/CSS/JS/JSON 类型的资源,而 SAP UI5 XML 视图,因为其格式为 xml,无法正常被 StackBlitz 加载。因此,在 StackBlitz 里进行 SAP UI5 开发,只能使用基于 JavaScript 的视图类型。


如果有朋友找到在 StackBlitz 里使用 SAP UI5 XML 视图的办法,欢迎分享给大家。


当然,大家也可以尝试 Visual Studio Code 这些和 SAP UI5 相关的 Extensions,感谢阅读。

image.png


image.png


相关文章
|
16天前
|
Linux C++ Windows
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
|
3天前
|
C# Android开发 开发者
Uno Platform 高级定制秘籍:深度解析与实践样式和模板应用,助你打造统一且高效的跨平台UI设计
【9月更文挑战第7天】Uno Platform 是一个强大的框架,支持使用 C# 和 XAML 创建跨平台 UI 应用,覆盖 Windows、iOS、Android、macOS 和 WebAssembly。本文介绍 Uno Platform 中样式和模板的应用,助力开发者提升界面一致性与开发效率。样式定义控件外观,如颜色和字体;模板则详细定制控件布局。通过 XAML 定义样式和模板,并可在资源字典中全局应用或嵌套扩展。合理利用样式和模板能简化代码、保持设计一致性和提高维护性,帮助开发者构建美观高效的跨平台应用。
10 1
|
4月前
|
存储 安全 测试技术
使用 Visual Studio Code 创建 SAP UI5 项目遇到 self-signed security certificate 相关问题
使用 Visual Studio Code 创建 SAP UI5 项目遇到 self-signed security certificate 相关问题
|
9天前
|
vr&ar C# 图形学
WPF与AR/VR的激情碰撞:解锁Windows Presentation Foundation应用新维度,探索增强现实与虚拟现实技术在现代UI设计中的无限可能与实战应用详解
【8月更文挑战第31天】增强现实(AR)与虚拟现实(VR)技术正迅速改变生活和工作方式,在游戏、教育及工业等领域展现出广泛应用前景。本文探讨如何在Windows Presentation Foundation(WPF)环境中实现AR/VR功能,通过具体示例代码展示整合过程。尽管WPF本身不直接支持AR/VR,但借助第三方库如Unity、Vuforia或OpenVR,可实现沉浸式体验。例如,通过Unity和Vuforia在WPF中创建AR应用,或利用OpenVR在WPF中集成VR功能,从而提升用户体验并拓展应用功能边界。
23 0
|
9天前
|
C# 开发者 设计模式
WPF开发者必读:命令模式应用秘籍,轻松简化UI与业务逻辑交互,让你的代码更上一层楼!
【8月更文挑战第31天】在WPF应用开发中,命令模式是简化UI与业务逻辑交互的关键技术,通过将请求封装为对象,实现UI操作与业务逻辑分离,便于代码维护与扩展。本文介绍命令模式的概念及实现方法,包括使用`ICommand`接口、`RelayCommand`类及自定义命令等方式,并提供示例代码展示如何在项目中应用命令模式。
17 0
|
9天前
|
开发者 Android开发 UED
打造流畅应用:深入探索如何在Xamarin项目中选择并实现最佳UI/UX设计的实践指南
【8月更文挑战第31天】在数字化时代,UI/UX设计成为应用成功的关键。Xamarin以高效开发和强大兼容性著称,其设计理念“一次编写,处处运行”需充分适应多平台特性,提供一致体验。选择Xamarin.Forms或结合Xamarin.Native可实现跨平台UI设计;遵循各平台设计指南,保持布局一致性和简洁性;通过用户测试不断优化。最终,结合技术和用户需求,打造美观实用的应用,脱颖而出。
20 0
|
27天前
数字化核心构建问题之SAP为应用软件扎根客户打基础如何解决
数字化核心构建问题之SAP为应用软件扎根客户打基础如何解决
10 0
|
2月前
|
监控 IDE Java
函数计算产品使用问题之如何不使用FC的IDE进行开发,并将开发好的应用部署到FC上
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
4月前
|
前端开发 搜索推荐 UED
【Flutter前端技术开发专栏】Flutter中的高级UI组件应用
【4月更文挑战第30天】探索Flutter的高级UI组件,如`TabBar`、`Drawer`、`BottomSheet`,提升应用体验和美观度。使用高级组件能节省开发时间,提供内置交互逻辑和优秀视觉效果。示例代码展示了如何实现底部导航栏、侧边导航和底部弹出菜单。同时,自定义组件允许个性化设计和功能扩展,但也带来性能优化和维护挑战。参考Flutter官方文档和教程,深入学习并有效利用这些组件。
115 0
【Flutter前端技术开发专栏】Flutter中的高级UI组件应用
|
4月前
|
JavaScript 前端开发
试读版:如何找出 SAP 标准 Fiori 应用某个按钮点击后执行的 JavaScript 源代码
试读版:如何找出 SAP 标准 Fiori 应用某个按钮点击后执行的 JavaScript 源代码
下一篇
DDNS