Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!
Zadejte Vaši e-mailovou adresu:
Kamarád fotí rád?
Přihlas ho k odběru fotomagazínu!
Zadejte e-mailovou adresu kamaráda:
Delphi
Borland Delphi Studio 7
serial
18. listopadu 2002, 00.00 | Přinášíme vám zhodnocení nejnovější verze produktu firmy Borland pro vývoj aplikací pro Windows, který jistě není třeba představovat. Pokud vás tedy trápí otázka "koupit či nekoupit?", je toto článek pro vás.
{Úvod, instalace a první dojmy} ÚvodPřed několika měsíci vydala firma Borland novou verzi svého vývojářského nástroje Delphi, pojmenovanou Delphi Studio 7. Nyní vám přinášíme její zhodnocení, které by vám mělo tuto verzi přiblížit a snad i usnadnit rozhodování, pokud uvažujete o jejím pořízení.
Pro začátek bych chtěl říct, že nejsem databázový programátor. Databáze považuji za poněkud nudné a podle toho také bude vypadat má recenze databázových částí Delphi. Obdobně tomu bude i s webovými službami - nepoužívám je, a tak se neodvažuji jejich podporu v Delphi příliš posuzovat. V recenzi se spíš zaměřím na to, co potěší "klasické" programátory. Během recenze si také dovolím předpokládat, že čtenáři už mají zkušenosti s nějakou předchozí verzí Delphi.
Co se samotného zkoumání produktu týče, měl jsem k dispozici edici Architect. Na rozdíl od předchozích verzí Delphi, které se uvolňovaly ve třech provedeních (u Delphi 6 zvaných Personal, Professional, Enterprise), v nové verzi přibyla právě edice Architect. Borland dává k dispozici srovnání všech variant, takže si můžete prohlédnout jejich vybavení.
Co najdete v krabici?K verzi Architect se toho dodává poměrně hodně: CD s Delphi Studiem samotným, doplňkové nástroje Companion Tools (2 CD), Delphi Studio for .NET Preview, Bold for Delphi, Borland Enterprise Server, e-Learning a "light" verze Kylixu (vše po jednom CD). Mimochodem Kylix je "light" proto, že narozdíl od standardní verze neumí jazyk C/C++.
Největší část krabice zabírají tradičně manuály - největší je několikasetrsránkový Developer's Guide, o něco tenčí jsou pak Quick Start (název mluví za vše) a Language Guide, obsahující popis jazyka Object Pascal (v této verzi bůh ví proč přejmenovaného na Delphi Language). Jako bonus si můžete pověsit na zeď schémata knihoven VCL a CLX. Kde jsou ty doby, kdy byla VCL tak malá, že jsem skoro celé schéma uměl nazpaměť...
InstalaceInstalace probíhá celkem standardně, pomocí průvodce postaveném na technologii Windows Installer. Má ale pár mušek, např. těsně před vybíráním komponent k instalaci se z ničeho nic instalátor zeptá na nastavení just-in-time debuggeru - to by měl dělat někde na konci instalace a navíc přímo v průvodci, nikoliv otravným vyskakovacím dialogem.
Po instalaci je nutná registrace, kterou Delphi nabídnou při prvním spuštění. Registrace probíhá opět za pomoci průvodce a pokud je počítač připojený k internetu a máte už u Borlandu konto, je záležitostí několika vteřin. Jenom nechápu, proč musí mít průvodce tak nestandardní vzhled a jiná písma oproti jiným programům.
Velice pozitivní vlastností, kterou mnoho konkurenčních produktů nemá, je snášenlivost Delphi se staršími verzemi sebe sama a s jinými produkty Borlandu. Osobně mám na počítači nainstalovány Delphi ve verzích 3, 4, 6 a 7 a k tomu ještě C++ Builder 5 a vše funguje bez problémů.
První spuštěníPo prvním spuštění ze Delphi zeptají znovu, zda je chci registrovat jako just-in-time debugger. Proč? Vždyť jsem to snad už zodpověděl při instalaci! Co dělalo testovací oddělení Borladnu, když testovali instalaci - spalo?
Poté naběhne samotné IDE - a přijde první šok: Office XP-like menu a úplně jiné ikony. V každé knížce o návrhu uživatelského rozhraní najdete místo, kde se píše o konzistenci, využívání standardních systémových barev a ovládacích prvků. Že to nedodržel Microsoft u Office XP přece neznamená, že se Borland musí opičit. Nové ikonky jsou navíc nepodobné jakýmkoliv jiným, místy jsou to zase jen namodro přebarvené staré... Prostě hrůza.
Někdo si možná řekne, že na vzhledu přeci tolik nezáleží, že podstatná je funkčnost. To je pravda, ale v případě Delphi mi chybí důvod, proč se od konzistentního vzhledu odchylovat, nota bene když v minulé verzi vše bylo v pořádku. Připadne mi to jako náznak politiky "novinky za každou cenu".
Kromě uvedených změn v menu a ikonkách vypadá prostředí vcelku stejně, jako ve verzích předchozích, i když pár drobných vylepšení se najde (např. zrychlení technologie Code Insight; vlastnosti objektů v inspektoru, které byly změněny - tj. nemají defaultní hodnotu - jsou tučně). Nejde ale o nic, co bych pak při práci s předchozími verzemi vyloženě postrádal - tedy kromě jedné věci: Podrobných nastaveni varování kompilátoru. V Delphi 6 mě totiž vždy štvalo, když hlásily spousty varování týkajících se portability do Kylixu - neexistovala možnost, jak je vypnout, a ve vzniklé záplavě varování se ty důležité ztratily. Nyní jde vše podrobně vyladit v okně Project|Options.
Jak nové Delphi Studio vypadá, se můžete podívat na obrázku:
[-more-]{Změny a novinky} Změny ve VCLZměnou, viditelnou na první pohled, je podpora Windows XP. Po přidání komponenty TXPManifest ze záložky Win32 můžou vaše programy získat stejně odpudivý vzhled, jako celý tento systém (subjektivní názor :-) Každopádně se ale divím, proč tato možnost není v programu "zadrátována" automaticky (nebo spíš nastavitelná někde v Project|Options) a je řešena poněkud neohrabaně komponentou.
Další novou komponentou je TPageSetupDialog, zapouzdřující známý standardní dialog Windows. Jednu věc ale nepochopím: proč je záložka Dialogs až za záložkami typu WebServices, InternetExpress nebo Decision Cube? Jasně, jde to nastavit, ale default by mohl být rozumnější.
Pokud budete chtít mít ve vaší aplikaci vzhled obdobný jako Office XP či nové Delphi, můžete využít komponenty TXPColorMap, TStandardColorMap, and TTwilightColorMap ze záložky Additional. Tyto komponenty se využívají ve spolupráci s TActionMainMenuBar a TActionToolBar.
Došlo i k pár menším vylepšením i u některých dalších komponent (ať už VCL, tak CLX), ale to už jsou jen drobnosti.
Další novinkyCelkem mnoho programátorů si v minulých verzích stěžovalo na nástroj pro generování sestav QuickReports. Borland tentokrát vyslyšel přání svých uživatelů, a nahradil tento balík komponentami Rave Reports od firmy Nevrona.
Novou součástí Delphi je nástroj Model Maker, který umožňuje vizuální editaci a návrh kódu. Delphi byly kdysi revoluční v tom, že usnadnily tvorbu uživatelského rozhraní, Model Maker jde odalší krok obdobným směrem a zjednodušuje tvorbu kódu jako takového. Model Makeru hodlám v blízké budoucnosti věnovat samostatný článek.
K některým změnám došlo i v kategorii "webové služby" - k dispozici je nový UDDI browser, je možno číst a zapisovat hlavičky protokolu SOAP a přidána je podpora příloh.
Jinak došlo i k pár menším změnám v run-time library - asi nejvýznamnějším vylepšením je několik nových funkcí pro práci s řetězci.
.NETJako červená nit se vine celou novou verzí Delphi příprava na technologii Microsoft .NET. Tato verze Delphi ještě neumožňuje plnohodnotný vývoj pro tuto platformu, ale obsahuje nástroje, pomocí kterých se dá zajistit, aby se na ni programy daly snadno přeportovat. Jde především o velkou zásobu nových varování kompilátoru, která upozorňují například na přímé operace s pamětí přes ukazatele a jiné, v .NET nedovolené operace (jenom by mě zajímalo, jak se dají psát bez ukazatelů efektivní programy...). Tato varování se ale dají vypnout a v defaultním nastavení pro nové aplikace dokonce vypnutá jsou.
Jak už jsem se zmiňoval v úvodu, s Delphi Studiem 7 se dodává CD s preview nového kompilátoru Object Pascalu (na název Delphi Language si asi nikdy nezvyknu) pro .NET. Ostrá verze by měla mít podle mých vědomostí svou premiéru v Delphi 8.
Nyní vás můžu trochu napnout: O tématu Delphi a .NET ode mně na Builderu ještě uslyšíte...
[-more-]{Zkouška na reálné aplikaci, závěr} Zkouška na existujícím projektuAbych se přesvědčil, jak nové Delphi umí zacházet s projekty ze straších verzí, zkusil jsem do něj převést a zkompilovat svůj školní ročníkový projekt. Je to ne zrovna triviální aplikace, skládající se z jednoho EXE souboru a několika knihoven DLL. Projekt byl původně psán v Delphi 3 Standard a během vývoje převeden do Delphi 6 Personal. Nejsou v něm využity žádné externí unity a komponenty.
Program se v novém Delphi Studiu zkompiloval i běžel bez jakýchkoliv problémů (opak by byla hodně vážná chyba!). Oproti Delphi 6 se ale vyrojila spousta warningů při jakémkoliv použití ukazatelů (a že je používám hojně!). Delphi se mě tak snažily naznačit, že v budoucí verzi pro .NET by ukazatele mohly způsobit problémy. Jak už jsem ale psal - tato varování lze naštěstí vypnout.
Velice zajímavé je srovnání velikostí generovaných souborů (obojí jsou "release" buildy - tj. bez ladicích informací a s vypnutými asercemi):
Soubor | Velikost v Delphi 6 [B] | Velikost v Delphi 7 [B] | Zvětšení/zmenšení (zaokrouhleno na celá procenta) |
---|---|---|---|
Life.exe | 995 328 | 994 816 | 100 % |
RDummy.dll | 149 504 | 97 280 | 65 % |
RFuddle.dll | 154 112 | 101 888 | 66 % |
RGradient.dll | 150 528 | 98 304 | 65 % |
RQuickie.dll | 150 016 | 97 792 | 65 % |
Překvapující je, že velikosti zkompilovaných souborů se od minulé verze zmenšily! Borland asi zapracoval na kompilátoru nebo spíš upravil VCL, a tak se mu podařilo zastavit trend vzrůstajících velikostí zkompilovaných souborů. Na druhou stranu, 100 kB je na DLL knihovnu o dvou procedurách trochu moc, i když ní jsou použity interfacy.
Výsledky měření ale prosím neberte příliš vážně, na to by bylo potřeba použít trochu "vědečtější" metody a ne zkoušku na jednom konkrétním programu. Každopádně uvítám, podělí-li se čtenáři se svými zkušenostmi v diskuzi.
Další drobnostiNepříjemností, zdržující práci, jsou občasné pády nebo neošetřené vyjímky Delphi IDE. Vůbec, mám pocit, že stabilitou prostředí Delphi nikdy příliš nevynikaly, a s pokročilejšími verzemi nemá chybovost snižující tendenci. Spolu s bugy, jako třeba menu Tabs, které se někdy rozbaluje mimo obrazovku (viz obrázek), to rozhodně nevytváří dobrý dojem.
Jisté výtky bych měl k nápovědě. Ještě bych snesl, že deklarace kdečeho jsou uvedeny jak v Object Pascalu, tak v C++, ale to, že se na mnoha místech objevuje okénko, nutící mne vybrat si mezi VCL a CLX verzí komponenty, mě doslova irituje. Když už existují dvě knihovny, ať existují i dva samostatné soubory nápověd. Chápe Borland, že existují i uživatelé, které CLX vůbec nezajímá? Vím, že tato - alespoň z mého pohledu chyba - se vyskytovala i v minulé verzi, ale o to víc mě štve, že s tím Borland nic neudělal.
ZávěrNové Delphi Studio a mě působí trochu rozporuplně. Jako by se Borland hnal vpřed za každou cenu, a opomíjel fakt, že dokonalost mnohdy více leží v detailech, než v seznamu nových funkcí. Na druhou stranu, Delphi Studio je produkt mající za sebou dlouhý vývoj a za tu dobu je patřičně vyzrálý (týká se hlavně jeho knihoven a IDE).
Pokud se rozhodujete, zda upgradovat na novou verzi v některé předchozí, můžu říct jediné - pokud neuvažujete o platformě .NET, nezaujaly vás některé větší novinky (Rave Reports, Model Maker, apod.), a nepotřebujete nutně XP vzhled aplikací, pak se vám bude Delphi 7 jevit spíš jako inkrementální upgrade, jakési Delphi 6.1. Pokud ale některou z výše uvedených vlastností ve verzi, se kterou pracujete, postrádáte; nebo naopak teprve uvažujete o započetí vývoje v Delphi, pak nad koupí velice silně uvažujte - soudím, že ve většině případů se vyplatí.
Poslat článek
Nyní máte možnost poslat odkaz článku svým přátelům:
-
25. listopadu 2012
-
30. srpna 2002
-
10. října 2002
-
4. listopadu 2002
-
12. září 2002
-
25. listopadu 2012
-
28. července 1998
-
31. července 1998
-
28. srpna 1998
-
6. prosince 2000
-
27. prosince 2007
-
4. května 2007