PC Press
O nama
O nama
Pretplata
O nama
Postanite saradnik PC-ja
Kontakt sa redakcijom
PC Press
Novi broj
Novi broj   
Pretrazivanje
Arhiva
Arhiva   
PC Online
PC Plus   
Specijalna izdanja
Programiranje Programiranje
PC #126 : Oktobar 2006

 Naslovna  Sadržaj 
Vladimir Lalović  

Bejzik kroz platforme

REALbasic oslobađa programere velike glavobolje - nekompatibilnosti koda na različitim platformama. Ideja je, dakle, prilično stara pa da pogledamo kako je ostvarena u ovoj inkarnaciji.

(kliknite za veću sliku)

Jedan od većih problema sa kojim se programeri susreću je razvoj multiplatformskih aplikacija. Postoje veoma dobri razvojni alati za sve tri vodeće platforme (Mac OS X, Windows i Linux) kao što su Borland Delphi i Microsoft Visual Studio za Windows, Xcode za Mac OS X i Borland Kylix za Linux. Mana ovih alata je što je izvorni (source) kod relativno ili potpuno nekompatibilan za primene na različitim platformama. Ovo iziskuje unošenje promena i prilagođavanje izvornog koda od platforme do platforme, što dalje podrazumeva duži razvoj i na kraju poskupljuje sam proizvod.

Sistemski zahtevi

Razvojni alat REALbasic kompanije REALsoft (www.realsoftware.com i www.realbasic.com ) pretenduje da reši pomenuti problem. Prisutan je na sve tri platforme a kod je 100% kompatibilan osim kada se koriste specifičnosti određene platforme koje ostale platforme ne poseduju (npr. Mac OS X toolbar sadrži mogućnost skrivanja koju druge dve platforme nemaju).

REALbasic je zasnovan na BASIC programskom jeziku (što nije teško zaključiti iz naziva). Ono što će mnoge obradovati je potpuna kompatibilnost sa Microsoft-ovim Visual Basic-om. U prilog ovom ide i činjenica da Microsoft nije razvijao Visual Basic za Mac OS X nego jednostavno uz Office 2003 za ovu platformu isporučuje REALbasic u verziji 5.5. Kompatibilnost obezbeđuje alat koji se isporučuje uz REALbasic i služi za konvertovanje VB izvornog koda u REALbasic. Programerima će se svideti i mogućnost ekstrahovanja objekta iz programa, čime taj objekat postaje eksterni i samim tim se pruža mogućnost korišćenja istog i u drugim projektima.

REALbasic spada u kategoriju „skromnih“ aplikacija. Za Windows i Linux je potrebna mašina na 1 GHz i 256 MB RAM-a dok se za Mac zahteva G3 na 600 MHz i 512 MB RAM-a. Što se softvera tiče, Linux distribucija mora da sadrži GTK 2.0 ili višu verziju, glibc-2.3 ili višu verziju i CUPS (Common UNIX Printing System). Na Mac-u je potreban minimum Mac OS X 10.2.8 Jaguar za pokretanje samog IDE-a, dok kompajlirane aplikacije zahtevaju System 9.1 ili viši ukoliko su u pitanju Classic aplikacije i Mac OS X 10.1 ukoliko je aplikacija za „desetku“. Interesantno je da su aplikacije tipa Carbon (bez obzira što je verzija REALbasic-a 2006) i da uopšte neće biti razvoja Coca kompajlera. Odmah prelaze na kompajler za Leopard-a, novi Apple-ov operativni sistem čija bi beta verzija programerima trebalo da bude predstavljena ovih dana. Što se Windows-a tiče podržane su sve verzije sem „devedesetpetice“.

Razvojno okruženje

(kliknite za veću sliku)

Razvojno okruženje je slično Visual Basic-u i može grubo da se podeli na tri dela: project manager (sadrži spisak formulara, objekata i drugih elemenata koji figurišu u projektu), layout (dizajniranje prozora aplikacije – sa leve strane je toolbar sa kontrolama kojih inicijalno ima preko četrdeset, a sa desne prozor za podešavanje osobina selektovanog objekta) i code editor (tu se unosi kod programa – poseduje osobinu automatskog kompletiranja koda, automatsko „nazubljivanje“ koda i označavanje blokova; svako if je povezano sa svojim else i end if).

Prozori razvojnog dela raspoređeni su u vidu tabulatora tako da je kretanje kroz kod/layout aplikacije koja se razvija jednostavno i pregledno. Kretanje olakšava koncepcija razvojnog okruženja nalik Web browser-u u koji se umesto adresa upisuju nazivi objekata, a prisutne su i ostale osobine kao što su history, kretanje napred-nazad, bookmark itd. U razvojnom okruženju je i sistem za pretraživanje sličan Spotlight sistemu na Mac OS X 10.4 Tiger-u.

