Delphi 4 Professional

Zatímco ve školách finišovalo žactvo a učitelstvo, za mořem v Inprise měly napilno vývojové týmy, aby na letní sez...


Zatímco ve školách finišovalo žactvo a učitelstvo, za mořem v Inprise měly
napilno vývojové týmy, aby na letní sezonu vypustily slibované novinky. Dnes se
podíváme na nové Delphi, které pod číslem 4 přináší celou řadu vylepšení.
Na své si přijdou vývojáři všech zaměření, ale rozhodující bude stav jejich
konta. Zatímco Delphi 3 se dodávalo ve 3 provedeních, "čtyřka" má, aby se to
nepletlo, varianty 4. K někdejší trojici Standard (Desktop), Professional a
Client/Server přibyla ještě Enterprise. Jen pro pořádek zopakuji rysy
jednotlivých provedení. Nejlevnější Standard jde ve stopách původního Delphi 1
a postačí k tvorbě normálních programů a databázových aplikací pro Windows.
Pokud jste ochotni si připlatit, můžete získat verzi Professional. Ta má
bohatší vývojové prostředí, obsahuje řadu komponent, které v základní verzi
nejsou, najdete zde pomocníky-wizardy pro zrychlení některých prací a lokální
server InterBase 5. Společně s Professionalem se dodává i program Install
Shield Express, nepostradatelný pro generování instalací a instalačních médií.
Verzí Professional se v textu budeme zabývat nejvíce. S Delphi 4 Client/Server
už jde dělat prakticky vše. Kromě plné podpory vývoje databázových aplikací na
C/S platformě umožňuje i vývoj (vícevrstvých) aplikací pro Internet/Intranet,
serverů, brokerů i klientů. Client/Server má implementovánu podporu pro
technologie MIDAS, CORBA a Microsoft Transaction Server, umožňuje vývoj
programů ve formě služeb Windows NT. Nejvyšší verze Enterprise je rozšířena již
"jen" o middleware Entera a je určena pro tvorbu velkých podnikových aplikací.
Tato verze asi nebude u nás lámat rekordy v počtu prodaných kusů.
Smutnou zprávou hned na úvod je, že nám produkty od posledně zase o něco
podražily. Za upgrade Professionalu dáte okolo patnácti tisíc, upgrade
Client/Server přijde zhruba na pětaosmdesát, upgrade na Client/Server z nižších
provedení stojí bez pár korun sto tisíc. Výrobce zcela určitě odůvodní
zvyšování cen tím, že produkt je vylepšen, což si za chvíli ověříme. Nám, jako
potenciálním zákazníkům by se spíše líbilo, kdyby Inprise následovala příkladu
výrobců hardware, kteří též vylepšují, ale ceny drží.
Balení a instalace
A nyní už konečně k samotnému produktu. V krabici tradičních barev nalezneme
instalační disk, 3 příručky a nástěnnou mapu objektů. Instalace trvá okolo 10
minut, zabere 160 MB na disku a je bez problémů. Volitelně si můžete
doinstalovat klienta pro Interbase, který potřebuje dalších asi 25 MB na disku.
Na instalačním CD-ROMu je ještě Install Shield Express, který doporučuji
nainstalovat rovněž. Delphi 4 jsem provozoval na "slabším" stroji s Pentiem 133
a 32 MB paměti, který se ukázal jako naprosto dostačující. Jediné, co se
loudalo, bylo startování programu a startování Database Desktopu.
Co je nového
Přehlídku novinek začneme od uživatelského rozhraní. Na první pohled zaujme
nová podoba správce projektů, který kromě nového způsobu zobrazení struktury
projektu umožňuje spravovat více projektů současně. U vývojového prostředí,
které má sloužit k tvorbě vícevrstvých aplikací, se to bude hodit. Další velice
užitečnou pomůckou je prohlížeč kódu Code Browser. Zbaví vás zdlouhavého
listování kódem "kde jen ta procedura může být". Namísto toho se pohybujete
přehlednou stromovou strukturou a dvojklikem na položku skočíte na její
zdrojový text. Přímo ve zdrojovém textu se stiskem kombinace kláves můžete
přepínat mezi deklarací procedury v sekci Interface a jejím tělem v sekci
Implementation. Proceduru nebo funkci můžete
začít psát přímo v sekci Implementation a stiskem Ctrl+Shift+ +C zkopírovat
její deklaraci do Private sekce příslušné třídy v Interface. Jestliže vás
obtěžuje opakované vypisování všech náležitostí při deklaraci třídy, Delphi 4
vám ušetří práci funkcí Class Completion. V praxi to znamená, že za vás dopíše
zdrojový text potřebný k deklaraci. Tento text si můžete dopředu sami
přizpůsobit svým potřebám a zvyklostem. Podobné šablony existují i k často
definovaným konstrukcím jazyka Pascal, jako jsou cykly, větvení, ošetření
výjimek, deklarace polí. Samozřejmostí je opět možnost doplnění libovolného
počtu vlastních šablon. Snad každý rozsáhlejší projekt s sebou nese nutnost
zápasit s velkým množstvím oken. Proto Delphi 4 přichází s možností spojení
více oken do jednoho rámu, což je, mimochodem, jeden z rysů Windows 98. Oknům,
která se takto chovají, se říká Dockable Windows, a funguje to tak, že
přetažením jednoho okna nad druhé vznikne jen jedno okno. Obsahy původních oken
jsou pak členěny v jednom okně nad sebou nebo na samostatných listech. Chovají
se tak všechna okna vývojového prostředí včetně nástrojových lišt, které nyní
lze vyjmout nebo přemístit. Výjimku tvoří okno se zdrojovým kódem, které slouží
pouze jako "parkoviště" pro ostatní.
S vyšší rychlostí ladění a vylepšeným komfortem se setkáme u debuggeru.
Zrychlení je skutečně příjemné, u předchozích verzí jsem musel krokovat s
několikasekundovým čekáním, nyní je odezva debuggeru okamžitá. Nových nebo
vylepšených funkcí uvádí výrobce celou řadu, názor si na ně budu moci utvořit
až po delším používání. Mezi nejzajímavější podle mne patří vzdálené ladění
procesů a ladění více procesů současně. Konečně jsme se také dočkali možnosti
podmíněného přerušení, jaké znají uživatelé nástrojů pro C++. Opravdoví
labužníci si pak mohou v debuggeru otevřít okno s obsahem CPU a brouzdat se
přímo strojovým kódem. Dobrou chuť!
Teď přeneseme pozornost od prostředí ke "hmotě", s níž pracujeme. Jazyk Object
Pascal zbohatl o několik dobrých nápadů. Prvním z nich je možnost deklarovat
dynamická pole, tedy pole, u nichž není nutno předem specifikovat jejich
velikost. Tato věc byla dosud výsadou jazyků 4. generace (4GL), v Pascalu se
řešila pomocí spojových seznamů. Další pěknou novinkou je možnost použití
implicitních parametrů v procedurách a funkcích. Při volání takové procedury
nebo funkce není uvádění všech parametrů povinné a za vynechané se dosadí
implicitní hodnoty. Setkáme se také s novými datovými typy, jako je např.
64bitový integer nebo 32bitový unsigned integer. Snad se i vám někdy stalo, že
jste potřebovali volat metodu z různých míst a za různých situací a podle
okolností do ní předávat parametry odlišného počtu a typů. Delphi 4 zavádí tuto
možnost pod názvem Method Overloading. Jako český ekvivalent jsem někde četl
"přetěžování metod", což je hezká ukázka mechanického překladu. Sám bych řekl
"překrývání metod", ale nečiním si nároky na přesnost ani tohoto termínu.
Jednoduše nadeklarujete metodu stejného jména víckrát, pokaždé
s jinými formálními parametry a kompilátor si to už přebere. S Delphi 4 se
nemusíte bát příchodu roku 2000, výrobce prohlašuje, že všechny funkce a datové
typy pracující s časem a datem jsou bezpečné.
Práce s daty
Lepší pohodlí slibuje čtyřka i pro práci s daty a databázemi. Dočkali jsme se
podpory nových databázových formátů Access 97, Informix v.9 a Oracle 8. Podpora
Oracle 8 je výsledkem dlouhodobé strategické spolupráce obou firem a bude
znamenat i vedoucí postavení Delphi mezi nástroji pro vývoj aplikací nad
Oracle. Delphi 4 tak přináší např. datové typy ADT (abstraktní datové typy),
Array (pole), Reference (odkaz) a Nested fields (vnořená pole). Všechny tyto
báječné věci jsou ovšem určeny pouze těm, kdo si koupí verzi Client/Server,
ostatní si o nich mohou alespoň přečíst. Avšak i na chudou část populace
Inprise pamatoval několika nápady. Za všechny bych uvedl alespoň částečný
přístup k databázovým tabulkám přímo z návrháře formulářů. Stiskem pravého
tlačítka myši na komponentě TTable se objeví nabídka, která mj. nabízí možnost
přejmenování nebo zrušení tabulky připojené ke komponentě. Dále si můžete
zobrazit seznam polí v tabulce a nastavovat jejich vlastnosti, podobně jako se
to dělá u komponent typu Grid a jejich sloupců.
Infonety
Na loňské konferenci Borland vyhlásil strategii infonetů, jejíž páteří se mají
stát intranetové technologie a vícevrstvé aplikace. Delphi 4 je společně s
JBuilderem 2 prvním produktem z této řady a dá se z něho tedy vysledovat, jak
si to v Borland/Inprise představují. Na verzích Standard a Professional bohužel
mnoho nevysledujete, protože hlavní síla byla vtělena až do verzí Client/Server
a Enterprise. V testovaném Professionalu tak naleznete alespoň sadu komponent
pro tvorbu internet/intranetových aplikací. Za všechny uveďme např. komponenty
Internet Socket, Net Masters a komponenty prohlížečů Netscape či Internet
Explorer. K dispozici jsou technologie OLE a COM, můžete vytvářet komponenty
typu ActiveX a pracovat s grafikou formátu JPEG. Majitelé Client/Serveru či
Enterprise na tom budou o poznání lépe, protože mohou psát skutečné vícevrstvé
aplikace s využitím všech "hitů" oboru, jako jsou technologie DCOM a CORBA
reprezentované třeba Microsoft Transaction Serverem respektive MIDASem. Vlastní
technologii MIDAS v Inprise obohatili o zajímavé prvky, jako je např.
komponenta TClientDataSet. Na ní zaujmou 2 vlastnosti. Za prvé se obejde bez
podpory databázového stroje BDE, takže si mechanismus práce s daty může napsat
každý sám podle svého. Druhou zajímavostí je podpora vnořených tabulek
svázaných relací master-detail přímo na úrovni komponenty.
Závěr
Mám-li shrnout své dojmy, jsou vesměs pozitivní. Delphi 4 je solidním
pokračováním řady Delphi a posouvá vývojový proces zase o kousek k vyšší
produktivitě a pohodlí. Co budí rozpaky, je cenová politika jakoby s Borlandem
odešla vstřícnost vůči menším zákazníkům. Cenová dostupnost produktů, se kterou
u nás Borland kdysi začal jako jeden z prvních, jim zajistila velké rozšíření a
omezila užívání pirátských kopií. Tento trend se může zase zvrátit ne každý má
totiž štěstí pracovat za velké peníze pro velké firmy, aby si mohl dovolit
verzi Client/Server, která poskytuje vše, čím se Inprise (právem) chlubí.
Použitelnost verze Professional je již řádově nižší, o Standardu ani nemluvě.
Každý výrobce si může vybrat ze dvou cest prodat méně za hodně nebo více za
méně. První cesta je elitářská a pohodlná, ta druhá je náročnější, ale víc pro
lidi. Borland šel tou druhou kterou se vydá Inprise?
8 1997 / or









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.