V září vyšlo Embarcadero RAD Studio XE3. Někdo z mladších vývojářů se možná zeptá, o co jde? Tento skvělý vývojový nástroj je současností kdysi jedničky na trhu – Borland Delphi. Po řadě zvratů v osudu přešlo toto vynikající IDE v roce 2008 do rukou Embarcadero Technologies a začal boj o jeho znovuprosazení do čela pelotonu vývojových nástrojů. Jestli má šanci, to se pokusím naznačit závěrem, vysoká návštěvnost letošního pražského uvedení by tomu nasvědčovala.
Nový život pod novým vlastníkem
Pro Embarcadero jde o stěžejní produkt, proto je mu věnována mimořádná péče. V první řadě muselo dotáhnout ztrátu způsobenou přešlapováním Borlandu v letech před odprodejem. Proto zatím každá verze přinesla výrazné změny. Hned v první verzi pod taktovkou nového vlastníka – Delphi 2009 - přechází na Unicode. Jazyk Object Pascal je obohacován o současné techniky, namátkou anonymní procedury a generické třídy. Knihovna komponent VCL dostává podporu gest a stylů, RTL například atributy a nový systém práce se soubory.
Jak vlastní IDE, tak i knihovny a technologie jako databázové připojení dbExpress nebo aplikační server DataSnap se zbavují závislostí na technologiích Microsoftu (.NET části, IIS, DCOM, …). Do IDE jsou postupně doplňovány nové nástroje – přímá podpora SVN, audit a metriky kódu, unit testing, profiler, logování do samostatné konzole nebo do souboru, nová verze UML nástroje, nástroj pro dokumentaci kódu a další. Přelomová je verze XE2, která přináší nové kompilátory, multiplatformní knihovnu FireMonkey a integraci vzdáleného ladění. V Delphi jde překládat programy pro 64bitové Windows, ale i pro Mac OS X a iOS - navíc s podporou animací, 3D aplikací a hardwarovou akcelerací!
Verze XE3 na cestě k dokonalosti
Letošní verze Embarcadero RAD Studio XE3 je tedy na světě a sluší se ještě objasnit, z čeho sestává. Začneme samozřejmě s Delphi XE3, dále balík obsahuje sesterský nástroj pro vývoj v C++ Builder XE3, Embarcadero Prism pro práci v .NET a konečně nástroj pro vývoj web aplikací Embarcadero HTML5 Builder, který vychází z dřívějšího Delphi for PHP. V dalším textu se budu zabývat pouze Delphi, přesto na tomto místě zdůrazním HTML 5 Builder, který prošel rozsáhlým přepracováním s cílem uvést nástroj pro tvorbu aplikací pro mobilní platformy (iOS, Android, BlackBerry a Windows Phone). Vytvoříte s ním serverové PHP aplikace i programy čistě klientské pomocí jazyka JavaScript, které je možno šířit i prostřednictvím aplikačních obchodů. V obou případech se využívá HTML5 a CSS3. Ale zpět k Delphi. Očekával jsem od nich řadu novinek a hlavně potvrzení nastoupeného směru. Embarcadero ovšem bylo uvedením Windows 8 se zcela novým rozhraním a SDK postaveno před rozhodnutí, co upřednostnit, zda novou platformu Microsoftu, nebo vlastní multiplatformní cestu.
Vítězně z toho vyšly Windows 8. Jsou podporovány v obou knihovnách, VCL a FireMonkey, které byly patřičně doplněny a rozšířeny. Pomocí připravených šablon snadno vytvoříte aplikace s žádaným vzhledem, v Embarcaderu nazývaným Metropolis. Mají samozřejmě možnost stylování včetně změn stylu za běhu, vypadají a chovají přesně dle požadavků Microsoftu. Přitom můžete využít postupů, knihoven a komponent, na které jste zvyklí. Převod starších aplikací pod novou platformu pak pro vývojáře není hororem, pomůže při něm připravený wizard. Od Embarcadera tedy může oprávněně zaznít: "Windows 8 ready!".
Novinky ve FireMonkey
Co ale multiplatformní aplikace a podpora mobilního prostředí, ke které vykročila předchozí verze? Naštěstí ani ta nepřišla zkrátka. Hlavní devizou verze XE3 je doplnění a rozšíření knihovny FireMonkey, nyní označované FireMonkey2. Skvělé základní vlastnosti postavené na kompletně vektorové technologii včetně 3D a podpoře akcelerace grafickou kartou jsou obohaceny o další, které v minulé verzi zůstaly výsadou VCL a citelně chyběly pro tvorbu větších komerčních aplikací. Za prvé jsou tu nově Actions. objekty spojující kód metody s vizuálními objekty pro provázání prvků uživatelského rozhraní a Action Manager pro jejich správu.
Přibyla práce se styly včetně distribuovatelného Style designeru a spousty připravených vzhledů. Doplněna je i podpora dotykových obrazovek a gest, opět kompatibilní s VCL. Jasné směrování k mobilním zařízením podtrhuje nově zavedený přístup k hardware pro určování pozice typický pro mobily a tablety – tedy k GPS, gyroskopu, akcelerometru a dalším. Přidáním nové sady komponent pro práci s obrazem a zvukem pro zachytávání, správu a přehrávání videa nezávislé na Windows Media Player se podpora mobilních zařízení uzavírá. FireMonkey2 je zkrátka dospělá knihovna připravená pro tvorbu kompletní škály aplikací pro desktopová i mobilní zařízení.
LiveBindings se rovněž objevily už v minulé verzi jako abstrakce a rozšíření zasílání zpráv, na kterých je postavena VCL. Umožňují tvorbu aktivních vazeb mezi komponentami včetně automatických převodů datových typů. Nově jsme dostali k disposici vizuální nástroj Live Bindings Designer pro jejich správu. Jeho schopnosti jsou impozantní, umí vazby tvořit a spravovat, navrhnout možné komponenty a jejich vlastnosti, připraví konverze dat (pokud chceme např. provázat textovou a číselnou hodnotu). Má podporu Actions, zvládá databázová připojení. Dokáže dokonce tvořit prototypy datových komponent včetně generování testovacích dat a jejich následné nahrazení skutečnou databázovou komponentou.
Podpora mobilních platforem
V jednom ale Delphi očekávání nedostály. Nativní podpora iOS a Androidu nevyšla jako integrální součást RAD Studia XE3. Nový překladač ještě nedosahoval požadované kvality a byl z vydání vypuštěn. Embarcadero vydalo aktualizovaný plán dalšího vývoje, k vydání podpory pro iOS by mělo dojít v Q1 2013, podpory Android během Q2 2013; pracovní název doplňků je "Mobile Pack".
Databáze a tiskové sestavy
Delphi jsou silným nástrojem pro práci s databázemi a verze XE3 pokračuje v této tradici. Nativní technologie dbExpress rozšiřuje řadu přímo podporovaných ovladačů o SQLite. Přepracovaný Database Explorer nezávisí na .NET a nabízí docela komfortní správu databázových připojení včetně změn v databázích. Pro tvorbu tiskových sestav používají Delphi komponenty FastReport, takže máme možnost tvorby široké škály tisků včetně grafů a exportů do řady formátů, namátkou samozřejmě XLS, DOC, PDF a mail. Nová XE3 tyto možnosti dává i FireMonkey aplikacím.
Vícevrstvé aplikace a mobilní zařízení
Podle mne nedoceněnou součástí Delphi technologií je aplikační server DataSnap. Dříve to byla složitá, na výkon náročná technologie postavená na prostředcích Windows (DCOM, IIS, ..). Po „zeštíhlovací kůře“ a doplnění o moderní technologie je to najednou zcela jiný produkt - slušně výkonný, snadno rozšiřitelný a přitom relativně malý aplikační server.
Poskytuje prostředky pro vzdálené volání metod a přístup k databázím, zabezpečení komunikačních kanálů šifrováním i přístupu uživatelů centrálním řízením autentikace a autorizace. Generuje webové rozhraní včetně populárního síťového protokolu REST a JavaScriptu. Zajímavý je rozsah podporovaných klientů: nativní v Delphi, C++ a Prism jsou samozřejmostí, HTML 5 Builder potěší. Pro mobilní zařízení ze serveru vygenerujete Mobilní konektory – knihovny pro nativní programovací prostředí, které umožní plnohodnotný přístup k serveru, jeho metodám a datovým spojením pro zařízení s iOS, Android, Windows mobile a Blackberry.
Závěrem
Po prozkoumání Delphi XE3 je jasné, že jde o mimořádně silný nástroj pro vývojáře snad všech typů aplikací. Vyrovnal ztrátu vůči konkurenci a nástroji jako Live Bindings Visual Designer ukazuje, že umí být inovátorem. Pokud Mobile Pack vyjde ve slíbeném termínu, budeme mít k disposici dokonce unikátní nástroj pro vývoj nativních aplikací ze stejného kódu na platformách Windows (XP – 8, 32 i 64 bit), Mac OS X, iOS a Android (oba ARM 7). Máme se na co těšit.
Autorem recenze je Ing. Tomáš Hruška, arit.cz