ZK Ajax and Mobile Framework

eclipse, servlet, jsp, ajax, java July 10th, 2008

manyaklara merhaba,

teknolojilerin havalarda uçuştuğu günümüzde java ile hem ajax teknolojisine sahip hem de hafif ve hızlı çalışan bir web önyüz framework’ü arayışımız sırasında karşımıza ZK çıkıyor.

ZK framework’ü kısaca, .zul uzantısına sahip xml formatında ya da .zhtml uzantısıyla dhtml formatında source’a sahip, ihtiyacımız olabilecek bir çok hazır kompanenti (modal boxlar, gridler, listeler vs vs) içinde barındıran bir framework.

ZK framework’ünü kullanmaya başlamak oldukça kolay. adım adım anlatalım:

1. http://sourceforge.net/projects/zk1 adresinden zk-bin-3.0.6.tar.gz dosyasını indiriyoruz.

2. bu dosyayı bir yere açıyoruz, içerisindeki dist/lib dizini içerisindeki ve dist/lib/ext dizini içersindeki .jar dosyalarını projemize ekliyoruz (WEB-INF/lib dizinine)

3. web.xml dosyasına aşağıdakileri ekliyoruz:

<?xml version="1.0" encoding="UTF-8"?>
<web-app ...>
	...

	<!-- //// -->
	<!-- ZK -->
	<listener>
		<description>Used to cleanup when a session is destroyed</description>
		<display-name>ZK Session Cleaner</display-name>
		<listener-class>org.zkoss.zk.ui.http.HttpSessionListener</listener-class>
	</listener>
	<servlet>
		<description>ZK loader for ZUML pages</description>
		<servlet-name>zkLoader</servlet-name>
		<servlet-class>org.zkoss.zk.ui.http.DHtmlLayoutServlet</servlet-class>
		<!-- Must. Specifies URI of the update engine (DHtmlUpdateServlet).
		It must be the same as <url-pattern> for the update engine.
		-->
		<init-param>
			<param-name>update-uri</param-name>
			<param-value>/zkau</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>zkLoader</servlet-name>
		<url-pattern>*.zul</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>zkLoader</servlet-name>
		<url-pattern>*.zhtml</url-pattern>
	</servlet-mapping>
	<servlet>
		<description>The asynchronous update engine for ZK</description>
		<servlet-name>auEngine</servlet-name>
		<servlet-class>org.zkoss.zk.au.http.DHtmlUpdateServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>auEngine</servlet-name>
		<url-pattern>/zkau/*</url-pattern>
	</servlet-mapping>
	<!-- //// -->

	<!-- /////////// -->
	<!-- Miscellaneous -->
	<session-config>
		<session-timeout>120</session-timeout>
	</session-config>

	<welcome-file-list>
		<welcome-file>index.zul</welcome-file>
		<welcome-file>index.zhtml</welcome-file>
		...
	</welcome-file-list>
</web-app>

4. new File diyerek index.zul adını veriyoruz

5. index.zul dosyasına aşağıdaki kodu ekliyoruz:

<window title="Hello" border="normal">
    Hello World!
</window>

6. projeyi deploy ediyoruz, test.zul dosyasını browserdan görüntülüyoruz, işte bu kadar!

bir başka örnek:

<window title="Vote" border="normal">
    Do you like ZK? <label id="label"/>
    <separator/>
    <button label="Yes" onClick="label.value = self.label"/>
    <button label="No" onClick="label.value = self.label"/>
</window>

ayrıntıları ZK framework’ün resmi web sitesi olan http://www.zkoss.org/ dan alabilirsiniz.

anlattıklarımı bu adreste http://www.zkoss.org/smalltalks/eclipse/ek.html daha detaylı ve Eclipse için sıfırdan anlatmışlar.

oldukça kolay ve keyifli geliştirilmesi artısının yanında malesef jsf’deki gibi managed bean benzeri bir yapısı olmadığı için tüm data işlerini ve bussiness logic’i .zul kodları içerisinde <zscript> tagleri arasında sanki eskiden jsp’ler içersinde <% %> tag’leri arasında kod yazarmış gibi yazmak zorunda olmanız bana göre büyük bir eksi. gene de hoşunuza gidebilir. ben de biraz daha bakıcam belki severim :)

görüşmek dileğiyle, manyak kalın…


Social Bookmarking
Add to: Mr. Wong Add to: Digg Add to: Del.icio.us Add to: Reddit Add to: StumbleUpon Add to: Slashdot Add to: Netscape Add to: Furl Add to: Yahoo Add to: Google Add to: Technorati Add to: Newsvine Add to: Ma.Gnolia



Başka Manyak Konular


Lütfen Yorumlarınızı bizimle paylaşın.

3 Responses to “ZK Ajax and Mobile Framework”

  1. gkhn Says:

    güzel bir yazı olmus ancak yazının son kısmında yazgıdınız jsp benzeri veya tag lar konusunda bi yanlısınızı duzeltmek isterim. zk da zul dosyası içinde use komutunu kullanarak sıfır java script veya zscript kullanarak arka tarafta full java kodu yazarak uygulama gelistirebilirsiniz…

  2. jasfid Says:

    evet dediğiniz doğru fakat benim orda kastettiğim jsf deki managed bean’ler gibi düzgün bir yapı yok, gene script yazmış oluyorsunuz bir yerde, yanlış mıyım?

  3. gkhn Says:

    yok aslında script hic yazmıyorsunuz(zscript veya javascript) tamamen java kodlama yaparak zk ile butun uygulamanızı yazabilirsiniz. Buna gerekirse zul uzantılı on yuzlerimizde dahil.

Leave a Reply

Site Navigation

Categories

Archives

Meta

Recent Enteries

Recent Comments

FireStats iconPowered by FireStats