Borlandov par

Objavljeno: 5.1.2006 21:09 | Avtor: Uroš Mesojedec | Kategorija: Programer | Revija: Maj 2004

Dva najpomembnejša Borlandova izdelka sta pred kratkim izšla v novih, prelomnih različicah.

Borlandov paradni konj, združeno razvojno orodje za programiranje v javi, JBuilder, je od nedavna na voljo že v desetem rodu, tokrat simbolično označenim z "X". Nova različica Delphija, silno uspešnega orodja za hiter razvoj programov, ki razveseljuje programerje že skoraj deset let, pa dodaja object pascal med prvovrstne programske jezike za programiranje ogrodja .net.

JBuilder X

Vztrajati na vrhu je težko. Rimska števka naj bi označevala novo vizijo in res lahko ugotovimo, da je po razmeroma majhnih spremembah, ki sta jih prinesli 8. in 9. različica, Borlandu uspelo dohiteti in v določenih pogledih znova prehiteti konkurenco. Z oznako "X" se med Borlandovimi izdelki trenutno ponuja tudi C++ Builder, s čimer je simbolično označena sorodnost kodne osnove obeh izdelkov. Uspešnost od podlage neodvisnega razvojnega okolja za javo je odgovorne može pri Borlandu prepričala, da so na istem temelju prestavili tudi od podlage neodvisno razvojno okolje za C in C++. Podobno, kot je že prej dokazal IBMov Eclipse, je sodobna java sposobna učinkovito izvajati tudi zahtevne namenske programe z bogatim grafičnim uporabniškim vmesnikom. Medtem ko je IBM za učinkovito delovanje okolja Eclipse razvil posebne gradnike grafičnega vmesnika, pa Borland vztraja pri standardnih javanskih gradnikih Swing in skupaj z JetBrains, avtorji konkurenčnega razvojnega okolja IntelliJ IDEA, dokazuje, da je s pravim pristopom mogoče tudi s Swingom izdelati odzivne namenske programe. Cena, ki jo plačamo za to, pa je še vedno pomnilniška požrešnost. Za JBuilder X se priporoča vsaj 512 MB RAM, za udobno delo pa ga je dobro imeti vsaj dvakrat toliko.

JBuilder X

Kot je že v navadi, je Borland ponudil širok nabor različic JBuilderja, od brezplačne do visoko zmogljive, ki je še vedno pregrešno draga. Res pa ponuja zelo veliko orodij za učinkovit razvoj. Tako bomo samo v različici Enterprise našli modelirnik UML, orodje za izdelavo poročil Crystal Reports in možnost povezave na vse pomembnejše programske strežnike (WebSphere, WebLogic, Sybase, Sun One in celo JBoss). Najzmogljivejši graditelj ponuja še vgrajeni načrtovalec spletnih storitev in ogrodje Apache Cocoon. Borland še vedno ponuja tudi posebno različico JBuilderja, prilagojeno rabi s strežnikom WebLogic.

Izbira "osebnosti" projekta lahko iz uporabniškega vmesnika odstrani vse tiste elemente, ki jih začasno ne potrebujemo.

Osebnosti

Najbolj očitna in ena najzanimivejših novosti JBuilderja X (JBX) je prilagajanje delovnega okolja potrebam projekta. Med lastnostmi projekta najdemo novo skupino nastavitev, Personality, s katero lahko podrobneje določimo, katere zmožnosti razvojnega okolja so za nas pomembne. Z enim samim klikom lahko npr. izklopimo podporo skupinskemu delu in uporabniški vmesnik bo nemudoma postal nekoliko preglednejši. Če bomo podporo skupinam pozneje potrebovali, jo z enako lahkoto spet vklopimo. Neodvisno je mogoče izklapljati in vklapljati še podporo poslovni javi (J2EE), zbirke podatkov, predmetni posrednik CORBA, XML, preizkušanje enot, modeliranje UML, vizualni urejevalnik grafičnega vmesnika in programiranje prenosnih naprav (J2ME). Da nas klestenje zmožnosti razvojnega okolja ne bi preveč zapeljalo, temeljnih storitev JBuilderja (urejevalnik, prevajalnik, razhroščevalnik) ni mogoče izklopiti. Glede na velikanski nabor funkcionalnosti, ki jih ponuja JBX, so "osebnosti" izvrsten pripomoček, s katerim se laže osredotočimo na značilnosti posameznega projekta. Če se, denimo, ukvarjamo s programiranjem prenosnih napravic, res ne potrebujemo orodjarn, menujev in jezičkov za poslovno javo.

