JavaSvet - otvorena java zajednica

 
glavna stranica arr2javasvet  english version arr2java.net

Novosti sa Java Fronta

Mateja Opačić
24 Okt 2004
Članak je objavljen u časopisu "COM", broj 156, strana 24.

Stigao Tigar

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.

Šta dalje?

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...

Desktop Java

Dugo se smatralo da je Java programski jezik za web i da nema šta da traži na polju desktop aplikacija. Da SUN-ovi razvojni tim ne misli tako pokazuje i veliki broj mogućnosti ubačenih u novu Javu 5. Verovatno će za koju godinu, kad programeri savladaju sve mogućnosti nove Jave, da se pojavi prava poplava Java desktop aplikacija. U tome će im pomoći neki od projekata koji se trenutno razvijaju. Recimo SUN-ov projekat Looking Glass. Iako je već bilo reči o ovom projetu, očekuje se nov uzlet sa novim mogućnostim koje donosi Java 5 jer će sad biti zaista moguće napraviti ceo dektop kao jednu Java aplikaciju. Zahvaljujući mogućnosti deljenja virtuelne mašine na više aplikacija pri čemu se ne učitavaju klase koje već postoje u JVM-u Java aplikacije će se startovati i izvršavati u takvom okruženju brže nego native aplikacije. Ovo je naravno jedan od noviteta Jave 5. Nadamo se samo da će SUN angažovati dobar tim dizajnera jer bez dobrog dizajna ceo projekat je osuđen na propast kod krajnjeg korisnika. Krajnji korisnici u većini nisu zainteresovani toliko za ugrađene tehnologije koliko za izgled. SUN je već par puta omanuo kad je dizajn u pitanju pa se nadamo da će to biti ovog puta bolje urađeno.

Izgled po volji

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 po želji

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.

I za kraj početak

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.

Korisni Linkovi

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