PD KUTAK<>
042007<><>

Google Web Toolkit 1.3.3

Javom do JavaScripta

Iz dana u dan standardi koji se postavljaju pred Web aplikacije postaju sve viši, donoseći sve više mogućnosti na koje smo navikli u klasičnim aplikacijama. Dok za korisnike aplikacija ovaj napredak predstavlja čistu dobit, programerima nije nimalo lako da isprate savremene trendove razvoja u ograničenom okruženju Web čitača. Ako svemu ovome dodamo i popriličan haos koji vlada u svetu browsera, nije ni čudo što veliki broj kvalitetnih programera (suočen sa ogromnim poslom koji se pred njih postavlja) odustaje od razvoja aktivnih Web aplikacija.

Pomenuti problemi svakako su najbolje poznati Googleu koji predstavlja lidera u ovoj oblasti. Stoga nije ni čudo što je upravo ova kompanija iznedrila Google Web Toolkit (u daljem tekstu GWT), alat koji Web programere oslobađa svih pomenutih problema, omogućavajući im da aplikacije razvijaju u Javi, pre nego što ih iskompajliraju u JavaScript kôd koji savršeno „trči” u svim popularnim browserima. GWT je nastao kao delo svega dvojice ljudi, Brusa Džonsona (Bruce Johnson) i Džoela Vebera (Joel Webber), koji su želeli da reše prethodno opisane probleme programera, tim pre što i sami spadaju u tu kategoriju.

Osnovna ideja GWT-a jeste da se aplikacija razvija u Javi, pri čemu su funkcionalnosti JavaScripta ugrađene u niz GWT Java biblioteka koje korisnici po potrebi koriste. Programeri po želji mogu da koriste bilo koja od popularnih Java razvojnih okruženja koja po pravilu nude niz pogodnosti koje povećavaju produktivnost, kao što je automatsko dopunjavanje koda, provera tipova podataka u toku editovanja koda, automatsko generisanje dokumentacije i slično. GWT aplikacije se mogu pokretati u dva moda, Hosted i Web. U Hosted modu Java virtuelna mašina izvršava aplikaciju kao Java bajt-kôd što omogućava njeno debagovanje u veoma sofisticiranim Java razvojnim okruženjima kao bilo koje druge Java aplikacije. U Web modu se izvršava JavaScript kôd koji je nastao kao rezultat kompajliranja Java koda i to je obično poslednji korak razvoja kada se proverava funkcionalnost aplikacije u različitim browserima koje aplikacija podržava.

Aktuelna verzija GWT-a je 1.3.3 i raspoloživa je za Windows, Mac OS X i Linux. Windows verzija zapakovana je u arhivu veličine 13 MB koja se po preuzimanju raspakuje u željeni direktorijum i spremna je za korišćenje, bez potrebe za bilo kakvim instaliranjem. Naravno, da bi GWT mogao da se koristi, na računaru morate imati Java SDK koji je potrebno downloadovati sa Sunovog sajta i instalirati. Od raspoloživih okruženja za razvoj Java aplikacija najtoplije preporučujemo Eclipse koji GWT inicijalno podržava, besplatan je i nudi zaista odlične mogućnosti za razvoj. Detaljna uputstva za korišćenje GWT-a, bilo samostalno ili u sprezi sa Eclipseom, mogu se naći na oficijelnom sajtu programa.

U sklopu GWT-a isporučuju se dve aplikacije (applicationCreator i projectCreator) koje se izvršavaju iz komandne linije. Prva aplikacija, applicationCreator, koristi se za kreiranje svih neophodnih datoteka za GWT aplikaciju, uključujući i batch datoteke za kompajliranje i pokretanje projekta. Druga aplikacija, projectCreator, koristi se u kombinaciji sa applicationCreatorom za kreiranje neophodnih projektnih fajlova koji omogućavaju da aplikacije razvijate iz Eclipse okruženja. Korišćenje ovih aplikacija veoma je jednostavno i detaljno opisano na GWT sajtu tako da se na njihovom opisivanju nećemo više zadržavati.

Pogledajmo sada kako čitava stvar izgleda iz programerskog ugla. Prva stvar oko koje će se iskusni JavaScript programeri zapitati jeste u kojoj meri je GWT aplikacije moguće uklopiti sa postojećim Web aplikacijama i mogu li se one jednostavno iskoristiti za dodavanje novih funkcionalnosti postojećim stranicama bez odbacivanja funkcionalnosti koje već postoje. Odgovor je u svakom pogledu pozitivan budući da se GWT aplikacije veoma fleksibilno sprežu sa postojećim Web stranicama, bez potrebe da se stranice naročito prilagođavaju za njih. Dovoljno je na postojeću stranicu dodati nekoliko metatagova koji definišu GWT aplikaciju i uključiti skript koji je generisao GWT kompajler i GWT aplikacija će raditi nezavisno od ostatka stranice. Stepen kontrole sadržaja stranice je širok – od mogućnosti da se izlaz GWT aplikacije prikazuje u samo jednom elementu stranice definisanom jedinstvenim ID-jem, pa sve do potpune kontrole stranice gde GWT aplikacija vodi računa o rasporedu svih elemenata na strani.

