GWT Kurulumu ve hello world projesi
GWT, java yazarak javascript applicationlar olusturmaya olanak veren sahane bir framework. Kurulum soyle:
- Eclipse -> Help -> Install New Software -> http://dl.google.com/eclipse/plugin/3.7
- Android pakedi secilmeyebilir. Kurulum bittikten sonra eclipse kendine restart atmak ister.
- New -> Project -> Google -> Web Application Project
GwtDene1.java
- Finish dedikten sonra eclipse bize kendisi guzel bir gwt application yaratir. Direk run diyip cikti incelenebilir. Serverli clientli on numara bir application kendisi. Yalniz bir kusuru var ki o da cok ileri duzey olmasi. Tabi ki ileri duzey diyince yanlis anlasilmasin yeni baslayanlar icin ileri duzey. Basit bir hello world projesi yaratamiyoruz. En azindan ben beceremedim. Birkac yerde okudugum uzre de bunun icin sikayette bulunmuslar gugila.
- Neyse ben temiz basit bir hello world projesi istiyordum onun icin: proje agacindan server package'inin ve shared package'inin tamamini ve client package'nin icerigini silinir tamamen. Temelden alinir. Client pakedinin icine yeni bir class yaratalir ve adina GwtDene1 dedim. Icerigi asagidaki gibidir:
package com.hakan.GwtDene1.client;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.RootPanel;
public class GwtDene1 implements EntryPoint {
@Override
public void onModuleLoad() {
Label label = new Label("Heyow");
Button button = new Button("Buton bu");
button.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
Window.alert("Blog on numero");
}
});
RootPanel.get().add(label);
RootPanel.get().add(button);
}
}
</code>
GwtDene1.gwt.xml
- EntryPoint belirlenmesi lazim. Java'da bulunan main methodu gibi entrypoint de applicationin nerden baslayacagini tanimlar. Onu gwt xmlinde tanimlanir. Soyle ki benim EntryPointim az onceki GwtDene1 classi idi. Onu xml'e asagidaki gibi yaziyorum:
</code>
GwtDene1.html
- War klasorunun altindaki sayfanin goruntulenecegi xml'in icerigini de duzenlemek gerekiyor. Bu gorecegimiz sayfa aslinda. Gwt'nin ciktisi olan javascript kodu da bu html icinden gosterilir. Burda onemli olan o js dosyasinin duzgun olarak html'de gosterilmesidir. Buyuk kucuk harfe dikkat etmek lazim. html affetmez.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
My First GWT application
My First GWT application
</code>
GwtDene1.css
- Css ile de oynanabilir istek dahilinde.
.gwt-Label {
font: normal 12px tahoma, arial, helvetica, sans-serif;
border: 1px solid black;
}
.gwt-Button {
font-size: 12px;
font-family: arial, sans-serif;
}
</code>
web.xml
- Servlete welcome file inin GwtDene1.html oldugunun gosterilmesi operasyonu bu da.
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee">
GwtDene1.html
</web-app>
</code>
- Run diyince asagidaki gwt console unda soyle bir adres gorunur. Bu adres chrome'da acilir. Chrome bi eklenti yuklemek ister. Let it go. Yuklesin.
GWT Designer kurulumu
Eclipse -> Install New Software -> http://dl.google.com/eclipse/inst/d2gwt/latest/3.7
Designer paleti soyle gorunuyor:
- Kodun tamaminin surdan indirilmesine: