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
Softver Softver
PC #120 : Mart 2006 Knjiga 50 godina racunarstva u Srbiji

 Naslovna  Sadržaj 
Jovan Bulajić  

Poslednji Borland Delphi

Delphi 2006 je najbolja verzija ovog razvojnog alata do sada, ali će verovatno biti i poslednja koju je objavio Borland - čitava paleta razvojnih alata biće uskoro prodata nekoj drugoj firmi. Razloga za upgrade ima dovoljno, kao i za razmišljanje u kom smeru će se nastaviti razvoj ovog jezika.

(kliknite za veću sliku)

Kao i kod prethodne verzije, zvanični naziv ovog paketa nije Delphi 2006, već Borland Developer Studio 2006 (skraćeno BDS), pošto Borland potencira činjenicu da paket predstavlja mnogo više od Delphi-ja. Kada je predstavljena, prethodna verzija 2005 objedinila je tri varijante razvojnih alata i okruženja, odnosno tri „ličnosti“. To su Delphi za „klasične“ Windows aplikacije (Win32), Delphi za Microsoft .NET i C# Builder u .NET varijanti, a novi član paketa Borland Developer Studio 2006 je Borland C++ Bulder. Jedno vreme je bila nepoznanica šta će se desiti sa C++ Builder-om koji je ipak preživeo (za sada), ali uz BDS 2006 instalaciju dolazi Preview verzija koju treba naknadno nadograditi na konačnu verziju. C++ Builder i dalje podržava „samo“ Win32 aplikacije, a .NET podrška je u najavi za neku od sledećih verzija.

Varijacije na temu

Zanimljivo je što Borland svoje razvojne alate i dalje prodaje kao tri različita proizvoda. Možete kupiti Delphi 2006, C++ Builder 2006 ili C# Builder 2006, ali će bez obzira šta piše na kutiji sadržaj paketa biće identičan – dobićete instalaciju za Borland Developer Studio 2006, sa svim njegovim komponentama.

(kliknite za veću sliku)

Kao i do sada, postoje tri verzije Delphi odnosno BDS paketa, sa različitim nivoima mogućnosti. Professional paket nudi sve osnovne mogućnosti za rad, dok je sledeći nivo naprednija Enterprise verzija koja dodaje podršku za dodatne servere baza podataka (dbExpress za VCL/VCL.NET, odnosno BDP za ADO.NET), timski rad, UML modeliranje (Together) i alate za razvoj Web aplikacija (IntraWeb, WebSnap). Najkompletnija i najskuplja Architect varijanta nudi dodatne opcije za modeliranje i punu podršku za ECO III – najnoviju verziju Enterprise Core Objects okvira za razvoj aplikacija koristeći UML (Unified Modelling Language) i OCL (Objects Contraints Language).

Najjeftinija Standard verzija za sada ne postoji – moguće je da će se ponoviti slučaj verzije 2005, kada Standard nije inicijalno ponuđen, ali se naknavno pojavio (i u nekim slučajevima je čak deljen besplatno uz časopise). Takođe je moguće je da će Delphi 2006 ostati bez Standard varijante koja bi se teško mogla izboriti sa ponudom besplatnih razvojnih alata raznih firmi.

Deseti Delphi

(kliknite za veću sliku)

Delphi 2006 je deseta verzija do sada, a ako računamo i staro Turbo Pascal vreme, onda je u novi Delphi ugrađena osamnaesta generacija Paskal kompajlera. Tako je Borland uspeo da održi obećani tempo predstavljanja novih verzija – od kada je 1995. predstavljen Delphi 1, nove verzije su se pojavljivale svake godine, sa izuzetkom 2000.

Neizvesnosti u vreme pojave nove verzije ovog puta nije bilo, i pored toga što je baš u to vreme Borland napustio Danny Thorpe, koji je sa pozicije glavnog naučnika otišao u Google (zanimljiva paralela – svojevremeno je sa slične pozicije Anders Hejslberg otišao u Microsoft). Mnogo više bure izazvala je nedavna izjava rukovodstva da će Borland napustiti tržište IDE razvojnih alata i prodati Delphi – ovo će u predstojećem periodu verovatno biti jedna od glavnih tema za diskusiju među korisnicima Borland-ovih alata.