Programiranje teče kao u Visual Basic-u, ali postoje neki dodatni elementi. REALbasic je prvobitno razvijen za Macintosh kasnije portovan na Windows i Linux platforme, pa naginje Apple-ovoj koncepciji aplikacija, što se najlakše uočava na menijima. Kod Windows-a i Linux-a meni je sastavni deo prozora, dok kod Macintosh-a postoji samo jedan meni na vrhu ekrana koji se menja u zavisnosti od toga koji je prozor aktivan. Nešto slično se dešava i u REALbasic-u.

U Borland Delphi-ju meni se kreira prevlačenjem komponente na prozor i setovanjem parametara, programiranjem akcija itd. Drugim rečima, meni je sastavni deo formulara kome pripada. U REALbasic-u meni je objekat na nivou aplikacije. Dakle, akcije menija se preko Menu Handler-a dodaju formularu, pa isti meni može da figurira u više različitih prozora i pritom ista stavka u meniju može da ima različite funkcije. Naravno, pozicija menija na ekranu je na onom mestu na kojem matična platforma to nalaže (na Windows-u i Linux-u na vrhu prozora aplikacije, a na Mac-u na vrhu desktop-a). Windows i Linux programerima ovakva koncepcija će na početku biti pomalo čudna ali će se posle veoma kratkog vremena navići i uvideće da je u pitanju prednost.

„Mac uticaj“ je primetan i kod ListBox komponenti (prisutno je sortiranje po kolonama iz samog interfejsa, što programera lišava dodatnog posla), PopupMenu-ja (nazivi window komponenti su preuzeti sa Mac-a tako da je PopupMenu zapravo jedna vrsta ComboBox-a) pa čak i kod samog prozora/formulara. Prisutne su pored vrste prozora standardnih za Windows i vrste koje se pojavljuju samo na Mac-u – nažalost, kompajler prilikom prevođenja Windows aplikacija te dodatne vrste konvertuje u odgovarajuće standardne koje su prisutne na Windows-u tako da nije moguće implementirati Mac-ov „look“ na Windows aplikaciju.

Baze podataka

(kliknite za veću sliku)

Baze kojima REALbasic pristupa možemo da svrstamo u dve grupe: REALbasic native baza REALSoft-a i baze drugih proizvođača. Generalno gledano nema razlike u pristupu bazama ali je podela izvršena iz komercijalnog razloga. REALbasic se isporučuje u dve varijante: Standard i Pro; prva može da pristupi samo REALSoft-ovoj bazi, a Pro svim bazama. Podrška za baze drugih proizvođača je obezbeđena preko plug-in-ova, gde se takođe oseća Mac uticaj. Instalacija se vrši jednostavnim kopiranjem plug-in-a u za to predviđen folder – nema instalacije, konfigurisanja itd.

Spektar baza sa kojima REALbasic može da radi (plug-in-ovi se isporučuju uz Pro verziju) je prilično velik: MySQL, PostgreSQL, Oracle, OpenBase, DBF, dtfSQL Database, CSV, pa čak i 4D (4th Dimension, www.4d.com ). Naravno, prisutna je i mogućnost pristupa bazama preko ODBC-a pa je broj baza praktično neograničen.

Ukoliko za bazu postoji plug-in, REALbasic u svoju sintaksu dodaje i naredbe specifične za datu bazu, a ukoliko se koristi ODBC na raspolaganju je standardni set instrukcija. SQL jezik je u potpunosti podržan. Sve u svemu, REALbasic je pogodan alat za razvoj multiplatformskih front end-ova za velike baze.

Još jedan pogled

(kliknite za veću sliku)

Debuger je prilično standardan ali se izdvaja podrškom za više platformi – u pitanju je remote debug preko debug servera. Ukoliko razvijate, recimo, aplikaciju na Windows-u i želite da vidite kako će da se ponaša na Mac-u ili Linux-u dovoljno je da preko remote debug-a pokrenete aplikaciju na računaru sa traženom platformom i da izvršite debug, a nije neophodno da i na tim računarima imate instaliran REALbasic.

Pored podrške za Unicode REALbasic poseduje i dodatne alate koji vam pomažu da napravite multijezičku varijantu vašeg programa. Sve što treba da uradite jeste da prilikom programiranja poruke stavljate u promenljive, kada završite aplikaciju source snimite u XML format i pokrenete alat pod nazivom Lingua. Program će vam sam dati spisak promenljivih a na vama je da unesete prevod na druge jezike. Nakon toga ponovo kompajlirajte program i eto multijezičke aplikacije.

Rad u REALbasic-u je potkrepljen odličnom dokumentacijom u PDF formatu i veoma dobro urađenom help sistemu. Tu je i mnoštvo primera koji će biti od pomoći kako početnicima tako i profesionalcima koji prelaze sa nekog drugog razvojnog alata na REALbasic. Sve u svemu, ako vam je potreban multiplatformski razvojni alat, REALbasic je na samom vrhu liste. Ako pak svoj rad bazirate na jednoj platformi a tražite dobar razvojni alat REALbasic je takođe jedno od rešenja za vas. U svakom slučaju, potpuno funkcionalnu demo verziju (ograničena je vremenski) možete da preuzmete sa našeg DVD-a ili sa sajta proizvođača (www.realbasic.com ) i da je testirate. Probajte!