我们目前正在新项目的背景下评估SAP的OpenUI5。
虽然大多数示例和教程倾向于使用XML构建视图,但出于个人喜好,我选择Javascript来完成任务。但是,我还没有在OpenUI5中找到足够长的时间来确定这两种方法的任何特定优势。
使用JS有什么缺点吗?或者甚至优势?
非常感谢!
更新
我同意SDD64的回答。在并行使用这两种方法一段时间之后,我可以在列表中添加以下优缺点:
XML优势:
XML缺点:
答案 0 :(得分:3)
我也是基于JS的观点的粉丝。可能(dis)优点在我眼中:
JS的优势
JS的缺点
**更新2015-06-18 **
使用XML视图中的当前OpenUI5 1.28支持条件以及最近预览的1.30支持binding for dynamic loading of XML fragments,我觉得有必要更新我的答案。
借助这些新功能,XML视图获得了“健康”的灵活性。与基于JS的观点相比,对我而言,使它们更具吸引力。
答案 1 :(得分:0)
这一切都在开发者的眼中。有些开发人员更愿意编写html5之类的(xml)视图,其他人则更喜欢用js视图控制感觉。 xml视图的一个小缺点是将它们转换为js代码的额外步骤。它们应该有点(可忽略)慢。
答案 2 :(得分:0)
您可以使用XML-Views动态构建您的页面:
<强>控制器强>
sap.ui.controller("my.own.controller", {
onInit: function () {
var jsonData = {
simpsons: [
{name: "Marge", gender: "female"},
{name: "Homer", gender: "male"},
{name: "Bart", gender: "male"},
{name: "Lisa", gender: "female"},
{name: "Maggi", gender: "female"},
{name: "Snowball1", gender: "female"},
{name: "Ruprecht", gender: "male"}
]
};
var oModel = new JSONModel(suggJSON);
this.setModel(oModel, "myJsonModel");
},
});
查看强>:
<core:View
xmlns:core="sap.ui.core"
xmlns:m="sap.m"
xmlns="sap.ui.commons"
xmlns:html="http://www.w3.org/1999/xhtml"
>
Content of Model:
<m:VBox items="{myJsonModel>/simpsons}">
<Button text="{myJsonModel>name} visible="{= ${myJsonModel>gender} === 'male'}"/>
<Text text="{myJsonModel>name} visible="{= ${myJsonModel>gender} === 'female'}"/>
</m:VBox>
</core:View>