Glavni noviteti koje je doneo Delphi 2006 su veća brzina i stabilnost okruženja, nekoliko korisnih opcija pri radu sa izvornim kodom, poboljšani šabloni koda, nove opcije debagera kao i poboljšanja postojećih VCL i VCL.NET komponenti. Enterprise i Architect verzije donose i nove opcije za modeliranje aplikacija i timski rad, kao i novi ECO. Dok je u prethodnim verzijama ECO bio ekskluzivni deo Architect paketa, sada je osnovna funkcionalnost ubačena u sve verzije počevši od Professional.

(kliknite za veću sliku)

Borland se već ranije jasno opredelio za podršku Microsoft .NET platformi (neki bi rekli da je jedan od jakih razloga bila finansijska pomoć koju je Microsoft pružio Borland-u), pa je onda čudno što Borland kasni sa podrškom za novu verziju .NET Framework-a. Tako Borland-ovi alati za 2006. godinu i dalje podržavaju „samo“ .NET Framework 1.1, dok je Microsoft Visual Studio 2005 već doneo .NET 2.0.

Delphi 2006 okruženje je pretrpelo manje kozmetičke izmene u odnosu na verziju 2005, ali je i dalje ostalo blisko onome kako izgleda Microsoft Visual Studio, što je vrlo različito od Delphi verzije 7. Može se delimično simulirati način rada D7 sa plutajućim prozorima, ali će onima koji su navikli na stara Delphi okruženja a nisu koristili Visual Studio i dalje biti potreban period navikavanja. Za sistem pomoći se koristi Microsoft Document Explorer (isti kao MSDN, odnosno sistem u VS) koji nema sve opcije koje su se nalazile u starom help-u, pa preporučujemo da imate pri ruci i help iz Delphi-ja 7.

Brzina, konačno

Delphi 2006 je primetno brži od verzije 2005, a samo startovanje i inicijalizacija okruženja obavi se skoro dvostruko brže. Recimo, na našem računaru prethodna verzija se startovala oko 40 sekundi (na sporijim konfiguracijama ovo je moglo da potraje i koji minut), a nova verzija je spremna za 20 sekundi. Još brže će biti ako ne startujete Borland Developer Studio sa svim njegovim komponentama, već prečicu koja aktivira samo željeno okruženje. Tako će Delphi za Win32 da se startuje za 10 sekundi, čime je jedna od ozbiljnih primedbi korisnika na Delphi 2005 uvažena. Ubrzanje je postignuto time što se učitavaju samo moduli potrebni za izabrano okruženje, iako je BDS osnova zajednička za sve i startuje se samo sa drugim argumentom iz komandne linije. Tako se iza prečice za Delphi for Microsoft Win32 krije poziv bds.exe -pDelphi.

Jedan od razloga zašto je Delphi brži nego ranije je to što je promenjen način rada sa memorijom, a novi sistem je zasnovan na poznatom open source projektu FastMM (sourceforge.net/projects/fastmm ). Ovaj memory manager će biti uključen i u sve Win32 aplikacije koje kompajlira Delphi 2006, što znači da bez ikakvih izmena u kodu, samim rekompajliranjem projekta možete poboljšati performanse postojećih programa.

Prebacivanje iz režima rada sa izvornim kodom u dizajner formulara je ostalo sporo – kada recimo pritisnete F12 da bi iz vizualnog dizajnera prešli u izvorni kod, promena će se desiti odmah, ali u suprotnom smeru (povratak u dizajner formulara) očekujte mali zastoj. Pošto Delphi 2006 ne može istovremeno prikazati izvorni kod i formular na način kako je to moguće u Delphi-ju 7, ovo može usporiti rad u fazi projekta kada je potrebno često se prebacivati između različitih načina pregleda, ili se prebacivati između različitih formulara, kada se takođe oseća usporenje.

(kliknite za veću sliku)

Pored bržeg okruženja, Delphi 2006 ubrzava i rad nekim novim opcijama. Sistem rada sa šablonima koda nazvan Live Templates zamenjuje stare opcije Code Snippets i Code Templates. Kada počnete sa unosom nekog tipičnog koda, recimo for kao početak for...next petlje, Delphi će prikazati i popuniti potreban kod, pri čemu će čak automatski dodati liniju u kojoj je definisana potrebna promenljiva (var i: integer). Možete podesiti kada će Delphi pozivati ove šablone, a i dalje se može koristiti prečica sa tastature Ctrl+J. Dostupno je više šablona za kreiranje tipičnih blokova koda, a šabloni su smešteni u XML datotekama pa se mogu dodatno prilagoditi korisniku.

