UI5 例如我在UI5的界面上画一个按钮,点击之后弹出一个Alert dialog. 在XML view里只定义了controller的名称和事件处理函数的名称.那么按钮被点击之后,controller的onShowHello被触发.但是,这个controller的实例是什么时候被创建, 并且关联到这个申明它的XML view里呢? 在XMLView.js里,我定义的XML view的源代码被加载之后,XMLView会调用XMLTemplateProcessor, 解析XML view的内容,根…
大家好,今天的文章来自我的同事,Yang Joey. 2017年7月,SAP成都研究院C4C开发团队刚刚建立.某个周一早晨的Scrum meeting,新出现一位眉清目秀的小伙子,向大家自我介绍:"大家好,我叫杨xiao". 我一听,哇塞,和明教光明左使杨逍同名.对于八零后武侠爱好者来说,94版倚天屠龙记中孙兴饰演的杨左使潇洒飘逸,孤傲自负且颜值爆表.连金庸看了之后都评价"孙兴的杨逍源于原著,但胜于原著".相信杨逍是很多少女的梦中情人. 杨逍年轻时的武功,金庸通过灭…
这周有位同事邀请我给团队讲一讲SAP技术的演进历史,所以我准备了下面几个主题来介绍. 其中SAP的技术回顾和演进,我的思路就是从前后台两方面分别介绍. 我画了一张非常简单的图: 去年5月我写过一篇文章:SAP UI和Salesforce UI开发漫谈,简要回顾了SAPUI技术的发展,从最古老的SAP GUI绘制界面,到Webdynpro / WebUI再到现在广泛使用的Fiori UX.当时这篇文章介绍到Fiori(UI5)就嘎然而止了,如今大半年过去了,我们继续聊聊Fiori的发展动向. 根据…
这篇博文难产了很久,原来是打算一周更新一篇的,上周原计划写MVC,但是写了一半,发现带入了太多的细节,不太符合这个入门系列的主题. 当我们学习一个新的技能的时候,如果一开始就面对大量的细节,很容易陷入其中而只见树木不见森林,所以最后我想我们还是先按照开发文档的节奏,一起来做UI5的最佳实践练习.在练习中对常用的一些控件以及API有一个直观的感受,如果需要细节的信息再去查文档. 这个最佳实践练习的子系列又会分为若干篇,但是不会完全按照Tutorial里面的章节来分,因为我希望每一篇都是都是一个完整…
今天继续由SAP成都研究院著名的菜园子小哥Wang Cong,给大家分享他作为一个SAP前端人员是如何看待SAP UI5和微信小程序的异同点的. 关于Wang Cong种菜的手艺,大家请移步到他以前的文章 SAP成都研究院非典型程序猿,菜园子小哥:当我用UI5诊断工具时我用些什么 去观摩,这里不再赘述. 下面是他的正文. 近几年微信小程序发展之势如火如荼,越来越多的用户放弃原生App,转而投入小程序的怀抱,大有"一个微信行天下"的趋势. 面对如此巨大的流量机遇,百度.阿里等公司也纷纷在…
2018年只剩最后30天了.Jerry在2017年的最后一天,曾经立下一个目标:这个微信公众号在2018年保证至少每周发布一篇SAP原创技术文章. 从Jerry在后台统计的2018全年文章数量来看,这个目标已经提前实现了.为了感谢大家的支持,在2018年的最后一天,Jerry会发布一个合集:<SAP成都研究院2018年XX篇原创文章合集>,包含了2018年全年SAP成都研究院的同事们发布过的文章. Jerry在11月份中旬去SAP上海研究院参加了Kubernetes的内部培训(详情参考我的前一…
上期我们完成了一个简单的主从页面,但是页面是静态的,不能交互,功能也很简单,只有一个销售订单的列表. 我们今天就一鼓作气把代码全都写完,由于本次的代码量较大,所以只对重点代码部分进行讲解. 具体每个文件和代码就不一一贴出来了,代码都放在github中,需要的自行下载吧. 1 页面导航 可以先把代码下载到本地并跑起来,这样可以对这个最佳实践的程序有一个直观的了解. 页面导航如下: 销售订单列表(Master) -> 销售订单明细(Detail) -> 行项目明细(LineItem),在每个明细页…
如何查找SAP UI5官方关于数据绑定的文档: https://sapui5.hana.ondemand.com/ 点Documentation: Filter里输入data就能看到Data Binding的文档了. 下面是一些我的原创文章. Jerry写过一个如何自学UI5框架的系列文章,一共包含13篇文章. 其中系列6和系列7深入讲了SAP UI5数据绑定的实现: 第6篇文章:https://blogs.sap.com/2015/10/25/how-i-do-self-study-on-a-…
本次对之前学习的SAP UI5框架知识进行简单小结.以及重点部分知识的梳理. 1.在UI5使用过程中,命名空间的概念非常重要. 2.一般的sap组件引用格式例如以下: sap.ui.define([ "sap/ui/core/UIComponent", "sap/ui/model/json/JSONModel", "sap/ui/model/resource/ResourceModel"], function (UIComponent, JSON…
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">··<span style="white-space:pre"> </span>在SAP UI5中.使用i18n文件的方式来解析变量.对于以后开发不同的语言包,也有相应不同的i18n文件. 我们先来大体看一下在SAPUI5中.i18n是怎样使用…
SAPUI5中支持利用Component对组件进行封装.想封装一个组件,Component的基本代码例如以下: sap.ui.define([ "sap/ui/core/UIComponent"], function (UIComponent) { "use strict"; return UIComponent.extend("", { init : function () { // call the init function of the…
之前我们对于app的构建都是基于显示的.如今我们来格式化一下,引入很多其它的SAP UI5组件概念.这使得APP的一个界面更有层次性.更像是一个手机应用的界面,而且更好地使用SAP UI5中提供的功能.每一个不同的层次都有不同的功能. 首先改动App.view.xml文件代码: <mvc:View controllerName="sap.ui.demo.wt.controller.App" xmlns="sap.m" xmlns:mvc="sap.u…
昨天Jerry的文章 纯JavaScript实现的调用设备摄像头并拍照的功能 介绍了纯JavaScript借助WebRTC API来开发支持调用设备的摄像头拍照的web应用.而我同事遇到的实际情况是,需要使用SAP UI5这个前端框架来开发web应用.在有了前一篇文章的知识储备后,在SAP UI5里完成这个功能,可以采取同样的思路. 我们先回忆前一篇文章里提到的技术实现的要点: (1) 在web应用的HTML页面里定义HTML5用于显示视频的原生标签:video (2) 使用WebRTC的API…
概述 目前SAPUI5 SDK 提供了两种方式来开发一个SAPUI5 App.一种方式是传统的SAPUI5开发方式,一种是利用SAP Fiori Elements通过模板快速构建应用的方式. 本文简单介绍这两种方式如何实现,并进行对比,使读者更清楚这两种方式的优缺点以及适合的开发场景. SAPUI5 SDK的官方网站在这里.我采用的开发工具是SAP Web IDE. 简介 SAPUI5 freestyle 就是SAPUI5 提供的最普通的最基本的开发方式,之所以给它起名字叫freestyle,就…
本文转自:http://www.cnblogs.com/qianmarv/p/4671394.html 1 扫盲 什么是SAP Fiori? 了解SAP UI5必须要从SAP Fiori开始,两者概念经常被混淆,而两者也确实有着非常紧密的关系. 用过SAP的同学们都对SAP的传统的界面(SAP GUI)表示“呵呵”,其实传统的SAP GUI的界面功能还是很强大的,但是对于一个新用户来说,学会使用这套界面就需要花上一两 周的时间,所以SAP入门的第一步就是学会使用SAP GUI.此外,传统的SAP…
什么是SAP Fiori? 了解SAP UI5必须要从SAP Fiori开始,两者概念经常被混淆,而两者也确实有着非常紧密的关系. 用过SAP的同学们都对SAP的传统的界面(SAP GUI)表示“呵呵”,其实传统的SAP GUI的界面功能还是很强大的,但是对于一个新用户来说,学会使用这套界面就需要花上一两 周的时间,所以SAP入门的第一步就是学会使用SAP GUI.此外,传统的SAP GUI只能在Windows和Mac上使用,对于移动端用户没有直接的解决方案,WEBGUI的体验也非常不好. Fi…
上一篇文章 在Kubernetes上运行SAP UI5应用(上),我介绍了如何在Docker里运行一个简单的SAP UI5应用,并且已经成功地将一个包含了这个UI5应用的docker镜像上传到Docker hub上. 这篇文章作为这个主题的下半部分,将会介绍如何在Kubernetes里运行这个docker镜像. 文章目录 Kubernetes里的两个重要概念:pod和deployment Kubernetes保证应用程序高可用性和伸缩性的一些体验 Kubernetes滚动升级(Rolling U…
https://a.kabachnik.info/sap.m.table-vs-sap.ui.table.table-features-compared.html SAP UI5数据表进行了比较:sap.m.Table与sap.ui.table.Table SAPUI5和OpenUI5都为数据表提供了两种完全不同的控件:它们在Fiori样式指南中称为“网格表”(sap.ui.table.Table)和“响应表”(sap.m.Table).顾名思义,一个是响应式的,更适合移动应用程序,而另一个更面…
本来Jerry觉得这个知识点太简单了完全不值得写成微信公众号文章,但转念一想,可能网络上有一些刚刚初学UI5的朋友们可能会问到,所以还是写了. 今天一个成都同事问我这个问题,因为SAP WebIDE可以非常方便地将开发好的UI5应用一键部属到SAP的其他系统,比如On-Premises环境的SAP gateway系统:但对于SAP Cloud Platform之外的其他云平台,比如AWS或者阿里云,SAP官方文档讲得不多. 其实如果已经在WebIDE里完成了UI5应用的开发,要让它运行在其他Ia…
在低版本的SAP UI5应用中,我们一旦切换成调试模式,那么应用程序源代码和UI5框架程序的源代码的调试版本都会重新加载,耗时很长. 我最近发现UI5新版本1.66.1提供了选择性加载调试版本的源代码的选项,即下图中的Select Specific modules: 如果确认问题出在我们应用程序,只想调试自己编写的应用代码,那么我们可以只切换应用程序成为调试版本,这样速度大大提高. 此时浏览器地址栏里看到的参数为sap-ui-debug=dis/#, 意思是仅仅disnamespace下的所有资…
SAP UI5的support Assistant给UI5刚入门的开发人员提供了一种极便利的快速熟悉UI5代码的途径. 召唤方式: ctrl+shift+alt+p四个键同时按,在弹出的对话框里点击按钮"activate Support Assistant即可. 之后屏幕下方会出现一个视图,视图左边包含了SAP预定义的检查条目,以及您当前的UI5应用基于这些检查条目校验出的结果.右边则是检查条目检查的具体内容,针对检查出来的问题给出的解决方案,以及具体的检查代码等等. 我觉得对我自己帮助最大的就…
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP UI5上传图片 用XSJS存储在HANA中的方法   前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 玩就玩一个高级的,此篇文章包含了SAP UI5,SAP HANA,SAP XS HANA串联起来 业务需求:SAP UI5传输图片,最后存储到HANA中. 下面体验一下梦幻般的做法,O(∩_∩…
这个代理传值是经常使用的一种传值方式,下面介绍一种View 和 Controller 之间的代理传值方法. 先建立一个View视图 如 LoginView 是继承于一个UIView 在LoginView.h里面声明协议 LoginView.h文件 #import <UIKit/UIKit.h> @class LoginView; //1.声明协议 @protocol LoginViewDelegate (void)sureButtonTaped:(LoginView )loginView in…
mvc给我们提供多种controller中读取view数据的方法 1.从Ruquest["name"]中直接读取 2.将表单中name名称直接写在Action的参数列表中 3.将表单中一组name组装成一个类作为Action的参数 其实实质上都是用表单中的name将数据传输到后台.只不过后两点mvc用反射等一些技术简化了我们的操作 但是很多时候回传递更复杂的数据,第三种我感觉是最灵活的,结合json传递数据变得非常简单 类 public class Good { public stri…
第一次将view中列表提交到controller,尝试了下,还是可以的 要传输的实体类 /// <summary> /// 用于展示的角色类 /// </summary> public class Action4Role { /// <summary> /// 行为Id /// </summary> public string ActionId { get; set; } /// <summary> /// 角色Id /// </summa…
今天我们来818<angularjs in action>的第三章controller和view. 1.Big Picture概览图 View是angularjs编译html后呈现出来的,需要编译的是controller中的定义的属性和方法以及directive中定义的指令. View和controller是独立开来的,他们之间的纽带就是图中间的胶水——scope.Controller负责向scope中提供属性和方法,便于和view层面的html进行交互. 方便起见,我们通常将controll…
复习 1.      商品表 增删改查 index.php  add.php   view.php   edit.php   action.php 2.      MVC(Model(模型)  View(视图)  Controller(控制器)) v1版本 将原来的action(动作),写成方法,每一个action文件,就是个类 什么是入口文件? 用于浏览器直接访问的那个文件 什么是action? 是我们类中的,用于调用的方法 如何在同一个入口文件中,如何调用不同的action? 通过url中的…
ASP.NET MVC中的Model(数据模型)主要包括定义数据结构.数据库读写.数据验证等等和对象处理相关的工作. 在解决方案资源管理器中找到Model文件夹,点击右键,添加一个新类,名为“Message”.包含三个属性:NickName(用户名).Content(内容).ReleaseDate(发布日期). public class Message { public string NickName { set; get; } public string Content { set; get;…
我们知道使用MVC的一个很重的的用途就是把Controller和View之间进行解耦,通过控制器来调用不同的视图,这就注定了Controller和View之间的传值是一个很重的知识点,这篇博文主要解释一下View向Controller提交数据的几种形式,认识有限,有不足的地方请各位博友能够给完善. 一.通过Json数据 方法一:使用$.getJSON //方式一:根据页码 异步请求 数据 function loadPageList(pageIndex) { $.getJSON("/Stu/Lis…
1   概述 本篇文章主要从操作上简要分析Controller<=>View之间相互传值,关于页面之间传值,如果感兴趣,可参考我另外一篇文章ASP.NET 页面之间传值的几种方式 . Controller=>View:Model,ViewBag,ViewData,TempData,ViewBag=>ViewData,ViewData=>ViewBag,ViewModel,JqGrid,AJAX+第三方插件等: View=>Controller:QueryString,F…