From Documentation

Jump to: navigation, search




  • Author
    Timothy Clare, Technology Evangelist, Potix Corporation
  • Date
    June 22, 2009
  • Version
    3.6.2


ZK 最新版本3.6.2 主要重點為效能的提升,您將在各家瀏覽器直接感受到其中的差異,尤其IE6 瀏覽器最為明顯。 除了在效能方面的進步之外, 相信您也能在此最新版本發現我們新增了許多強大的功能, 同時也修正了48個以上的臭蟲。 現在就跟著我們一起來看3.6.2 新增了哪些功能吧!



Contents

效能改善

效能

在最新版本裡,我們的效能已有大幅的提升和進步,其中最明顯的即是應用程式在瀏覽器IE6上運行的速度!我們在tabbox 裡測試了約430 個控制項

以下圖表即為測試結果:

Test Result Test Result


首先,你會在圖表上注意到,ZK 3.6.2 在所有的測試中都有極為突出的表現! 當執行操作系統模式初始化時,ZK 3.6.2 的速度為3.6.1 的三倍。另外,在初始化預設模式時, ZK 3.6.2 的速度也比 3.6.1 快整整兩倍。

不僅如此,在標籤轉換測試中,我們也能在操作系統按鈕模式看到顯著的效能增益: ZK 3.6.2 的速度為3.6.1的兩倍。而ZK 3.6.2 的預設按鈕模式在轉換標籤時,效能也遠超過ZK3.6.1。

由測試結果來看,如果您開發的是一個非常需要高效能的應用程式時,我們將建議你使用系統按鈕模式,因為這帶來的效能增益將遠遠超過預設模式。 測試用控制項完整列表如下:


MenuBar * 1

Menu * 12
borderlayout *2
Tabbox * 1
Tab * 2
Tabpanel * 2
Window * 6

Vbox * 2

Grid * 2
Listbox * 2
Listitem * 15
Listcell * 100
Label * 100
Button * 100

Include模式

當我們在ZUL檔案裡使用include元件時,常會出現一些問題,問題通常發生在元件出現之前,我們無法介入元件的生命周期。 而這個問題在ZK 3.6.2以後的版本將不再出現。關鍵在於我們應用了新的模式:include模式。目前共有三種include模式:延遲、即時和自動模式。而3.6.2之前版本中的include 標籤行為和目前的預設模式是相同的,皆為延遲模式。

Instant 模式

因為使用了Execution.createComponent功能,Instant模式能立即產生頁面,也就是說,因為下了初始化命令,他們可以直接與用戶連結,因此並不會有任何混亂或問題產生。 以下程式將為您示範如何設定Instant 模式:

<window title="demo" border="normal">
	<include mode="instant" src="include.zul" />
</window>

Auto 模式

Auto模式將會挑選最適合inclusion type的模式列入類型。如果inclusion是ZUL檔,即時模式將自動被設定為最合適模式,反之,則為延遲模式。 下面的程式將為您示範如何完成自動模式設定:

<window title="demo" border="normal">
	<include mode="auto" src="include.zul" />
</window>

將Auto 模式設為預設值

我們建議您在使用include元件時使用自動模式,同時也將自動模式設為預設值。只要將字元集變數加到您的zk.xml設定檔,即可完成。

以下的XML將示範如何完成這項設定:


<library-property>
        <name>org.zkoss.zul.include.mode</name>
 	<value>auto</value>
</library-property>

新功能介紹

指令碼標籤

有些時候,你會需要include 一些JavaScript程式,但希望它是被放在head 標籤裡。我們現已在此版本引入了新的指令標籤,這將讓您能更有效率地使用該指令的指令元件。

<?script type="text/javascript" src="/a/b.js"?>

支援Google App Engine

ZK 3.6.2現已支援Google App Engine,讓您能輕鬆地在Google雲端上運行ZK應用程式!如欲了解更多詳細的安裝程序,請參閱我們的 操作方法

指令初始化

使用者現在將能給予初始化指令更有意義參數名字,而不再只是arg0或arg1,而這也將提供開發者一個更全方面的開發環境。

<?init class="foo.Foo" some="a value" some2="another value"?>

屬性文件的位置配置

ZK 3.6.2現在提供了一個更加方便和靈活的方式,讓使用者能從已知位置來下載i18n property檔案。透過使用library屬性設定,開發者將能夠改變組織文件夾的結構。

<library-property>
    <name>org.zkoss.util.label.web.location</name>
    <value>/WEB-INF/i3-label.properties</value>
</library-property>



Copyright © Potix Corporation. This article is licensed under GNU Free Documentation License.

You got stuck here?
Let us know why!
For questions please use the forum