Varijanta korišćenja šablona su Surround Templates, kojima obeleženi segment koda možete automatski ubaciti u neku konstrukciju, recimo petlju ili try...finally blok, uz automatsko nazubljivanje koda. Takođe se mogu koristiti opcije za kompletiranje koda, pa će begin blokovi biti dopunjeni odgovarajućim end, a kad unesete try i pritisnete Enter, biće popunjeni finally i end. Ovaj sistem se menja zavisno od korišćenog jezika, pa će u slučaju C# projekta kucanje { odmah dodavati i zatvorenu zagradu }.

Još neka poboljšanja

(kliknite za veću sliku)

Izgled editora koda je malo promenjen, pa se sada brojevi sa leve strane ne prikazuju više za svaku liniju (kao što je to radio Delphi 2005) već samo za trenutno aktivnu i svaku desetu liniju, dok su ostale naglašene tačkicama i crtama. Change Bars je novi sistem obeležavanja izmena u kodu, prikazan pre brojeva linija sa leve strane – različitom bojom biće označene linije koje su izmenjene tekućoj seansi korišćenja, pri čemu je zelenom označeno ono što je već snimljeno, a linije sa izmenama koje nisu snimljene naglašene su žutom bojom.

Kod VCL dizajnera formulara vredi isprobati Dynamic Alignment Guides i Design Guidelines, koji služe za lakše podešavanje pozicija više kontrola na ekranima za unos podataka. Recimo, ako na formularu postoji više kontrola (TEdit, TButton itd.), pri povlačenju neke od njih Delphi će prikazati male linije koje će vas voditi do pravilne pozicije gde treba smestiti kontrolu, tako da bude u ravni sa drugim.

Poboljšana su oba ugrađena debagera (onaj za Win32 i onaj za .NET aplikacije), uz dodavanje mogućnosti za remote debugging (praćenje izvršavanja na udaljenom računaru) i nekoliko funkcionalnih poboljšanja. Sada u Watch listi i Local Variables prozoru možete odmah pratiti hijerarhiju i pregledati osobine izabranih objekata, bez potrebe za otvaranjem dodatnih Inspector prozora. Ako su tokom sesije korišćenja debagera bili otvoreni neki dodatni prozori (recimo sa izvornim kodom sistemskih funkcija u kojima su detektovane greške), na kraju rada svi oni mogu biti automatski zatvoreni.

(kliknite za veću sliku)

VCL biblioteka komponenti se i dalje proširuje, pa su ovaj put dodate TGridPanel i TFlowPanel radi stavljanja kontrola koje će biti automatski preraspoređene sa promenom veličine panela – ne morate više da hvatate OnResize događaj i eventualno menjate pozicije i veličine raspoređenih kontrola. Novitet je i TTrayIcon komponenta koja omogućava lakše pravljenje aplikacija koje se pojavljuju kao ikona u systray-u. Dodate su klase TCustomTransparentControl (osnova za pravljenje transparentnih kontrola), TMargins i TPadding. Neke postojeće komponente su proširene novim osobinama, recimo za TControlBar i TToolbar se sada može definisati da se pozadina iscrtava u postepenim prelazima između dve boje.

Ima noviteta i u podršci za rad sa bazama podataka, pa je tako dbExpress potpuno integrisan u Database Explorer. Borland Data Providers (BDP), .NET komponente za rad sa bazama podataka, konačno mogu da rade connection pooling, što može poboljšati performanse prilikom povezivanja sa bazama podataka. Dodata je podrška za nove verzije poznatih baza podataka, recimo SQL Server 2005 i MySQL 4 – ova podrška je ubačena i u dbExpress (VCL, odnosno Win32) i u BDP (.NET).

Čak je i Object Pascal jezik doneo nekoliko novina, od kojih je verovatno najznačajnija to što record tipovi sada mogu imati osobine i metode, kao i konstruktore koji će biti automaski izvršeni (destruktori nisu podržani). Ovako definisane strukture jako liče na definiciju klase, ali i dalje imaju sve osobine record tipova – recimo, prenose se preko steka, po vrednosti, a ne po referenci.

Razlozi za upgrade

(kliknite za veću sliku)

