Programovacφ nßstroj Delphi spoleΦnosti Borland prochßzel v celΘ svΘ v²vojovΘ linii, tzn. od verze 1 a₧ po verzi 7, mnoha zm∞nami. ÄßdnΘ zm∞ny vÜak nebyly tak radikßlnφ jako zm∞ny v aktußln∞ p°edstavenΘ "oktanovΘ" verzi.
ADO.NET, MS .NET Framework, ASP.NET, C#... Kter² programßtor Φi v²vojß° by se v poslednφ dob∞ nesetkal - a¥ ji₧ na internetu, na pultech prodejen knih nebo v reßlu na poΦφtaΦi - s n∞kter²m z t∞chto pojm∙? Z technologiφ programovßnφ v sob∞ zahrnujφ asi to nejlepÜφ, co v souΦasnosti existuje (vÜak se takΘ na internetu objevil Φlßnek s podez°enφm, ₧e .Net je produktem firmy Borland...).
Ve svΘ podstat∞ je cel² systΘm .NET skuteΦn∞ impozantnφ a prosp∞Ünou myÜlenkou. Do systΘmu zapadajφ i novΘ programovacφ jazyky C#, VB a C++, nov∞ i J#. Ale prßv∞ zde je urΦitΘ slabΘ mφsto celΘ myÜlenky. Zatφmco C# je jazykem zcela nov²m, integrace technologiφ .NET do dalÜφch jazyk∙ vede k jejich natolik podstatn²m zm∞nßm, ₧e prakticky naruÜuje kontinuitu kompatibility s p°edchozφmi verzemi. Portovat starÜφ projekty pod .NET v t∞chto jazycφch je velmi problematickΘ. Znφ to mo₧nß jako lacinß reklama, ale skuteΦnostφ je, ₧e na takovΘ problΘmy m∙₧ete v p°φpad∞ Delphi zapomenout.
JSOU V╠CI, KTER╔ VY╪Eè═ ZA V┴S...
Prvnφ a nejpodstatn∞jÜφ skuteΦnostφ, kterou je t°eba si uv∞domit, je fakt, ₧e verze Delphi 8 je urΦena jako v²vojovΘ prost°edφ nad systΘmem Microsoft .NET Framework. Vygenerovan² k≤d je mezik≤dem (IL), urΦen²m pro zpracovßnφ v tomto prost°edφ. Delphi 8 tedy ji₧ nevytvß°φ klasickΘ programy pro Windows, ale umo₧≥uje vßm beze zm∞n, nebo jen s minimßlnφmi zm∞nami, p°enΘst d°φve vytvo°enΘ aplikace (pro Win32) na platformu .NET. Mno₧stvφ ·prav, kterΘ budete muset p°i p°evodu provΘst, zßvisφ na r∙zn²ch okolnostech, jako je nap°. p°φmΘ vyu₧itφ API, "vzdßlenost" od verze 8 nebo pou₧itφ komponent t°etφch stran (pro zajφmavost - na poslednφ konferenci firmy Borland byla bez jakΘkoliv zm∞ny kompilovßna a spuÜt∞na na platform∞ Delphi for .NET demonstraΦnφ aplikace, kterß byla souΦßstφ 16bitovΘ Delphi 1!).
Druh²m d∙le₧it²m faktorem je to, ₧e Delphi v dneÜnφ podob∞ nenφ jen obyΦejn²m v²vojov²m prost°edφm, kterΘ vßm umo₧nφ zapsat a p°elo₧it zdrojov² k≤d. Je to systΘm, kter² vßm interaktivn∞ pom∙₧e od formulace po₧adavk∙ a anal²zy problΘmu (CaliberRM) p°es model a nßvrh struktury programu a dat pomocφ standard∙ UML (ECO) a₧ po vlastnφ zßpis programu, vΦetn∞ vÜech dnes obvykl²ch vymo₧enostφ automatickΘho dopl≥ovßnφ k≤du. Navφc mßte k dispozici knihovnu typ∙ Φi vzor∙ ·sek∙ programu, kterou m∙₧ete sami rozÜi°ovat. Na p°eklad pak navazuje, krom∞ ji₧ klasick²ch ladicφch metod, nßstroj pro otestovßnφ a vyhledßnφ ·zk²ch mφst v programu (Optimizeit Profiler) a nakonec nßstroje pro distribuci (k dispozici je op∞t znßm² InstallShield Express) a ·dr₧bu programu. V∞tÜina v²Üe zmφn∞n²ch nßstroj∙ je p°i nßvrhu samoz°ejm∞ obousm∞rnß, nap°φklad zm∞ny provedenΘ do modelu se promφtnou ihned do zdrojovΘho k≤du a naopak.
Pro jednotlivΘ v²Üe zmφn∞nΘ etapy existujφ alternativnφ nßstroje, plnφcφ obdobnΘ funkce, ale integrace t∞chto nßstroj∙ do jednotnΘho v²vojovΘho °et∞zce s jednotn²m designem a ovlßdßnφm je v takovΘmto rozsahu unikßtnφ. Navφc cel² v²Üe zmφn∞n² proces podporuje t²movou spoluprßci. K dispozici je Microsoft Common Source Code Control API (SCC API), propojujφcφ StarTeam, CVS, ClearCase a Visual SourceSafe. Dosa₧itelnost jednotliv²ch Φßstφ tohoto v²vojovΘho °et∞zce nßstroj∙ pochopiteln∞ zßvisφ i na verzi zakoupenΘho produktu, kter² p°ichßzφ v obvyklΘ trojici Professional, Enterprise a nejvyÜÜφ verzi Architekt.
V▌VOJOV╔ PROST╪ED═ DELPHI A JEHO SOUVISLOST S .NET
Pokud jste pracovali v prost°edφ Visulal Studia .NET, jist∞ objevφte mnoho paralel ve vzhledu a uspo°ßdßnφ v²vojov²ch prost°edφ Visulal Studia IDE Delphi 8. Jestli₧e jste naopak pracovali v prost°edφ Delphi, asi si budete muset chvφli zvykat na nov² vzhled (viz obr. naho°e - vÜim n∞te si, jak jsou umis¥ovßny nevizußlnφ komponenty, co₧ je specialita aplikacφ nad .NET).
IDE si ale samoz°ejm∞ m∙₧ete op∞t konfigurovat podle sv²ch p°edstav. Nejd∙le₧it∞jÜφ zm∞na (p°edevÜφm co se t²Φe vzhledu) je v palet∞ komponent. Ta je oznaΦena jako paleta nßstroj∙ a je nynφ prom∞nlivß podle toho, co v danΘm okam₧iku v prost°edφ provßdφte. Budete-li psßt k≤d, budete mφt v tomto okn∞ k dispozici typy a ·ryvky k≤du. Pokud budete navrhovat formulß°, bude v tomto okam₧iku v okn∞ nabφdka komponent. Nabφdka komponent se bude dßle liÜit podle druhu aplikace, kterou budete vytvß°et. Na obrßzku vpravo vidφte, z kter²ch zßkladnφch typ∙ aplikacφ a vzor∙ lze vybφrat. Nabφdka komponent na palet∞ nßstroj∙ se pak liÜφ nap°φklad pro aplikaci ASP a aplikaci VCL Forms. V²b∞rem typu aplikace (Windows Forms, Web Forms, VCL Forms...) souΦasn∞ urΦujete, zda bude aplikace vytvß°ena nad mno₧inou komponent odpovφdajφcφch p∙vodnφm VCL-komponentßm Delphi, nebo nad komponentami prost°edφ .NET. V²sledn² program bude samoz°ejm∞ v₧dy urΦen pro prost°edφ .NET. SouΦßstφ Visual Studia .NET je nßstroj PEVerify.exe, kter²m si m∙₧ete tuto skuteΦnost ov∞°it.
Navrhujete-li ASP-aplikaci, zobrazuje se trojice zßlo₧ek se strßnkou asp, k≤dem na pozadφ a formulß°em. P°izp∙sobφ se rovn∞₧ paleta komponent, tak₧e obsahuje jen komponenty p°φpustnΘ pro dan² typ aplikace. TΘ se v tomto okam₧iku p°izp∙sobφ i systΘm code insight. Po p°esunu kurzoru do zßvorek tagu na strßnce asp-k≤du se objevφ v okn∞ code insight vÜechny p°φpustnΘ parametry tagu. Po umφst∞nφ webkomponenty na zßlo₧ce design se v objectinspektoru objevφ mno₧ina vlastnostφ a udßlostφ obdobn∞ jako p°i prßci s komponentami na klasickΘm formulß°i. Poklepßnφm na °ßdek v zßlo₧ce Events se vygeneruje na strßnce s k≤dem na pozadφ kostra procedury pro obsluhu p°φsluÜnΘ udßlosti. Doba vytvo°enφ strßnky asp je tak redukovßna na minimum.
Na spodnφm okraji editaΦnφho okna jsou tlaΦφtka, kter²mi m∙₧ete nahrßvat posloupnost stisk∙ klßves a ulo₧it ji ve form∞ makra pro pozd∞jÜφ pou₧itφ.
JAZYK A EDITACE K╙DU
Stejn∞ jako ve Visual Studiu .NET dochßzφ v editoru ke skr²vßnφ k≤du. K≤d automaticky vygenerovan² editorem a oznaΦen² dvojicφ direktiv {$REGION} a {$ENDREGION} i jednotlivΘ procedury a funkce jsou oznaΦeny znaky +/- a poklepßnφm lze odpovφdajφcφ bloky skr²t nebo zobrazit. Novou direktivou je rovn∞₧ {$UNSAFECODE ON} (resp. OFF). Ta umo₧≥uje nebo zakazuje psßt v odpovφdajφcφm bloku ne°φzen² k≤d (pokud pou₧ijete ne°φzen² k≤d, neprojde v²sledn² program testem programu PEVerify.exe). Podstatn²m zp∙sobem je zjednoduÜena prßce s webov²mi slu₧bami.
Zßkladem pro p°φstup k dat∙m je v .NET knihovna t°φd ADO.NET. To se pochopiteln∞ projevilo i v rozÜφ°enφ zp∙sob∙ p°φstup∙ k dat∙m v Delphi 8. Samoz°ejm∞ z∙staly zachovßny stßvajφcφ zp∙soby a komponenty pro p°φstup k dat∙m prost°ednictvφm BDE. Nov∞ je k dispozici BDP.NET provider, zajiÜ¥ujφcφ p°φstup k dat∙m pod .NOT.
V rßmci n∞ho je to p°φstup prost°ednictvφm TADONETConnectoru (jako potomka komponenty DataSet). Dßle je to .NET verze komponent dbExpress a komponent IBX pro p°φstup k InterBase a nakonec je to DataSnap.NET zalo₧en² na modelu DCOM. V rßmci IDE lze zobrazit okno Model View. V n∞m m∙₧ete vid∞t strukturu projektu a poklepßnφm na prvek struktury se namφsto editaΦnφho okna objevφ plocha s UML diagramem odpovφdajφcφho objektu (viz obr. uprost°ed). Do diagramu lze dopl≥ovat dalÜφ prvky z palety a zm∞ny se zp∞tn∞ promφtajφ do k≤du programu. Podobn∞ jako model k≤du fungujφ i datovΘ diagramy. V p°φpad∞ struktur dat jde flexibilita a₧ do takov²ch detail∙, ₧e po ·prav∞ struktury tabulky (p°idßnφ Φi ubrßnφ polφ, zm∞n∞ formßtu pole apod.) se zm∞na promφtne do ji₧ existujφcφ databßze.
VYèLAPANOU CESTOU
Pokud jste programovali a vytvß°eli projekty v Delphi a nynφ se chystßte p°ejφt na platformu .NET, mßte proti jin²m prost°edk∙m cestu podstatn∞ ulehΦenu jednak dφky zachovßnφ kompatibility, jednak dφky zapouzd°enφ toho, co poskytuje .NET, do objekt∙ Delphi. Tak lze navrhovat a programovat aplikace tak°ka stejn∞ jako ve verzφch pro klasickΘ Windows. Neznamenß to, ₧e byste nemuseli v∞d∞t nic o .NET, ale p°echod na tuto platformu je mnohem plynulejÜφ. V²znamnß je i skuteΦnost, ₧e dφky kumulaci nßstroj∙ podporujφcφch cel² proces v²voje aplikace se doba v²voje mnohonßsobn∞ zkrßtφ.
Zcela bezbolestn² ale p°echod na novou verzi nenφ. Jednφm ze slabÜφch mφst je pou₧itφ komponent t°etφch stran. ProblΘm jejich pou₧itφ sice nastßvß s ka₧dou novou verzφ, ale je z°ejmΘ, ₧e p°edpokladem masovΘho v²voje komponent t°etφch stran pro verzi 8 je masovΘ rozÜφ°enφ platformy .NET. A to samoz°ejm∞ nebude tak rychlΘ jako v p°φpad∞ d°φv∞jÜφch verzφ Delphi.
To je ovÜem z hlediska toho, co v tomto systΘmu zφskßvßte, zcela zanedbatelnΘ. V Delphi 8 mßte k dispozici unikßtnφ nßstroj, jen₧ vßm bezproblΘmov∞ pom∙₧e p°ejφt k novΘ platform∞ tempem, kter²m m∙₧ete snadno zφskat nßskok p°ed konkurencφ. Prost∞ ty oktany jsou, stejn∞ jako v p°φpad∞ benzinu, vid∞t...
Ji°φ Ventluka
POPIS PRODUKTU
Borland Delphi 8 Architect - p°edb∞₧nß verze
V²vojß°sk² produkt pro systΘm Microsoft .NET Framework
Minimßlnφ systΘmovΘ po₧adavky Pentium II, 450 MHz, MS Windows XP/ 2000, 128 MB RAM, 700 MB diskovΘho prostoru