Zaradi osebnosti projekta ima JBX spremenjeno urejanje nastavitev. Stari par pogovornih oken z nastavitvami okolja in urejevalnika je zdaj združen in s tem ga je laže uporabljati. Ker izbrane osebnosti vplivajo celo na nabor nastavitev, ki so na voljo, je nova rešitev za povrh še preglednejša. Najdemo lahko nove koristne nastavitve, kot je izgradnja projekta v ozadju (Tools|Preferences...|Browser|Build|Build in background).

Usklajeno popravljanje je zelo priročna možnost, s katero hitro popravimo vse enake elemente kode v označenem bloku.

Možnost skrivanja nepotrebnih podrobnosti najdemo tudi v posameznih orodjih vmesnika. Strukturni pogled npr. omogoča, da s priročnim drsnikom določamo stopnjo zaščite vidnih elementov v njem. Zelo preprosto lahko prepoln seznam skrčimo zgolj na javne dele razreda in pozneje spet prikažemo vse.

Načrtovanje

Izgradnja bolj zapletenih programov mora temeljiti na dobrem načrtu. Za izgradnjo modelov predmetnih programov se je uveljavil dejanski industrijski standard, modelirni jezik UML. JBX ga podpira, a žal le v najdražji različici, kjer pa je zgledno vgrajen kot sestavni del urejevalnika. Modelirnik UML je poseben jeziček, podobno kot ima svoj jeziček načrtovalec grafičnega uporabniškega vmesnika. Tudi modelirnik UML je dvosmerno povezan z izvirno kodo, torej se spremembe v diagramu samodejno odrazijo v programski kodi, tako kot se tudi diagram samodejno posodablja ob pisanju kode. Edina zahteva za popolno usklajenost je prevajanje, saj sprotni členitelj kode ne zmore razrešiti vseh odvisnosti, ki so potrebne za pravilen diagram UML. Na to, da zadnje spremembe še niso bile prevedene, nas v diagramu vedno spominja dobro vidno opozorilo.

Diagram UML je najbolj koristno uporabiti za izgradnjo modela bolj zapletenega programa, v katerem medsebojno sodeluje večje število razredov. Njegova vloga pa s tem ni končana. V diagramu je seveda tudi pozneje mogoče precej bolj pregledno spreminjati medsebojna razmerja razredov, spreminjamo pa lahko tudi imena metod in njihovih parametrov. Mogoče je tudi izvleči vmesnike ali vpeljati nadrazred, ki povzame skupne značilnosti več izbranih razredov. Ko se ukvarjamo z diagramom, nam nadvse uporaben okvir s strukturnim pogledom na kodo prikazuje vse medsebojne odvisnosti razredov. JBX omogoča celo shranjevanje diagrama v bitno sliko PNG.

Med številnimi čarovniki najdemo tudi pripomoček za distribucijo, ki javanski program "ovije" z domorodnim izvedljivim programom za ciljno podlago. Uporabniki našega programa bodo tako laže pognali naš izdelek.

Koda

Urejevalnik kode prinaša pričakovane poslastice, kot je možnost strnjenega prikaza (collapse) posameznih metod, razredov ali celo skupine stavkov import na vrhu. JBuilder je od nekdaj slovel po členitelju kode, ki med vnosom v ozadju analizira program in prikazuje njegove značilnosti v strukturnem pogledu. JBX gre še nekaj korakov naprej. Členjenje kode celo preizkuša pravilnost napisanega in sproti opozarja na pogoste napake pri vnosu. Na pozabljena podpičja nas bo redko opozarjal prevajalnik, saj se že ob vnosu pokaže poseben simbol, ki opozarja na težave, v strukturnem pogledu pa imamo zbrana vsa opozorila. Pri klicu metode ali dostopu do lastnosti se sploh ne moremo več zmotiti, saj urejevalnik sam popravi vnos v ime obstoječe metode ali lastnosti predmeta, ki je po abecedi najbližja vnesenemu. Tudi druge skladenjske napake (manjkajoči zaklepaj, odprt niz...) bomo zlahka opazili in izkoreninili že ob samem vnosu.

Predelovanje kode (refactoring) je bilo področje, na katerem je JBuilder zaostajal za konkurenco. JBX prinaša pomembne dopolnitve predelovanja, ki je bilo predstavljeno v prejšnji različici. Predelovanje ima celo svoj glavni menu, ki se samodejno prilagaja segmentu programske kode, v katerem smo. Poleg preprostejših tehnik predelovanja, kot je spreminjanje imena paketa, razreda, metode ali parametrov, je na voljo precej predelav za metode. Te lahko z eno potezo prestavimo iz izpeljanih razredov v skupni nadrazred ali nasprotno, iz nadrazreda v vse potomce. Posebna predelava omogoča prenos izbranega bloka kode v ločeno metodo. JBX zna celo optimizirati zaporedje stavkov import.

