Konačno posle dve bete i jenog RC-a
dobili smo finalnog Tigra. Java 5, o čijim mogućnostima smo već
govorili u našem časopisu, konačno je došla i do finalne verzije na
koju se dugo čekalo. Razvojni ciklus Jave 5 je bio nešto duži nego u
predhodnim verzijama ali spisak noviteta je zaista impresivan tako da je sasvim
opravdan ovoliki razvojni period. Ključne stvari na kojima se radilo u
Javi 5 su veliki broj promena u samom jeziku (nova for petlja, generic,
autoboxing,...) povećane performanse posebno u desktop applikacijama,
veća sigurnost, mogućnost monitoringa JVM-a (java virtuelne mašine),
naravno manje promene su pretrpeli skoro svi delovi standardne Jave. Ova
verzija Jave je verovatno najznačajnije izdanje od kad postoji Java.
Velike promene u jeziku su bile i u verziji 2 (jdk 1.2) ali je tada Java tek
krčila svoj put i nije bila najmasovniji programski jezik na planeti. Sadašnje
promene u samoj sturkturi jezika će imati mnogo veće razmere s
obzirom na popularnost i raširenost Jave. Sve ove promene su tražene od strane
programera ali se sad postavlja pitanje koliko vremena će trebati
programerskim timovima da usvoje nove koncepte i koliko će ove promene da
uspore njihove razvojne cikluse. S obzirom na značajnost promena retko ko
će da ih zanemari i da piše applikacije kao i do sada pošto Java 5 donosi
programerima dugo iščekivanu brzinu i robusnost.
Naravno u Javinom razvojnom ciklusu posle Jave standard edition dolazi Java enterprise edition. Ubrzano se radi na razvoju enterprise Jave ali će mo to kao i uvek do sad da pričekamo, verovatno, nekih šest meseci pre nego što bude gotova. U slučaju Jave 5 može da se desi da čekamo i duže s obzirom na količinu noviteta koje donosi. Svi koji prate razvojni ciklus Jave znaju da se svakih dva do tri meseca pojavi „underscore“ verzija tako da je najavljna i prva dopuna Jave 5 sa oznakom J2SE 5.0_01 za kraj godine koja će imati za cilj samo ispravke bagova koji se budu otkrili do tada. Sun-ovi programeri ne spavaju pa nam već pripremaju nove Jave. Trenutno se podnose zahtevi šta ubaciti u novu sledeću Javu SE (standard edition). Ono što se za sada zna je da će nova Java nositi naziv Mustang biće promovisana, najverovatinje, pod imenom Java 6 i pojaviće se već u proleće 2005. Ovo je dosta kraći razvojni ciklus u odnosu na Javu 5. Ako neko misli da su preuranjene najave za sledeću Javu, jer ni ova još nije zaživela, šta onda reći za najavu Dolphin Jave 7 koja je već sad najavljena za početak 2006-te. Od najavljnih novosti za Javu 6 rečeno je samo bolje performanse, veća sigurnost, otklanjanje što većeg broja bagova...
Kad već govorimo o izgledu, Java 5 donosi novi Look and Feel Synth koji predstavlja xml fajl u kome je definisan izgled aplikacije i potpuno je promenljivo bez učešća programera. Na ovaj način Java aplikacije će dobiti veliku podršku dizajnera. Dizajneri neće biti osuđeni da komuniciraju sa programerima već će samo da dizajniraju a rezultat rada će moći odmah da vide na aplkaciji. Očekujemo uskoro poplavu programa za dizajn Java aplikacija koji će biti orijentisani na dizajnere koji se ne razumeju u programiranje. Synth i njegove mogućnosti će značajno uticati na izgled i popularnost Java desktop aplikacija.
Performanse Java programa su nekada bile očajne zbog čega su mnogi tvrdili da Java ne treba da se koristi za desktop aplikacije. Na svu sreću razvoj procesorske industrije ide na ruku Java programerima. Očigledna je tedencija da se savremeni procesori izrađuju sa duplim jezgrom i sa velikim brojem niti koje ti procesori obrađuju. Java programski jezik je idealan za programiranje u više niti. Nemoguće je napraviti iole veću aplikaciju u Javi a da se ne pokrene bar desetak niti, i to u slučaju da nismo posebno insistirali na nitima. Veliki broj niti omogućava, na procesorima koji to podrzavaju, paralelno izvršavanje velikog broja operacija što Javi donosi značajne performanse. Zahvaljujući velikom broju niti Javine aplikacije bi mogle na procesorima novije generacije da se izvršavaju brže od native aplikacija koje obično koriste mali broj niti. I pored toga SUN ovi programeri intezivno rade na povećanju performansi Java aplikacija tako da možemo očekivati da će budući programeri da se odlučuju za Javu kada budu hteli da prave desktop aplikacije sa dobrim performansama.
Java 5 donosi i još jednu ekstra
mogućnost kad je reč o performansama. Mogućnost da se Swing
aplikacija pokrena kao OpenGL aplikacija odnosno da se iscrtavanje GUI-a u
potpunosti prepusti grafičkoj kartici. S obzirom na mogućnosti savremenih
GPU-a ova mogućnost značajno povećava performanse. Na nekim
testovima koje smo isprobali kod složenih aplikacija sa dosta 2D iscrtavanja
ubrzanje je bilo i do 30%. Ono što je najlepše je način na koji
programirate vašu aplikaciju da koristi OpenGL. Dovoljno je main metodi aplikacije
dodati sledeći red:
System.setProperty("sun.java2d.opengl", "true");
Jedan red i 30% bolje preformanse, ova mogućnost nove Jave 5 je stvarno zadivljujuća.
Ovo je sve tek početak. Projekti poput jmf-a (Java Media Framework), JDIC (Java Desktop Integration Components), Java Screensaver SDK, Tray Icon API, Java Service Wrapper, itd će tek da procvetaju koristaći mogućnosti nove Jave 5. Naravno sad će nastupiti malo zatišije dok programeri ne implementiraju nove mogućnosti Jave u svoje projekte a nakon toga možemo očekivati da Java postane dominantno razvojno okruženje i za dektop aplikacije kao što je trenutno dominantna za web aplikacije.
java.sun.com
jdic.dev.java.net
lg3d.dev.java.net
wrapper.tanukisoftware.org/doc/english/index.html
java.sun.com/j2se/1.5.0/download.jsp
Mateja Opačić – Digital Wizards
mateja@dw.co.yu