Posle brzopleto predstavljene i nekompletne verzije 8 koja je brzo pala u zaborav, Delphi 2005 je doneo mnoge novitete ali i sporije okruženje, dok je Delphi 2006 vratio izgubljenu brzinu, pružio još malo novih opcija i konačno dao dobar razlog da se razmotri upgrade sa starog, dobrog Delphi-ja 7. Nažalost, neke operacije su i dalje ostale sporije u odnosu na D7 okruženje, ali uz sve brže računare to više nije tolika prepreka. Najveća dilema biće da li treba sada izvršiti prelazak ili ostati na proverenom D7 i sačekati razvoj situacije, odnosno vesti o tome ko će preuzeti IDE segment od Borland-a i kakvi će biti njegovi planovi.

Potencijalna smetnja prelasku na Delphi 2006 može biti korišćenje dodatnih komponenti, za koje sada treba pronaći novu verziju. Ako za komponente postoji izvorni kod, onda je uglavnom dovoljno ponovno kompajliranje i eventualna izmena uslovnih direktiva koje proveravaju verziju Delphi-ja. Stara proveravanja VERxxx direktive (i uslovnog prevođenja koda, zavisno od verzije) treba zameniti sa {$ifdef VER180}, gde je VER180 konstanta oznake verzije koja definiše Delphi 2006. Ako ne postoji izvorni kod komponente, treba se obratiti proizvođaču komponente za novu verziju. Do sada je veliki broj popularnih paketa komponenti već prebačen na Borland Delphi 2006, ali uvek postoji opasnost da proizvođač kasni ili je napustio razvoj, što treba na vreme proveriti i pripremiti neke alternative.

Najčešći problem prilikom prebacivanja starih aplikacija su FastNet i QuickReports kontrole koje su dolazile uz ranije verzije Delphi-ja. U slučaju (pra)starih FastNet biće neophodna prerada koda i prebacivanje na mnogo bolji Indy. QuickReports je poslednji put bio intergralni deo Delphi-ja u verziji 6, uz D7 je dolazio kao opcija ali se morao naknadno instalirati, a Borland je posle toga prestao da uključuje QR u Delphi paket. Na sreću, QuickReports se i dalje održava i prodaje kao poseban paket, pa najnovija verzija QR 4 postoji i za Delphi 2006.

Ako još niste nabavili Delphi 2006 a želite sami da probate kako radi, sa www.borland.com/downloads/download_delphi.html možete preneti probnu verziju paketa (pre toga je potrebna besplatna registracija). Probna verzija je zasnovana na verziji Delphi Architect 2006, Update 1, sadrži Delphi 2006, C++ Builder 2006 i C# Builder 2006, a može se koristiti do 30 dana.

Pravci razvoja

Borland je prošle godine predstavio planirane pravce razvoja u trogodišnjem periodu do kraja 2007. godine. Prvu stepenicu na tom putu predstavljao je proizvod sa šifrovanim nazivom Delphi DeXter, a planirana su poboljšanja performansi, ECO III i Borland C++ Builder. Ova poboljšanja su zaista urađena, odnosno našla su mesto u Delphi-ju 2006. Za ovu godinu (odnosno Delphi Highlander, Delphi 2007 ili kako god se bude zvala sledeća verzija), planira se podrška za .NET 2.0, konačan završetak podrške za .NET Compact Framework, kao i ECO za VCL.NET (da podsetimo, verzije koje stižu uz Delphi 2005 i 2006 su samo za WinForms). Za sledeću verziju najavljen je i 64-bitni kompajler (kako za .NET, tako i za Win32 aplikacije). I konačno, u planovima za 2007. godinu (Delphi Longhorn) nalazi se završetak managed C++ kompajlera, kao i podrška za Avalon, Indigo i WinFX (osnove prezentacionih i komunikacionih tehnologija za Windows Longhorn), ali će ostvarenje ovoga zavisiti i od dinamike Microsoft-a u predstavljanju sledeće generacije Windows okruženja.

Preporučene cene za Borland Delphi 2006 su povećane u odnosu na prethodnu verziju 2005 – najskuplja Architect verzija sada košta oko 3490 USD, Enterprise je 2490 USD a Professional 1090 USD. Cene za upgrade verzije su 2290, 1490, odnosno 460 USD. Veća cena se pravda većim mogućnostima koje stižu u paketu, ali onima koji koriste samo deo ponuđenih opcija (recimo samo Delphi za Win32) nije lako opravdati isplativost nabavke, naročito ako se u ovom trenutku još uvek ne zna pod čijim imenom i kada će biti ponuđena sledeća verzija. Ipak, Delphi 2006 je najbolji Delphi do sada i mnogima će pružiti dovoljno razloga za upgrade.

Korisne adrese:

Mikrokom
Timocka 5, Beograd
tel: 011/457-311