Urejevalnik prinaša še nekaj nadvse dobrodošlih novosti. Ena je usklajeno urejanje (SyncEdit), za katerega se lahko samo vprašamo, kako da ga nismo imeli že prej? Če označimo blok kode, se prikaže ikona, s katero lahko vklopimo usklajeno urejanje. Če ga vklopimo, bo sprememba elementa kode samodejno uskladila celoten označeni blok. Tako lahko na enem mestu spremenimo npr. razred String v StringBuffer in sprememba se bo poznala pri vseh nizih v bloku. Enako lahko v bloku z eno potezo spremenimo vse pojavitve spremenljivke x, ki jo preimenujemo v y.

Dopolnjeno je tudi barvno označevanje kode. Med drugim nam JBX posebej označi "mrtvo" kodo, npr. metode, ki jih nihče ne kliče.

Izgradnja in optimizacija

JBX ponuja pregleden prikaz projekta, ki je celo dopolnjen z datotečnim brskalnikom. To zna včasih priti še kako prav, saj lahko osnovno delo z datotekami in mapami opravimo, ne da bi zapuščali delovno okolje. Za nadzor nad izgradnjo projekta ponuja JBX tudi podporo orodju Ant, in sicer njegovo svežo različico 1.5.4. Ant je v javi zasnovano orodje, ki omogoča popoln nadzor nad vsemi podrobnostmi izgradnje programa s pomočjo datoteke v zapisu XML. JBX te datoteke podpira celo v urejevalniku in nam za posamezne oznake ponuja sprotno pomoč (Tag Insight). Seveda pa nam jih ni treba ustvarjati ročno. JBX vsebuje čarovnika, ki bo na podlagi našega projekta pripravil in pozneje tudi osveževal datoteko XML, potrebno za orodje Ant.

Najzmogljivejša različica JBX vsebuje pripomoček OptimizeIt, ki v razvojno okolje doda štiri orodja za izboljševanje zmogljivosti programov. Eden izmed njih je Profiler, ki meri porabo pomnilnika in procesorskega časa za izbrane segmente kode. Orodje Code Coverage podrobno spremlja, katera koda se izvaja, Thread Debugger pa olajša spremljanje obnašanja posameznih niti programa. Meritve vse orodij povzame Progress Tracker, ki nam olajša iskanje ozkih grl programa, ki se jih izplača izboljšati.

Celoten cikel

V skladu z novo filozofijo podjetja je Borland tudi JBX pripeljal iz združenega razvojnega orodja v enotno okolje, ki spremlja celoten življenjski cikel programa. Od njegove zasnove in modeliranja prek kodiranja in razhroščevanja do distribucije in vzdrževanja. Vsi ti postopki se lahko odvijajo v skupinah, ki morajo zgledno sodelovati. JBX ponuja vsem udeležencem, ki sodelujejo v procesu razvoja programske opreme v javi, izvrstna orodja. Z izboljšavami urejevalnika in novimi pripomočki za predelavo kode so JBX izpilili v izdelek, ki bo lahko še nekaj časa ohranjal primat na trgu. A trg razvojnih orodij za javo je brutalen. Silno bogata ponudba, ki jo dopolnjujejo tako velikani računalniške industrije kot novi igralci s svežimi idejami, vsak dan prinaša več. Številna zmogljiva orodja so na voljo celo brezplačno. Vprašanje je, koliko časa bo Borland še lahko za najzmogljivejši različico JBX zahteval toliko denarja.

Borland JBuilder X

Kaj: Vizualno razvojno orodje za javo.

Na voljo za: MS Windows, Linux, Solaris (ker je razvit v javi načeloma deluje na vseh podlagah, ki imajo sodoben JRE).

Zahteve: Procesor zmogljivosti PIII, 500 MHz; 512 MB RAM in 760 MB diska.

Izdeluje: Borland, http://www.borland.com/jbuilder/.

Prodaja: Marand, http://www.marand.si/.

Za: Bogat nabor orodij za celoten življenjski cikel programske kode.

Proti: Cena najzmogljivejše različice, za optimalno delo potrebujemo zelo zmogljiv računalnik.

Delphi 8

