Recenze: Jak se vyvíjí v RAD Studiu XE3

Nejprve stručné představení. Embarcadero RAD Studio XE3 je nejnovější verzí vývojářského balíku obsahujícího Delphi, C++ Builder, Embarcadero Prism a HTML 5 Builder. Jednotlivé produkty (s výjimkou Prism) jsou tradičně dostupné i samostatně. Za pomocí těchto nástrojů lze vytvářet jak nativní aplikace pro 32bitové i 64bitové Windows nebo OS X a webové či mobilní aplikace. Nechybí ani databázová podpora či nástroje pro modelování v UML.

Delphi XE3 s otevřeným projektem

Tato verze je již pátou verzí pod taktovkou firmy Embarcadero, která do vývoje významně investuje a např. v případě Delphi tak přichází v každé verzi s důležitou novinkou, ať už se jednalo o dlouho očekávanou podporu unicode, generik, regulérních výrazů, Microsoft Ribbonu, rozšířenou podporu RTTI (informace o typech dostupných za běhu), podporu Amazon EC2 nebo ovládání gesty.

V minulé verzi XE2 navíc přibyla 64bitová kompilace (podobně jako u 32bitového je podporován i inline assembler včetně instrukcí SSEx), podpora vizuálních stylů aplikací a hlavně nový multiplatformní framework, který je primárně vektorový a akcelerovaný s využitím grafického koprocesoru.

Jde o první platformu sahající mimo svět Windows – křížovou kompilací totiž podporuje i Mac OS X, a to včetně vzdáleného ladění přímo z Delphi IDE. Křížová kompilace znamená tolik, že kompilátor běží na Windows, ale vytváří binární soubor pro jinou platformu (v tomto případě Mac OS X). Díky integrovanému nástroji „Platform assistant“ se výsledný produkt kompilace ve formě binárního souboru přenese přes síť a spustí na zařízení Apple pro ladění; přitom kód běžící pod Mac OS X je možno krokovat přímo z vývojového prostředí provozovaného pod Windows.

Podobné „assistanty“ budou dostupné i pro další platformy, resp. podobný nástroj je využíván pro vzdálené ladění na Windows, kdy lze takto pohodlně ladit vzdáleně např. 64bitovou aplikaci na jiném PC.

Pro všechny platformy je výsledný binární soubor stále nativní kód bez závislostí na nějakém aplikačním frameworku.

Co tedy přináší nového XE3?

Firemonkey aplikace v černém stylu Metro

Aktuální verze pokračuje ve vylepšení předchozí verze a pro každý produkt přináší samozřejmě nějakou novinku. Možnosti programu se liší dle zvolené edice, kdy u nejvyšších verzí jsou dostupné i různé databázové nástroje (Embarcadero je původně firma vyvíjející databázové nástroje pro rozsáhlá podniková řešení). Součástí licence je přístup k předchozím verzím všech nástrojů obsažených v produktu – např. při koupi Delphi se jedná o Delphi XE2, XE, 2010, 2009, 2007 a Delphi 7).

Delphi

V případě vlajkové lodi, tj. Delphi – je to souhrnný název pro IDE (integrované vývojové prostředí), kompilátor (překladač), linker (sestavovací program), debugger (ladicí nástroj), RTL (běhovou knihovnu) a knihovnu komponent) – se jedná hlavně o podporu Windows 8 (bohužel zatím ne pro ARM), LiveBinding Designer, o němž se zmíním dále a vylepšení FireMonkey.

Instalace je čistě webová. Spočívá ve stažení instalátoru a postupném automatickém stahování toho, co je třeba, nebo stažením ISO (přesné kopie instalačního DVD) a spuštěním instalace. V prvním případě se jedná o cca 600MB dat. Minimální verze pro běh IDE je oficiálně Windows Vista, ale pro výsledné aplikace je minimální verze stále Windows XP.

LiveBinding Designer

LiveBinding Designer je nástroj, se kterým lze vizuálně propojit datové zdroje s komponentami nebo dokonce proměnnými třídy. V podstatě na formulář vložíte datový zdroj (např. dotaz do libovolné z mnoha podporovaných DB) a pak kreslíte propojení k prvkům uživatelského rozhraní jako je datová mřížka nebo editační prvek nebo cokoliv jiného včetně proměnných třídy.

Podpora Windows 8 má dvě fáze – podpora různých API (aplikačních rozhraní) a kompatibility s Windows 8 nebo podpora stylu „Metro“ (nyní nazývaná Modern UI) včetně ovládání gesty, a to pro všechny podporované Windows včetně XP. Tato podpora se nazývá Metropolis aplikace a je jednoduchou možností, jak vaše stávající aplikace upravit do podoby aplikací typu Windows 8 (viz obrázek výše).

FireMonkey byla rozšířena o většinu věcí, které postrádala předchozí verze, včetně klíčové funkce TAction známé z VCL. Navíc byla rozšířena o podporu obsluhy senzorů (jako lokační služby, akcelerometr) a o práci s multimédii (audio, video), a to jak přehrávání, tak zachytávání. Vše pracuje multiplatformně (na Windows je používáno DirectShow, na OS X QuickTime).

Vizuální možnosti stylů jsou prakticky bez limitů

