U vrijeme kada je izašao, Borlandov Delphi je bio revolucionaran – prvi profesionalni alat za izradu grafičkih (GUI) aplikacija na Windowsima. U to vrijeme konkurencija su mu bili Visual C++, koji je u svom nazivu dobio riječ "visual" samo iz političkih razloga, i Visual Basic koji je zaista bio vizualno orijentiran alat, ali po mogućnostima igračka. Delphi je s druge strane radio velike poslovne aplikacije kao "prave" programe uz revolucionarno dobar alat za dizajn GUI prozora koji je integriran u cijeli proces izrade aplikacije. Danas sve to naravno zvuči smiješno i bespredmetno, ali da nije bilo Delphija, zasigurno danas ne bi bilo .Neta u sadašnjem obliku. Među ostalim, poznata je činjenica da je Microsoftov tim za razvoj .Neta prihvatio "prebjege" iz Borlanda koji su u njega donijeli gomilu odličnih inovacija (u to vrijeme se softverske tvrtke nisu razbacivale patentima za trivijalne stvari kao danas). Osobna procjena ovoga autora je da je Microsoft tek u zadnjih par godina počeo dostizati lakoću korištenja baza podataka iz GUI aplikacija koju je Delphi imao 1995. Možda je, kao i Sun, Borland imao odlične inženjere, ali i bio previše naivan s poslovne strane. Nadmoćna popularnost jezika nalik C-u (C++, C#, Java, PHP i drugi) je također imala utjecaj na pad korištenja Delphija čiji je osnovni jezik Pascal.
Danas je tvrtka pod nazivom Borland podružnica tvrtke Micro Focus International i bavi se uslugama i proizvodima za vođenje poslovanja i projekata, a dio koji je radio razvojne alate na kraju je završio u tvrtci Embarcadero Technologies. Stoga je i proizvod pod povećalom ovog teksta Embarcadero RAD Studio XE Architect.
Korak naprijed, korak nazad
Instalacija proizvoda zauzima oko 1,5 GB prostora i traje otprilike koliko je očekivano s obzirom na zauzeće. Po tradiciji, uz sam glavni proizvod instalacijski postupak može donijeti oveću količinu raznih demo, trial i drugih "posebnih" alata i biblioteka za koje korisnici obično prekasno otkriju da nisu besplatni ili da će im prestati podrška u sljedećoj verziji.
Među ovima su alat CodeSite za logiranje ponašanja aplikacije tijekom izvođenja, QualityCentral za prijavu grešaka i zahtjeva (bug tracker), AQTime profiler performansi izvođenja koda, Rave Reports za izradu izvještaja i obrazaca iz podataka baze podataka i, konačno, klijent za Subversion za verzioniranje i upravljanje programskim kodom (version tracker, SCM), s integracijom u sam IDE. Subversion je alat koji svakako vrijedi preporučiti svima koji rade na pisanju i razvoju koda i šteta što nije prije bio uključen.
Glavni dijelovi RAD Studija XE su razvojna okruženja za Delphi (Pascal) i C++. U oba slučaja radi se o onom što se nekada zvalo "VCL" okruženje, što znači da im je namjena stvaranje "pravih" Windows izvršnih programa (Win32 EXE – što uključuje i web-aplikacije i web-servise kroz ISAPI i interne servere). Ovo je bitno jer postoji i grana proizvoda koja stvara .Net (CLR) aplikacije – u novom poretku stvari to je Delphi Prism. Sama razvojna okruženja su po svemu sudeći rađena u neobičnoj kombinaciji VCL i .Net koda, što ponovno nije pomoglo njihovoj stabilnosti. Nažalost, čak i ova najnovija verzija pati od sitnih, iritantnih bugova u sučelju i bibliotekama koji su stalni pratilac Delphija od ranih verzija. Oni na koji smo naišli srećom nisu katastrofalni za razvoj aplikacija, ali jednostavno umanjuju ukupan dojam finalnog proizvoda.
Pokušaj miješanja jezika u jednom projektu (u smislu da je jedan modul/unit u Pascalu, a jedan u C++-u) završio je zanimljivo: dodavanje C++ modula u Delphi projekt nije uspjelo, ali je dodavanje Delphi modula u C++ projekt uspjelo. Otprilike je jednako moguće da je ovo namjerno ograničenje kao i da se radi o bugu u IDE-u. Razina integracije ova dva jezika je prilično velika. Kako je Delphi originalni proizvod, podrška za C++ se prilagođavala ovome – što je s obzirom na velike razlike između ABI-ja Pascala i C++-a ogroman poduhvat. Po svemu sudeći (i zapravo nažalost), lakše je naći programere koji znaju C++ i programirat će u jeziku koji ima sintaksu C++-a i API Pascala, nego koji će naučiti Pascal za par tjedana. Kratak benchmark compilera govori da C++ i Pascal compileri proizvode otprilike jednako efikasan kod.
Modeliranje
U RAD Studio Architect ugrađena je veza između programskog dijela i modeliranja UML alatom. Iako je modeler ponešto neuglednog izgleda, sadrži dvosmjernu vezu s kodom koja je za sve praktične svrhe u realnom vremenu – promjene u modelu se odmah održavaju na sam kod.
Modeler sadrži repozitorij s ovećim brojem predefiniranih uzoraka modela (patterns) koji ima funkciju biblioteke često korištenog koda (ili barem predložaka često korištenog koda). Ovo se dobro uklapa uz druge interne repozitorije koje je Delphi imao od početka – na primjer unaprijed dizajniranih prozora i komponenti. Nažalost ovo dovodi do malo pretjeranog kopiranja koda. Na primjer, kreiranjem patterna Iterator u dva unita će se kreirati interface IIterator u oba – što su tehnički dva različita simbola iako su implementacije identične. Programeri koji paze na ove stvari naravno mogu ih popraviti u kodu.
Modeliranje može početi od modela pa dovesti do generiranja koda ili početi s kodom iz kojega će se kreirati UML model. Oba načina funkcioniraju prilično dobro sve dok se radi o implementaciji unutar jednog unita – kada projekt sadrži više unita s međusobno povezanim klasama, modeliranje postaje nespretno. Iz dijagrama i modela može se generirati dokumentacija u HTML obliku koja jako podsjeća na JavaDoc (samo s ružnijim grafičkim elementima).
Analiza
Kao ozbiljan proizvod, RAD Studio sadrži i alate za analizu koda tijekom njegovog izvođenja. CodeSite je alat za logiranje poruka tijekom izvođenja aplikacije koji osim običnih korisničkih poruka može logirati i cijele objekte (serijalizirane). Poruke se mogu zapisivati lokalno ili poslati na udaljeno računalo. S druge strane, za analizu performansi koda koji je procesorski zahtjevan prisutan je alat AQTime. Ovo je klasičan profiler koji korisniku može dati popis funkcija koje se najčešće ili najduže izvode, u svrhu pronalaženja koda kojem je potrebna optimizacija. Oba alata su proizvodi vanjskih tvrtki i u RAD Studiju prisutni u verzijama s ograničenim funkcijama, ali su za početak dovoljni za većinu namjena.
Na kraju, postavlja se pitanje za koga je nova generacija Delphi alata. S jedne strane su tu stari korisnici koji trebaju upgrade. Nažalost, količina promjena je relativno mala i uglavnom koncentrirana u dodatnim alatima umjesto IDE-u i osnovnim klasama (VCL). Na primjer, podrška za izradu 64-bitnih aplikacija još uvijek nedostaje (i nije jasno kako će biti izvedena, ako ikad, jer VCL je ogroman i interno vrlo integriran).
Za nove korisnike je možda najznačajnije pitanje koliko imaju povjerenja u budućnost ove platforme. U prilog korištenju Delphija idu lakoća izrada profesionalnih, pravih aplikacija za Windowse (koje ne trebaju runtime kao .Net), koje mogu na iznimno lagan način koristiti baze podataka, u jeziku i okruženju koji su jednostavni za korištenje. Delphi je, nalik C#-u, jezik prilagođen izradi modernih aplikacija i puno lakši od recimo standardnog C++-a, no definitivno više nije na popisu 10 najpopularnijih programskih okruženja. Sveukupno, Delphi (i RAD Studio) nisu loši alati, a učenje novih programskih jezika bi trebalo biti prirodno za sve aktivne programere. Padu popularnosti Delphija su više pridonijele poslovne odluke i promjene u industriji nego tehnički problemi.
- Kod:
-
http://uploading.com/files/7388m389/radstudio_xe_win_esd.zip/