zoukankan      html  css  js  c++  java
  • 一个用于SAP UI5学习的脚手架应用,没有任何后台API的依赖

    Jerry的系列 通过最简单的button控件,深入学习SAP UI5框架代码系列之零 里面曾经提到,我们会使用单步调试的方式,来学习SAP UI5框架的部分源代码实现。

    如果找一个现成的SAP UI5应用来调试,势必会增加我们调试的复杂度,所以对于这类调试任务,Jerry最喜欢的方式就是首先搭建一个小的脚手架应用(即很多英文的前端开发博客里提到的scaffold),隔离所有不必要的依赖,只包含了待调试的最小范围的特性(mini scope).

    以本系列为例,自始至终我们使用的SAP UI5应用,只包含一个最简单的button控件。

    Jerry已经准备好了这样一个应用,放在我的github上,大家可以下载或者clone到本地。

    进入项目文件夹下,首先运行命令行npm install, 然后执行node local.js(当然,你需要首先安装npm和nodejs).

    看到Example app listens on port 3000后,浏览器输入localhost:3000/wt即可看到仅包含了一个button控件的SAP UI5页面:

    可以用任何文本编辑器打开这个文件夹,该页面的源代码在walkthrough子文件夹的index.html里:

    上图高亮部分的源代码,即SAP UI5 button控件的创建代码,可以直接从下面SAP UI5官网上拷贝获得:

    https://sapui5.hana.ondemand.com/1.32.11/#test-resources/sap/ui/commons/demokit/Button.html

    (Jerry写这个英文系列时用的button来自sap.ui.commons命名空间,在最新版本的UI5里面已经depreciated了,SAP推荐使用sap.m命名空间下的新button控件)

    浏览器里输入另一个url:

    http://localhost:3000/ui5/

    能看到一个典型的Fiori Master-Detail风格的应用,左边的Master List里显示服务订单列表,任意点击一个,在屏幕右边能看到该订单的明细页面。

    该应用也展示了Master List里的搜索,以及根据选中的服务订单字段(Amount,State)进行聚合的功能,以及SAP UI5的页面跳转功能实现。

    最重要的是,这个脚手架应用没有引入任何后台API的依赖。

    这个Master-Detail的应用实现在webapp文件夹下。在webapp文件夹下的Component.js里,能看到直接使用了本地存储的json文件作为model的数据源:

    这个脚手架应用基于nodejs,可以用命令cf push上传到SAP云平台的CloudFoundry环境,或者直接将整个文件夹拷贝到阿里云/腾讯云这类虚拟主机上,然后直接执行命令行node local.js启动应用。

    具体步骤在我之前的文章如何在阿里云上运行SAP UI5应用里有介绍。

    本系列的所有文章,都会使用本文介绍的脚手架应用来调试SAP UI5的框架代码。感谢阅读。

    系列目录

    • SAP UI5应用开发人员了解UI5框架代码的意义
    • UI5 module懒加载机制
    • UI5 控件渲染机制
    • HTML原生事件 VS SAP UI5 Semantic事件
    • UI5控件元数据实现细节
    • UI5控件的实例数据实现细节
    • UI5控件数据绑定的实现原理
    • UI5控件数据绑定的三种模式:One Way,Two Way和OneTime实现原理比较
    • UI5控件ID的生成逻辑
    • UI5控件的多语言(国际化,Internationalization,i18n)支持的实现原理
    • XML视图里的button控件
    • button控件和它背后的DOM元素

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

  • 相关阅读:
    分布式事务的四种解决方案
    uber-go/guide 的中文翻译
    域名解析-CNAME
    Nginx节点存活状态检查
    Laravel核心解读--中间件(Middleware)
    Mac dyld: Library not loaded: /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib
    前缀树算法实现路由匹配原理解析
    原创-实用salt部署文档(持续更新)
    线上案例-调参-设置滑动窗口提高视频云播放性能
    NGINX日志割切
  • 原文地址:https://www.cnblogs.com/sap-jerry/p/14026700.html
Copyright © 2011-2022 走看看