Svakako jedna od najvećih olakšica koje GWT donosi jeste jednostavno kreiranje naprednog korisničkog interfejsa. Elementi korisničkog interfejsa se u GWT terminologiji nazivaju Widgets i obuhvataju veliki broj komponenti, od onih najjednostavnijih kao što su tekstualne labele, tekst polja, selekti, ček-boksovi, preko raznih vrsta tabela, pa do naprednijih komponenti kao što su stabla, padajući meniji ili dijalozi. Raspoređivanje Widgetsa na željene pozicije na stranici vrši se pomoću panela koji su kontejneri u koje se oni dodaju pre nego što se postave na stranicu. Ovakav način raspoređivanja komponenti na stranici Java programerima je dobro poznat iz Swinga i SWT-a, a dobra dokumentacija i jednostavnost koncepta omogućavaju i početnicima da se lako snađu u kreiranju korisničkog interfejsa.

Izgled Widgetsa nije fiksiran i lako se modifikuje korišćenjem CSS-a koji GWT u potpunosti podržava. Ukoliko nijedan od postojećih Widgetsa ne nudi željenu funkcionalnost ili izgled, kreiranje novih je veoma jednostavno i moguće ga je vršiti na više načina, od proširenja funkcionalnosti postojećih Widgetsa pomoću klase Composite, pa sve do kreiranja „od nule”, kada se Widgets piše iz početka u JavaScriptu. Iz dana u dan lista postojećih Widgetsa raste i na Internetu se već sada može naći puno interesantnih elemenata kojima možete obogatiti svoje aplikacije.

Izgled bez funkcionalnosti naravno ničemu ne služi tako da je posebna pažnja u GWT-u posvećena interakciji sa korisnikom. Reagovanje na akcije korisnika definiše se reagovanjem na događaje (Events), a to se postiže implementiranjem odgovarajućih interfejsa u klasama koje definišu ponašanje aplikacije. Postoje različite vrste interfejsa koje se mogu implementirati, od onih koji prate pritiske na dugme miša (ClickListener), preko onih koji prate specifične događaje u browserima, pa sve do onih koji prate tastaturu. Opisani koncept omogućava temeljno definisanje reakcije aplikacije na akcije korisnika.

Iako GWT sadrži većinu funkcionalnosti koje programeru mogu biti potrebne u vidu Java klasa, mogućnost ubacivanja JavaScript koda direktno u GWT aplikaciju može dobro doći. GWT nudi ovu mogućnost zahvaljujući implementiranom interfejsu JSNI (JavaScript Native Interface). Dovoljno je koristiti ključnu reč native u definiciji funkcije koja sadrži JavaScript i u okviru specijalno formatiranih komentara ubaciti JavaScript kôd i kompajler će bez problema prihvatiti ovako formatiran kôd.

Ono što AJAX Web aplikacije čini tako moćnim jeste korišćenje asinhronih poziva koje je u GWT-u veoma dobro podržano. Implementiranjem odgovarajućih interfejsa jednostavno se kreiraju asinhroni pozivi, a podacima dobijenim od servera lako se manipuliše korišćenjem ugrađenih XML ili JSON parsera. Za napredne korisnike, GWT podržava i RPC mehanizam prenosa Java objekata između klijenta i servera, što programerima daje izuzetne mogućnosti za razvoj kompleksnih aplikacija.

Dok trenutno aktuelna verzija 1.3.3 GWT-a nudi zaista odlične mogućnosti, uskoro bi svetlost dana trebalo da ugleda i verzija 1.4 koja, prema najavama, treba da donese nekoliko značajnih unapređenja. Pored ispravke postojećih bagova i optimizacije kompajlera, biće dodat veliki broj novih Widgeta od kojih su svakako najinteresantniji rich text editor sa spelingom, horizontalni i vertikalni spliteri, suggest box i još puno sinih detalja.

Sigurno je da kod iskusnih JavaScript programera, uprkos impresivnim mogućnostima koje GWT nudi, postoji izvesna doza podozrenja i straha da neće imati potpunu kontrolu nad aplikacijom koju razvijaju, budući da se aplikacije pišu u Javi koja predstavlja dodatni sloj između programera i browsera. Iskustva autora teksta, koji je imao iste strahove pre prihvatanja GWT-a, pokazuju da se radi o alatu koji pruža fantastične mogućnosti kontrole izgleda i ponašanja aplikacije koji, u kombinaciji sa komforom rada u Javi i naprednim razvojnim okruženjima, drastično smanjuje vreme razvoja iole ozbiljnih Web aplikacija, a sve to bez vidnog uticaja na performanse. Kada jednom osetite lakoću razvoja u GWT-u, više nikada nećete poželeti da se vratite JavaScriptu...

Dejan STEFANOVIĆ

 
ProgDVB 5.04
Super DVD Player 5.0
Microsoft Virtual PC 2007
WinTricks 4.0p
Bandwidth Meter Pro 2.1
Cowon JetAudio Basic 6.2.8
Uninstall Tool 2.1
Internet History Eraser 6
Google Web Toolkit 1.3.3
Šta mislite o ovom tekstu?
Belarc Advisor – Free Personal PC Audit 7.2k
FreshView 7.10
dvdSanta 4.00

Potrebno:
Windows, Linux, Mac OS X
Veličina:
13 MB, 23,5 na HD
Cena:
Program je besplatan
Adresa:
code .google .com /webtoolkit
Home / Novi brojArhiva • Opšte temeInternetTest driveTest runPD kutakCeDetekaWWW vodič • Svet igara
Svet kompjutera Copyright © 1984-2018. Politika a.d. • RedakcijaKontaktSaradnjaOglasiPretplata • Help • English
SKWeb 3.22
Opšte teme
Internet
Test Drive
Test Run
PD kutak
CeDeteka
WWW vodič
Svet igara



Naslovna stranaPrethodni brojeviOpšte informacijeKontaktOglašavanjePomoćInfo in English

Svet kompjutera