User interface 声明式与编程式UI(对象实例、XAML、MXML、XUL等)
我一直在努力决定采用哪种方法来构建UI:编程式还是声明式。我正在使用JavaScript和web技术。在一些项目中,如和,他们采取了计划方法:User interface 声明式与编程式UI(对象实例、XAML、MXML、XUL等),user-interface,theory,declarative,User Interface,Theory,Declarative,我一直在努力决定采用哪种方法来构建UI:编程式还是声明式。我正在使用JavaScript和web技术。在一些项目中,如和,他们采取了计划方法: var container = new Ext.Container({ style: 'padding: 4px;', items: [ new Button({text: 'hello'}) ] }); container.render(document.body); <?xml version="1.
var container = new Ext.Container({
style: 'padding: 4px;',
items: [
new Button({text: 'hello'})
]
});
container.render(document.body);
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window id="vbox example" title="Example 3...."
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<vbox>
<button id="yes" label="Yes"/>
<button id="no" label="No"/>
<button id="maybe" label="Maybe"/>
</vbox>
</window>
当您需要动态创建视图组件时,编程方法可能是必要的。它也可以更容易编程,至少对我来说是这样,因为我已经习惯了API和代码助手
然而,一些技术,如XUL(用于Firefox和Thunderbird UI)基于声明性方法:
var container = new Ext.Container({
style: 'padding: 4px;',
items: [
new Button({text: 'hello'})
]
});
container.render(document.body);
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window id="vbox example" title="Example 3...."
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<vbox>
<button id="yes" label="Yes"/>
<button id="no" label="No"/>
<button id="maybe" label="Maybe"/>
</vbox>
</window>
还有一个名为的JavaScript GUI框架,它采用声明式方法。因此,对于基于JavaScript的应用程序,我有两个选择
Flex还包括声明式UI和编程式UI。世界粮食计划署和Silverlight似乎正在关注这一问题。另外,似乎使用声明性方法
然后我看到了编程,以及介于这两种方法之间的东西
我脑子里有几个问题:
1) 动态(在运行时添加的组件)UI能否单独以声明方式实现
2) 支持这两种方法是否有意义,这样就可以对大部分部分使用声明式风格,如果需要,还可以使用编程式风格
3) 你喜欢哪一个?为什么?1)是的,你可以随时做一些类似的事情:elem.innerHTML=“”;大多数语言都支持类似的功能
2) 据我所知,大多数语言都支持这两种语言。我的猜测是,最终,一个品种会转化成另一个品种。如果不支持其中一种,语言就会自我限制。(我不想使用xyz,我不能以声明/编程方式编写UI)
3) 我个人喜欢声明式,它倾向于用更少的行完成事情 这取决于您想要制作什么类型的应用程序: → 静止的 声明式语法更好,更易于管理 → 动态
声明式和编程式的混合将是最好的我认为始终有一种编程方法可用,因为UI不是由魔法构成的。我猜声明式UI只是构建在编程式UI之上?