Borland je ljubiteljem pascala, ki so rasli in se učili programiranja s turbo pascalom, v Oknih ponudili Delphi. Izdelek je postal veliko več kakor okenska različica priljubljenega orodja za DOS (in še prej CP/M), osvojil je tudi srca številnih programerjev, ki pascala prej niti niso poznali. V skoraj desetih letih je po Borlandovih podatkih našel skoraj dva milijona programerjev. Z Delphijem je (object) pascal postal programski jezik, ki je omogočal popolno izkoriščanje podlage Win32.

Delphi 8

Prihodnost programiranja Oken pa se je preselila drugam, na ogrodje .net (.NET Framework). Delphiju je v prejšnjih različicah uspelo slediti vsem novostim Oken, z Delphijem 8 pa je pred nami še različica, ki omogoča programiranje ogrodja .net. V resnici je oznaka izdelka nekoliko zavajajoča, saj Delphi 8 nima skoraj nič z Delphijem 7. Pravzaprav je prejšnja različica priložena novi, za vse tiste, ki bi še vedno želeli programirati podlago Win32 (podobno, kot je bil že davno nazaj Delphiju 2 priložen Delphi 1 za programiranje 16-bitnih Oken). Delphi 8 je tako v resnici nekakšen "Delphi#".

Ogrodje .net, čeprav omogoča programiranje v številnih programskih jezikih, v resnici preferira C#. V skladu s tradicijo sveži Delphi na njej ne igra stranske vloge, temveč dodaja object pascal med prvovrstne programske jezike za programiranje ogrodja .net. Seveda je to nujnost, če želi Borland ohraniti zvestobo sedanjih uporabnikov, ki si v kar 75 % želijo čim hitreje presedlati na novo podlago.

Modeliranje z gradniki ECO združuje prednosti modelsko usmerjenega razvoja in hitre izdelave programov.

Nova podlaga

Delphi 8 (D8) je, kot rečeno, prvovrstno orodje za programiranje podlage .net. Programsko kodo v object pascalu prevede v vmesni jezik IL (Intermediate Language) za CLR (Common Language Runtime), skupni imenovalec vseh programskih jezikov ogrodja .net.

Tako prevajanje samo po sebi še ne bi bilo dovolj za prvovrstnega člana podlage. Programi, razviti v D8, lahko izkoriščajo vse knjižnice ogrodja, predvsem ASP.NET za spletne storitve, ADO.NET za dostop do podatkovnih virov in Windows.Forms za namenske programe z grafičnim uporabniškim vmesnikom.

A Borland ne bi bil Borland, če ne bi poskrbel za kar največjo možno združljivost z obstoječo kodo. Na ogrodje .net so zato prenesli praktično celotno knjižnico VCL. Prenos obstoječe kode je s tem precej olajšan, čeprav ne bo šlo brez manjših ali večjih težav, odvisno pač od posameznega programa. Programi v Delphiju, ki so izdatno izkoriščali klice podlage Win32, bodo zahtevali izdatne posege. Bolj "čista" koda, ki izkorišča zgolj gradnike VCL, pa bo lahko prenesena bistveno hitreje.

Paleta izhodišč novega projekta je bogata.

Modelsko usmerjen razvoj

D8 si deli jedro s še enim Borlandovim izdelkom, C# Builderjem, prvi zmogljivim razvojnim orodjem za .net, ki ni prišel iz Microsofta. Skupaj z njim D8 ponuja modelsko usmerjen razvoj programov s pomočjo gradnikov ECO (Enterprise Core Objects).

Borlandove bogate izkušnje s hitrim razvojem programov (RAD, Rapid Application Development), ki so omogočile uspeh Delphija, odsevajo tudi v pripomočkih za modeliranje, ki postajajo stalnica njihovih sodobnih razvojnih orodij. Skupaj z nekaj strateškimi nakupi je Borland pod eno streho zbral vse potrebno znanje in tehnologije, da lahko danes med prvimi ponudi praktično modeliranje programov, ki je po njihovih trditvah vsaj za leto dni pred konkurenco.

Orodja za modeliranje v D8 temeljijo na standardih organizacije OMG (Object Management Group) in vključujejo modelirnik UML ter še nekatere povezane standarde, s katerimi lahko opišemo delovanje zapletenih programov, ne da bi se spuščali v podrobnosti programskega jezika ali podlage, na katerih se bo program izvajal.

