4

私は、UIを構築するためにどのアプローチを取るか(プログラム型か宣言型か)を決定しようとしてきました。私はJavaScriptとWebテクノロジーを使用しています。ExtJSYUIのようないくつかのプロジェクトでは、プログラムによるアプローチを採用しています。

var container = new Ext.Container({
    style: 'padding: 4px;',
    items: [
        new Button({text: 'hello'})
    ]
});

container.render(document.body);

ビューコンポーネントを動的に作成する必要がある場合は、プログラムによるアプローチが必要になる場合があります(?)。プログラミングも簡単です。少なくとも、APIとコードアシスタントに慣れているので、私にとってはそう感じます。

ただし、XUL(FirefoxおよびThunderbird UIに使用される)などの一部のテクノロジーは、宣言型アプローチに基づいています。

<?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>

宣言型アプローチを採用するAmpleSDKと呼ばれるJavaScriptGUIフレームワークもあります。そのため、JavaScriptベースのアプリケーションでは、2つの選択肢があります。

Flexは、プログラム型UIだけでなく、宣言型UIもサポートしています。WFPとSilverlightはXAMLに焦点を合わせているようです。また、OpenLaszloは宣言型アプローチを使用しているようです。

次に、 jQuery UIはプログラマティックであり、DojoToolkitは2つのアプローチの中間にあることがわかります。

頭の中にいくつか質問があります。

1)動的(実行時に追加されるコンポーネント)UIは、宣言型の方法でのみ実装できますか?

2)両方のアプローチをサポートして、ほとんどの部分で宣言型スタイルを使用し、必要に応じてプログラム型スタイルを使用できるようにすることは理にかなっていますか?

3)どちらが好きですか、そしてその理由は何ですか?

4

2 に答える 2

1

1) はい、いつでも次のようなことができます: elem.innerHTML = "<content>"; ほとんどの言語は同様のものをサポートしています。

2)私が見たところ、ほとんどの言語が両方をサポートしています。私の推測では、最終的には、1 つの品種が別の品種に変換されるだけです。どちらか一方をサポートしないと、言語自体が制限されます。(私は xyz を使いたくありません。宣言的/プログラム的に UI を書くことはできません)。

3) 私は個人的に宣言型が好きです。

于 2011-06-23T17:45:54.733 に答える
0

作成するアプリケーションの種類によって異なります。

→静的

宣言構文ははるかに優れており、管理が容易です

 

→ダイナミック

宣言型とプログラム型の両方を組み合わせるのが最適です

于 2016-09-04T13:35:52.833 に答える