New Features of ZK 3.6.2 TW

From Documentation
Revision as of 02:01, 13 September 2010 by Elton776 (talk | contribs) (Created page with '{{Template:Smalltalk_Author| |author=Timothy Clare, Technology Evangelist, Potix Corporation |date=June 22, 2009 |version=3.6.2 }} ZK 最新版本3.6.2 主要重點為效能…')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
DocumentationSmall Talks2009JuneNew Features of ZK 3.6.2 TW
New Features of ZK 3.6.2 TW

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


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



效能改善

效能

在最新版本裡,我們的效能已有大幅的提升和進步,其中最明顯的即是應用程式在瀏覽器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.