Mnenje avtorjev D8 je bilo, da preveliko ločevanje modela od dejanske izvedbe ne vpliva pozitivno na učinkovitost dela, zato so pripravili ogrodje gradnikov ECO, ki omogočajo tako načrtovanje modela (design-time) kot izvajanje programa (run-time) znotraj ogrodja .net. Uporabniki D8 tako ohranjajo prednosti modelsko usmerjenega razvoja, hkrati pa ves čas delajo s programskimi predmeti, ki tvorijo izvirno kodo.

Žal so vsi ti priboljški na voljo le v najdražji različici D8 (Architect).

Razvojno okolje

Večina Borland Development Studia, skupnega jedra D8 in C# Builderja, je razvita kar nad ogrodjem .net, zato ne preseneča, da je zunanji videz razvojnega okolja bolj podoben Visual Studiu.net kakor prejšnji različici Delphija. Stvari pa se spremenijo, ko pogledamo izvirno kodo zgledov in nabor gradnikov. Prav presenetljivo je, kakšno stopnjo združljivosti izvirne kode jim je v Borlandu uspelo ohraniti. Programerji v Visual Basicu lahko še enkrat le ljubosumno povesijo pogled.

Kljub nekaterim razlikam v primerjavi s predhodnikom je uporabniški vmesnik izboljšan. Starim znancem so se pridružila nova uporabna orodja, kot je osrednji brskalnik, upravnik projektov, raziskovalec podatkovnih virov in seveda modelirnik. Novi vmesnik je tudi bolj prilagodljiv.

Kljub revoluciji v drobovju je sestavljanje programov presenetljivo podobno delu v prejšnjih različicah. Orodjarna z gradniki je sicer na nekoliko nenavadnem mestu, toda v njej najdemo stare znance, kot sta gradnika TEdit in TButton. Seveda le, če smo za izhodišče novega projekta izbrali knjižnico VCL. D8 omogoča tudi za ogrodje .net bolj običajen način izgradnje vmesnikov, s knjižnico Windows.Form, ki pa ima nekoliko drugačen programerski vmesnik.

D8 omogoča tudi izgradnjo spletnih programov, katerih uporabniški vmesnik so spletne strani in storitve in izkoriščajo knjižnico ASP.NET. Za zaprisežene "delfijaše" pa je tudi v projektih z VCL na voljo internetna knjižnica Indy, tako da lahko celo v ogrodju .net z internetom delajo na bolj "tradicionalen" način.

Ker je D8 prvovrstno orodje za ogrodje .net, lahko z njim sestavljamo tudi zbirke (assemblies) in gradnike (.net components) za druga programska orodja ogrodja.

Kljub velikim spremembam v drobovju ostaja koda dobro prepoznaven object pascal. Če za razvojno knjižnico izberemo VCL, je prenos obstoječe kode še toliko lažji.

Staro in novo

Delphi je za Borland še vedno nadvse pomemben izdelek. Sedanji uporabniki, ki ga bodo želeli izkoristiti za programiranje ogrodja .net, bodo z njim vsekakor dobili učinkovito orodje, ki ohranja kar največjo združljivost s staro različico, hkrati pa ponuja vse priboljške ogrodja .net.

Največja pomanjkljivost D8 za obstoječe uporabnike, na katero pa Borland žal ne more vplivati, je odsotnost številnih gradnikov neodvisnih ponudnikov, ki so se v desetletju obstoja izdatno namnožili. Le redko kateri bolj zapleteni program v Delphiju je razvit brez pomoči kakega dodatnega gradnika, ki v ogrodju .net verjetno (še) ni na voljo. Po drugi strani je Delphi spet ujel vse smeri sodobnega razvoja za Okna in bo lahko izkoriščal bogato ponudbo gradnikov za ogrodje .net, ki so že na voljo, v prihodnosti pa bo njihovo število še precej večje. Da ne bo pomote, tako kot druga razvojna orodja za ogrodje .net zna tudi D8 izkoriščati obstoječe gradnike COM, vprašanje pa je, kako se bodo specifični dodatki za Delphi znašli v novih okoliščinah.

Borland Delphi 8

Kaj: Vizualno razvojno orodje za ogrodje .net.

Na voljo za: MS Windows.

Zahteve: Procesor zmogljivosti PII, 450 MHz; 128 MB RAM in 700 MB diska.

Izdeluje: Borland, http://www.borland.com/delphi/.

Prodaja: Marand, http://www.marand.si/.

Za: Prvovorstno orodje za ogrodje .net, gradniki ECO.

Proti: Cena najzmogljivejše različice.

Naroči se na redna tedenska ali mesečna obvestila o novih prispevkih na naši spletni strani!
Prijava

ph

Komentirajo lahko le prijavljeni uporabniki