Velkou pozornost si také zaslouží nová podpora bitmapových stylů, kdy původní FireMonkey byla pouze vektorová. Cílem je podpora displejů Retina a zvýšení rychlosti, kdy např. některé skupiny vektorových operací jsou nahrazeny bitmapou. Součástí instalace je několik stylů jak pro původní VCL aplikace, tak pro nový FireMonkey Framework. Navíc instalace obsahuje samostatnou aplikaci pro návrh nebo úpravu stylů bez nutnosti programování.

Podpora aplikací pro OS X je nově rozšířena o možnost při překladu určit, zda se jedná o normální aplikaci nebo verzi určenou pro Mac App Store.

Projekt manažer v Delphi

Z různých nově dostupných API je snad nejzajímavější multiplatformní podpora SQLite (jednotka System.Sqlite) nebo Direct X 10. Kompletní seznam vlastností a novinek obsahuje 17 stránkový dokument [PDF].

Největší bombou měla být křížová kompilace a ladění aplikací FireMonkey na procesor ARM, konkrétně na iOS (iPhone, iPad…) a Android – to se však bohužel odsouvá na první čtvrtletí roku 2013. Překlad bude z jednoho zdrojového kódu, veškeré operace mají být dostupné z Delphi IDE, a to včetně ladění – podobně jako to je u OSX.

V okamžiku dostupnosti kompilátoru ARM bude Delphi a C++Builder kromě klasických Windows 32 a 64bitových VCL aplikací, podporovat nativní vývoj s FireMonkey na těchto platformách:

Díky vektorové povaze FireMonkey a stylům je na každé platformě použit patřičný vzhled dle zvyků platformy. Navíc v některých případech je použito nativních prvků dané platformy.

Podle aktualizovaného plánu dalšího vývoje produktové řady pak se očekává podpora Windows 8 RT (ARM) a Linux server, vše jako křížová kompilace a vzdálené ladění z Delphi IDE.

HTML5 Builder

HTML5 Builder

HTML5 Builder je velmi přepracovaná verze produktu RAD PHP. Cílem nástroje je hlavně tvorba aplikací pro mobilní platformy (iOS, Android, BlackBerry a Windows Phone). Lze vytvářet jak serverové aplikace za pomocí PHP nebo čistě klientské za pomocí JavaScriptu, kdy v obou případech se navíc používá HTML5 a CSS3. Klientské aplikace se podle všeho dají prodávat na online aplikačních obchodech jednotlivých platforem (nezkoušel jsem to).

Nástroj používá komponentní přístup (podobně jako Delphi) s tím, že komponenty jsou na bázi jquery mobile, tedy populární knihovny jazyka JavaScript.

Navíc je seznam dostupných komponent rozšířen o MCanvas, MImage, MLabel, MMap, Mmedia a Mshape. Součástí nástroje je i populární theme roller, který umožňuje vizuálně navrhovat css styly pro mobilní aplikace. V poslední řadě nesmím zapomenout na přístup k HW tj. audio, video, kamera nebo akcelerometr. Osobně se snažím jazykům bez typové kontroly vyhnout, ale pokud máte PHP nebo Javascript rádi, můžete si pohrát se zkušební verzí.

C++Builder

Dříve bylo zvykem, že C++Builder, tedy RAD vývoj se syntaxí jazyka C++, byl o jednu verzi pozadu. Toto se s aktuální verzí mění, jelikož vše, co umí Delphi, umí (nebo v této verzi bude umět) i C++Builder – včetně ARM 7 pro Android a iOS. Aktuálně produkt podporuje Windows 32bit a OSX s podporou Boost a Dinkumware RTL.

V říjnu nebo listopadu by měla být dostupná finální verze 64bitového C++Builderu (momentálně v beta verzi), který je mimochodem postavený na upravené verzi CLANG a LLVM. Kompletní tabulka vlastností je k nahlédnutí zde.

Embarcadero Prism

Jen ve zkratce – jde o .NET nástroj s jazykem na bázi Object Pascalu, s podporou posledních verzí .NET a Mono pro Windows, Linux a OSX. Instaluje se jako zásuvný modul do VS 2010 nebo VS 2012, případně pokud nemáte VS, pak pod VS 2012 Shell.

Nejedná se přímo o nástroj z dílny firmy Embarcadero, ale o nástroj firmy RemObjects, která má i varianty kompilátoru do Javy atd. a součástí RAD studia je jako doplněk.

Závěrem

Nová verze balíku opět posouvá možnosti vývojáře dále s důrazem na rozšíření produktů i na jiné platformy, a to při zachování nativního vývoje bez závislostí v případě Delphi a C++Builderu (to byla vždy priorita firmy), ale nově i širší podpory jiných jazyků jako je PHP nebo Javascript v případě HTML5 Builderu, který je hodně příjemným překvapením, zvláště pokud stále píšete kód v obyčejném editoru.
A pokud bude mobilní verze taková, jak je naznačováno (a z toho, co jsem viděl, to tak vypadá) tak podobný nástroj neexistuje. Navíc s oznámenou podporou pro Windows RT a Linuxu na serveru s již existujícími nástroji na tvorbu RIA (Rich Internet Aplication) se máme na co těšit i pro příště.

Exit mobile version