2

zkフレームワークは、Web開発者にとって非常に柔軟性があります。しかし、柔軟性にはいくつかの問題もあります。パフォーマンス(メモリ、時間など)に最適な方法はどれかしら

1).zulファイル。次のようなスクリプトで構成されます。

<vbox>
        Auto-complete Combobox:
        <combobox id="combo" autodrop="true" mold="rounded"/>
        <hbox>
            <checkbox checked="true"
                onCheck="combo.autodrop = self.checked"
                label="auto drop popup when typing" />
            <checkbox checked="true"
                onCheck="combo.buttonVisible = self.checked" label="button visible" />          
        </hbox>
        <checkbox label="Use rounded combobox" checked="true"
            onCheck='combo.mold=self.checked? "rounded": "default"'/>
    </vbox>
    <zscript>
    String[] _dict = { 
        "abacus", "accuracy", "acuity", "adage", "afar", "after", "apple",
        "bible", "bird", "bingle", "blog"
...

2)純粋なJavaのような

public class TestRenderer {

    ListModelList model = new ListModelList();
    private AnnotateDataBinder binder;

    @AfterCompose
    public void afterCompose(@ContextParam(ContextType.VIEW) Component view) {
        binder = new AnnotateDataBinder(view);
     List persons = new ArrayList();    
     model.add(new Person("David", "Coverdale"));
...

3)ハイブリッドzk

<window apply="com.synnex.wms.outbound.so.IndexViewCtrl">
    <style>
        .z-row-cnt .z-label {
            white-space:nowrap;
        }
    </style>
    <grid model="${model}" rowRenderer="${renderer }" height="300px" width="800px">
        <custom-attributes org.zkoss.zul.grid.rod="true" />
        <custom-attributes org.zkoss.zul.grid.initRodSize="20" />
        <columns>
            <column forEach="${headers}" label="${each}" width="80px"/>
        </columns>

    </grid>


</window>

春のような異なる技術で使用する場合、それらは異なりますか?javaからhtmlへの解析はzulからhtmlへの解析よりも高速ですか?

4

3 に答える 3

1

また、EL 式の評価は非常に高速であるため、本番システムで EL を使用できることにも注意してください。一方、zscript は、プロトタイピングまたはクイックフィックスでのみ使用することをお勧めします。
リンク

したがって、1)
2) は高速、低速、または 3) と同じくらい高速になる可能性がありますが、実装によって異なります
が、高速化するには時間がかかる場合があるため、2) はあまり良い考えではありません。
3) 通常は、zul ファイルがはるかに読みやすく、Java コード
と GUI ロジックと GUI 構造が (それほど) 混同されていないため、最適です。

MVC と MVVM のどちらかを選択するには、こちらをお読みください。
それらを混在させることが理にかなっている場合
、フレームワークに問題はないはずです。

于 2013-02-14T11:11:10.133 に答える
1

ZK フレームワークの担当者は、サーバー側をクライアント側から分離することを実際に推奨しています。彼らは、Java コードと ZUL ファイルを混ぜてはいけないと言っていますが、私自身の経験から、それらを混ぜ合わせるとパフォーマンスの問題があるため、それは真実であると言えます。

zscript を最小限に抑え、実際に必要でない場合は除外し、サーバー側でコーディングを処理します。

実際には、Getting Started Tutorial http://books.zkoss.org/wiki/ZK_Getting_Started/Tutorialでかなり明確です。

于 2013-06-19T16:08:05.087 に答える
1

MVVM アーキテクチャを使用することをお勧めします。これは、ZK MVC と MVVM で作業したため、開発を促進します。MVVM アーキテクチャを好みます。プロジェクトが複雑で、そうでない場合は、このアプローチでコンポーネントベースのプログラミングの利点を最大限に活用できます。 MVCアーキテクチャを使用すると頭痛が増しますが、MVCアプローチも使用する必要がある場合がありますが、私の理解では、最良のアプローチはMVVMです

于 2013-02-14T06:49:27.717 に答える