Hlavní navigace

Recenze: RAD Studio 10.2 Tokyo

22. 5. 2017

Sdílet

 Autor: Fotolia - Melpomene
V březnu letošního roku uvolnila firma Embarcadero Technologies další verzi RAD Studia, pojmenovanou pro změnu Tokyo a označenou číslem 10.2.

Jedná se o nástroj pro vývoj aplikací pro 32bitová a 64bitová Windows, Linux, Mac OS X, iOS, Android a IoT (Internet věcí), ve kterém lze vyvíjet aplikace pro několik prostředí zároveň.

Nejdůležitější součásti RAD Studia tvoří C++Builder pro vývoj aplikací v jazyce C++ a Delphi pro vývoj v Object Pascalu – na tom se nic nezměnilo. Poznamenejme, že podpora Linuxu je zatím k dispozici pouze v Delphi, nikoli v C++ Builderu.

Další součástí RAD Studia je nástroj HTML5 Builder.

 

Edice

Podobně jako předchozí verze se i RAD Studio 10.2 Tokyo dodává ve třech základních edicích, nazvaných tradičně Professional, Enterprise a Architect. Ve stejných edicích je k dispozici i samostatný C++Builder a samostatné Delphi; pro ně je navíc k dispozici ještě edice Starter.

Edice Starter C++Builderu nebo Delphi je určena především začínajícím programátorům. Neobsahuje vůbec nástroje pro vývoj databázových aplikací a pro komerční vývoj aplikací ji lze použít jen velice omezeně – např. firma, která ji používá, musí mít méně než 5 zaměstnanců a příjmy z prodeje aplikací nesmějí přesáhnout tisíc amerických dolarů. Podrobnější informace najdete na webu [1].

Edice Professional je nejslabší z profesionálně použitelných edicí. Lze ji použít k vývoji databázových aplikaci, i když poskytuje značně omezené možnosti; zcela v ní chybí podpora vývoje aplikací pro mobilní platformy. Tyto nástroje lze ovšem dokoupit jako samostatné balíčky.

Edice Enterprise je určena k vývoji aplikací typ klient-server a vícevrstvých aplikací. Nabízí připojení ke všem významnějším databázovým serverům včetně serveru Interbase, jehož verze XE7 je součástí dodávky.

Nejsilnější edice Architect obsahuje navíc databázový nástroj ER/Studio Developer Edition pro databázové modelování a DB PowerStudio, tedy sadu nástrojů pro vývoj v jazyce SQL.

Tento článek je založen na prvních zkušenostech s edici Enterprise.

 

Novinky

Ačkoli se jedná o neceločíselnou verzi, přináší jednu velkou a řadu malých novinek. Podívejme se na některé z nich.

Podpora Linuxu v Delphi

Bezpochyby nejvýznamnější novinkou je, že součástí Delphi 10.2 edice Enterprise a Architect je překladač pro 64bitový Linux (distribuce Ubuntu 16.04 LTS a RedHat Enterprise verze 7). Tento překladač umožňuje vývoj konzolových aplikací, aplikací založených na knihovnách Web Broker a DataSnap a aplikací pro RAD Server. Pro přístup k datům lze využíti knihovnu FireDAC. Podpora aplikací s grafickým uživatelským rozhraním pro Linux (zatím?) chybí.

Podpora Linuxu pro C++ by měla být součástí některé z příštích vylepšení (update) či verzí.

Nové vlastnosti některých komponent

U některých komponent v knihovně FireMonkey, jež slouží k vytváření grafického uživatelského rozhraní aplikací, přibyly nové vlastnosti, že zlepšují jejich použitelnost. Například u komponent TBitmap, TCanvas a TContext3D přibyla podpora multithreadingu. Vedle toho přibyly nové styly vizuálních komponent pro prostředí Mac OS a Android.

Novinky v nejstarší a stále široce používané knihovně vizuálních komponent VCL se týkají především vylepšení podpory zobrazení na monitorech s vysokým rozlišením.

Databáze

Nová verze RAD Studia přinesla podporu databázových serverů MySQL 5.7 a MariaDB verze 5.5 a pozdějších. Poznamenejme, že MariaDB je „nástupnická větev“ MySQL vyvíjená původní vývojářskou komunitou po odkoupení MySQL společností Oracle. Pro práci s tímto databázovým serverem lze použít komponenty FireDAC pro MySQL.

Z palety a z knihovny v RAD Studiu byla odstraněna komponenta TFDDataMove. Doporučenou náhradou je komponenta TFDBatchMove; v případě potřeby – např. kvůli staršímu kódu – lze jednotku obsahující odstraněnou komponentu získat samostatně v souborech s příklady dodávanými s instalací RAD Studia.

Běhová knihovna

Několik novinek obsahuje i běhová knihovna (RTL) RAD Studia. Podporuje například práci se souborovým systémem v 64bitovém Linuxu. Podporuje také používání nástrojů pro práci s cestou, jako jsou funkce GetHomePath, GetMoviesPath a další definované v jednotce System.IOUtils v programech pro Linux.

Také knihovna HTTP Client nyní poskytuje podporu pro 64bitový Linux.

Drobná vylepšení se dotkla jednotky System.Hash, jež obsahuje implementace různých hashovacích algoritmů a balíčků v C++ pro tvorbu aplikací pro mobilní zařízení.

RAD Server

RAD Server je nástroj, který poskytuje serverové prostředí pro nasazení aplikačních služeb vytvořených v Delphi nebo v C ++ Builderu. Tyto služby pak mohou využívat klientské aplikace běžící na PC nebo na mobilních zařízeních. Je součástí RAD Studia počínaje verzí Enterprise.

RAD Server nyní podporuje architekturu označovanou multi-tenancy. To znamená, že jedna instance serveru s jedním databázovým připojením může obsluhovat několik izolovaných skupin klientů (tyto skupiny se označují tenant, tedy nejspíše nájemce). Každá z těchto skupin klientů má vlastní sadu prostředků serveru (uživatelů, skupin atd.) Administrátor může vytvářet nové skupiny, editovat existující, měnit jejich vlastnosti atd.

Překlad a ladění

V překladačích jazyka C++ založených na Clang byly odstraněny některé problémy při ladění. Například lokální proměnné v kódu pro Win32 a Win64 lze nyní vždy sledovat v oknech pro vyhodnocování výrazů (okno Watch) a pro sledování lokálních proměnných (okno Local Variables). V okně pro sledování obsahu zásobníku (Call Stack) se nyní vždy zobrazuje jméno třídy. Ladicí nástroj také nyní dokáže v kódu přeloženém těmito překladači správně rozlišit lokální proměnné se stejným jménem ve vnořených oborech.

Byla zlepšena kvalita optimalizace při volbách –O1 a –O2 a byla přidána úroveň –O3.

Aplikace pro Android lze nyní překládat, aniž bychom určili verzi NDK.

Sestavovací program, linker, nyní může využívat až 4 GB paměti (v předchozí verzi to byly maximálně 2 GB).

Další novinky

Následující výčet není v žádném případě úplný.

V integrovaném vývojovém prostředí byly odstraněny některé problémy s nástrojem pro dokončování kódu (code completion) a v zobrazování informací o kódu (Code Insight) v Delphi; dále byly přeuspořádány některé položky v nabídce.

Prostředí nyní plně podporuje ladění pro iOS10. Byla také odstraněna řada drobných nedopatření při ladění.

Nástroj GetIt pro stahování doplňků nyní podporuje paralelní stahování.

 

Základní požadavky pro instalaci RAD Studia 10.2 Tokyo

Minimální požadavky pro instalaci tohoto nástroje jsou podobné jako u předchozí verze – liší se pouze požadovaná minimální velikost operační paměti:

  • PC s alespoň 2 GB RAM a procesorem Intel Pentium (nebo kompatibilním) běžícím alespoň na frekvenci 1,6 GHz.
  • Podle edice a zvolených součástí 6 – 60 GB diskového prostoru. V tom je zahrnut i manipulační prostor potřebný pro vybalení souborů a další operace prováděné při instalaci. Konečná potřeba paměti po ukončení maximální instalace je zhruba poloviční.
  • Grafická karta vhodná pro DirectX-11a displej s rozlišením alespoň 1024 x 768 obrazových bodů.
  • Cílový počítač musí být vybaven operačním systémem Windows 7 SP1 nebo pozdějším (může být 32bitový nebo 64bitový).

Podle svých vlastních zkušeností si dovolím doporučit počítač vybavený alespoň 4 GB RAM s procesorem pracujícím na frekvenci větší než 2 GHz a s pokud možno rychlým pevným diskem. Na počítači s 8 GB RAM, s procesorem běžícím na frekvenci 2,9 GHz a s SSD diskem o dostatečné kapacitě je RAD Studio už docela příjemný nástroj.

 

Další požadavky

Pro vývoj aplikací pro Mac OS X je dále třeba, aby náš počítač byl připojen k počítači Macintosh s procesorem Intel nebo k počítači Macintosh, na kterém běží systém Windows ve VM, s alespoň 2 GB RAM s operačním systémem OS X 10.10 (Yosemite), OS X 10.11 (El Capitan) nebo OS X 10.12 (Sierra).

Pro vývoj aplikací pro iOS platí stejné požadavky jako pro vývoj pro Mac OS X a navíc je třeba mít na cílovém počítači k dispozici integrované vývojové prostředí Xcode verze 7 nebo novější. Pro nasazení vyvinutých aplikací pro iOS na fyzická zařízení je třeba být členem vývojářského programu pro Apple (Apple Developer Program).

Pro vývoj aplikací pro Android je třeba mít zařízení vybavené tímto operačním systémem s procesorem ARMv7 s podporou koprocesoru NEON pro vektorové zpracování. Při vývoji pro Linux je třeba mít k dispozici buď Ubuntu Server (Ubuntu 16.04 LTS) nebo RedHat Enterprise Linux (verze 7).

 

Instalace

Pro instalaci je nezbytné administrátorské oprávnění. V dokumentaci také najdeme upozornění, že instalace RAD Studia zvětší obsah systémové proměnné PATH až o 218 bajtů; poznamenejme, že přesáhne-li velikost obsahu této proměnné 2048 bajtů, začne se systém chovat podivně. (To znamená, že obsah proměnné PATH před instalací by neměl přesáhnout 1830 bajtů.

RAD Studio budeme typicky instalovat z webu; tak lze získat i 30denní zkušební verzi. Jinou možností, dostupnou registrovaným uživatelům, je stáhnout si instalační soubor ve formátu ISO, připojit si ho jako virtuální mechaniku a instalovat RAD Studio z ní. Tato instalace ovšem trvá podstatně déle, neboť používá instalátor z doby před verzí 10.0.

 

Obr. 1 Volba instalovaných součástí

Následující povídání se opírá o zkušenosti s instalací z webu.

Jestliže instalujete RAD Studio poprvé, nebo jestliže jste pečlivě odstranili všechny stopy po předchozí instalaci, je třeba se nejprve registrovat. Jestliže však máte platnou licenci, instalační program ji převezme a nebude vás s registrací obtěžovat. To je sice pohodlné, má to ovšem i své nevýhody: Jestliže jste měli např. licenci na edici Professional a nyní jste zakoupili novou verzi ve vyšší edici, je třeba nejprve odstranit soubor s licencí, neboť jinak se vám nainstaluje nová verze opět v licenci Professional.

Instalační program nejprve instaluje samotné IDE bez jakýchkoli dalších nástrojů; to je velmi rychlé. Pak se objeví správce rozšíření, tedy okno Platform selection, viz obr. 1, a v něm zvolíme součásti, které chceme instalovat. Poté můžeme ještě zvolit doplňky – jazyk, v němž s námi bude RAD Studio komunikovat (vedle anglické verze je k dispozici také německá, francouzská a japonská verze RAD Studia), instalaci příkladů, vývojářské edice databázového serveru Interbase verze XE7, lokální nápovědu a další. K tomu slouží okno Additional Options (obr. 2).

Tato okna nás průběžně informují, jak velký diskový prostor bude potřebný, kolik času bude instalace trvat a jak rozsáhlý soubor bude třeba stáhnout z Internetu. Odhad času, alespoň v mém případě, docela odpovídal skutečnosti; plná instalace včetně stahování mi zabrala cca 40 minut. Je však třeba doplnit, že mám k dispozici velmi rychlé připojení k Internetu.

Později lze toto okno kdykoli vyvolat z prostředí RAD Studia a doinstalovat další součásti. Ovšem pozor: Jestliže jste RAD Studio instalovali ze staženého souboru ISO, musíte ho použít i k případnému pozdějšímu doplnění některé z cílových platforem nebo nástrojů. Podobně jestliže jste RAD studio instalovali z webu, musíte z webu instalovat i případná pozdější rozšíření.

Z prostředí můžeme také kdykoli spustit nástroj GetIt a doinstalovat nástroje třetích stran.

Poznamenejme, že jestliže na cílovém počítači není instalován Microsoft .NET Framework verze 3.5, doinstaluje se automaticky.

Obr. 2 Volba doplňků

 

Cílové platformy

Integrované vývojové prostředí RAD Studia 10.2 Tokyo běží pouze pod Windows, umožňuje však vyvíjet aplikace pro počítače vybavené procesory Intel nebo AMD, na nichž je instalován operační systém Windows 7, 8, 8.1, 10 (včetně Anniversary Update), Windows Server 2012 nebo Windows Server 2016. Vedle toho můžeme v RAD Studiu vyvíjet aplikace pro počítače Macintosh, na nichž je instalován OS X 10.10, 10.11 nebo 10.12, pro iPhone, iPad nebo iPod Touch vybavené iOS 9 – iOS 10. Dále můžeme v RAD Studiu vyvíjet aplikace pro mobilní telefony a tablety se systémem Android 5, 6, 7 a 4.1.x – 4.4.x.

Novinkou mezi podporovanými platformami je 64bitový Linux Ubuntu Server (Ubuntu 16.04 LTS) a RedHat Enterprise Linux verze 7.

Podobně jako v předchozích verzích chybí mezi podporovanými mobilními platformami jakákoli z verzí Windows Phone.

 

Integrované vývojové prostředí

Integrované vývojové prostředí (IDE) RAD Studia 10.2 Tokyo se příliš neliší od předchozích verzí. Po spuštění IDE se v části okna, kterou obvykle využívá editor, objeví nabídka s příkazy pro otevření předchozích projektů, pro vytvoření běžných typů nových projektů, pro otevření dokumentace nebo pro spuštění tutoriálů. Lze odtud také spustit nástroje pro doinstalování součástí, které jsme při instalaci vynechali, a pro získání doplňků třetích stran.

Obr. 3 Integrované vývojové prostředí RAD Studia 10.2 Tokyo po spuštění

 

Při práci s IDE jsem narazil na nepříjemný problém: občas padá, a to při psaní zdrojového textu. Pokud mohu posoudit – a napovídají tomu i informace nalezené v různých diskusních skupinách –, jedná se o problém nástroje pro dokončování kódu (Code Completion). Když jsem ho vypnul, problém se již neobjevil.

Starší a nová verze RAD Studia

Až donedávna platilo, že na jednom počítači lze mít několik verzí RAD Studia zároveň a nezpůsobí to žádné problémy. To, zdá se, skončilo. Jestliže máte na jednom počítači zároveň verzi 10.2 a některou starší, můžete narazit na problémy při ladění, tedy při krokování programu a možná i v některých dalších situacích; IDE se bude chovat poněkud zmateně.

Tutoriály

Přímo z IDE lze spustit řadu tutoriálů (v angličtině); k tomu je však třeba mít instalovaný Adobe Flash Player. Vedle návodů, jak připravit počítač pro vývoj aplikací pro různé platformy, zde najdeme příklady využití nových i starších komponent, které jsou součástí knihoven RAD Studia, a mnohé další.

Dokumentace a nápověda

Dokumentace je tvořena webovými stránkami [2], které lze otevřít v buď v prohlížeči, použijeme-li příkaz z nabídky, nebo přímo v IDE, použijeme-li tlačítko Documentation nad plochou editoru před otevřením projektu.

Nápověda obsahuje mimo jiné dokumentaci k různým knihovnám, referenční přehled Object Pascalu a C++ a další. Najdeme tu samozřejmě také přehled novinek a pokyny k instalaci.

Zobrazíme-li dokumentaci v IDE, bude se RAD Studio chovat jako webový prohlížeč. U předchozí verze jsem si stěžoval, že (alespoň v mé instalaci) bylo tlačítko pro návrat na předchozí stránku nefunkční. V současné verzi mi toto tlačítko chybí úplně, proto doporučuji použít k prohlížení dokumentace jakýkoli běžný prohlížeč.

Vedle toho je k dispozici i lokální nápověda v tradičním formátu obsahující podobné informace jako zmíněné webové stránky. Její instalace je volitelná, můžeme si ji předepsat v okně Additional Options nástroje pro volbu platforem a dalších součástí RAD Studia. Docela jsem ji ocenil při práci v místech, kde jsem se nemohl připojit k internetu.

 

Projekt

Podle toho, jaké součásti jsme si instalovali, nám IDE bude nabízet odpovídající typy projektů. Jak pro Delphi, tak pro C++ jsou k dispozici projekty postavené nad knihovnou VCL, projekty multiplatformních aplikací (Multi-Device Application) a vytvoření balíčku nebo jednotky. Jestliže nám ani jedna z těchto možností nevyhovuje, použijeme v nabídce možnost Other, jež otevře dialog nabízející konzolové aplikace, vytvoření dynamické knihovny, balíčku, aplikace s rozhraním Metropolis založené na knihovně VCL nebo FireMonkey, aplikace s rozhraním MDI nebo SDI a další.

Pomocí správce projektů (Project Manager) můžeme v závislosti na typu projektu přidat další cílové platformy a pak mezi nimi přepínat a tak překládat týž projekt pro různé operační systémy.

Poznamenejme, že IDE nenabízí samostatný projekt aplikace pro Linux; můžeme ho však přidat k projektu jako další platformu v případě některých typů projektů – např. konzolové aplikace (obr. 4).

Obr. 4 Přidáváme Linux jako cílovou platformu

 

Object Pascal

Součástí RAD Studia je sedm různých překladačů Object Pascalu pro různá cílová prostředí. Při přenosu programů mezi prostředími je třeba ovšem mít na paměti, že tyto překladače respektují zvláštnosti jednotlivých platforem, takže např. rozsahy některých vestavěných datových typů se mohou na různých platformách lišit. Typickým příkladem je typ extended pro práci s reálnými čísly, který je

  • osmibajtový v překladačích pro Win64, iOS a Android,
  • desetibajtový v překladačích pro Win32,
  • šestnáctibajtový v překladačích pro Mac OS a Linux.

C++

Také překladačů jazyka C++ je v RAD Studiu 10.2 sedm; dva z nich – BCC32 a BCC32C – jsou určeny pro Win32, další jsou pro ostatní cílové platformy. V současné verzi RAD Studia dosud není k dispozici překladač C++ pro Linux.

Překladač BCC32 je odvozen od BCC, původního šestnáctibitového překladače jazyka C++, který vyvinula firma Borland v devadesátých letech minulého století. Od něj je také odvozen překladač BCCOSX pro Mac OS X.

Všechny ostatní překladače C++ kromě BCC32 a BCCOSX jsou založeny na vstupní části („frontendu“) Clang a na infrastruktuře LLVM (Low Level Virtual Machine).

Přehled překladačů jazyka C++ v RAD Studiu, jejich cílových platforem a použitých verzí Clang a LLVM najdete v následující tabulce, kterou jsem převzal z dokumentace.

 

Překladač

Cílová platforma

Verze Clang

Verze LLVM

BCC32

Win32 - -
BCCOSX OS X - -
BCC32C Win32 3.3 3.3
BCC64 Win64 3.3 3.3
BCCIOSARM 32bitový iOS 3.3 3.3
BCCIOSARM64 64bitový iOS 3.3 3.5
BCCAARM Android 3.3 3.5

 

Překladač BCCIOSARM byl oproti předchozí verzi RAD Studia aktualizován (předchozí verze používala LLVM verze 3.1), ostatní jsou stejné jako v předchozí verzi.

Poznamenejme, že při vývoji aplikace pro Win32 můžeme volit, zda chceme původní překladač BCC32 nebo překladač BCC32C. Výchozí je BCC32; ke změně použijeme dialog s volbami projektu.

Rozdíly mezi překladači

Překladače založené na původním borlandském překladači BCC se od překladačů založených na Clang liší ve shodě se standardem jazyka – k tomu se vrátíme dále. Vedle toho se liší i v následujících ohledech:

  • Přepínače, používané v příkazové řádce těchto překladačů, jsou výrazně odlišné.
  • Překladače založené na Clang dovolují deklarovat implicitní hodnoty parametrů pouze v deklaraci funkce. Původní borlandské překladače je tolerují také např. v deklaraci ukazatele na funkci nebo na metodu.
  • Překladače založené na Clang nedovolují použití operátoru sizeof v direktivě #if (to je v rozporu se standardem jak jazyka C, tak i jazyka C++). BCC32 to dovoluje.
  • Překladače založené na Clang poněkud přísněji kontrolují konverze. Například v případě deklarace
    char * p = "nějaký řetězec"; kterou BCC32 ponechá bez povšimnutí, ohlásí překladače založené na Clang varování, neboť automatická konverze typu const char* na typ char* patří mezi zavržené konstrukce.

Další informace lze najít na webových stránkách [3].

C++11, C++14 a C++17

Ani překladače založené na BCC, ani překladače založené na Clang zdá se nepodporují konstrukce, které přinesl standard C+14 nebo dokonce konstrukce, které by měly být součástí C++17. Podívejme se tedy na shodu těchto překladačů se standardem C++11. Přehled vybraných konstrukcí a stav jejich implementace shrnuje následující tabulka.

 

Konstrukce

BCC32

BCC32C

Příkaz for pro kontejnery

Ne

Ano

Klíčové slovo auto

Ano

Ano

Jednotná inicializace

Ne

Ano

Nové typy řetězců a znaků

Ano

Ano

Reference na r-hodnotu

Ano

Ano

Klíčové slovo nullptr

Ne

Ano

Statické aserce

Ano

Ano

Deklarace typu pomocí using

Ne

Ano

Diakritika v identifikátorech

Ano

Ano

Silné výčtové typy

Ano

Ano

Delegování konstruktorů

Ne

Ano

Dědění konstruktorů

Ano

Ano

Metody delete

Ne

Ano

Metody default

Ne

Ano

Specifikátor override

Ne

Ano

Specifikátor final

Ne

Ano

Inicializace nestat. složek tříd v deklaraci

Ne

Ano

Nová syntax deklarace funkce

Ne

Ano

Identifikátor __func__

Ano

Ano

Specifikátor decltype

Ano

Ano

Lambda-výrazy

Ne

Ano

Specifikátor noexcept

Ne

Ano

Specifikátor constexpr

Ne

Ano

Variadické šablony

Ne

Ano

Zápis „>>“ ve specializaci šablony

Ne

Ano

Atributy

Ne

Ano

Uživatelské literály (operátor "")

Ne

Ano

 

Knihovny

O novinkách v knihovnách VCL a FireMonkey jsme se už zmínili v úvodním přehledu. Zde se krátce podíváme některé další.

Standardní knihovna C++

C++Builder implicitně používá standardní knihovnu jazyka C++ v implementaci Dinkumware, a to stejnou jako v předchozích verzích. To znamená, že v překladačích BCC32 a BCCOSX je k dispozici verze 5.01, tedy na úrovni standardu z roku 2003 s některými rozšířeními odpovídajícími standardu z roku 2011, a v překladačích BCC32C a BCC64 je k dispozici verze 6.50, jež odpovídá standardu z roku 2011 s některými novinkami ze standardu C++14. Nenajdeme tu např. literály typy string nebo literály vyjadřující čas, najdete tu šablonu integer_sequence, funkce cbegin() a cend(), které lze použít místo stejnojmenných metod atd.

  • Ve starší verzi standardní knihovny Dinkumware není k dispozici implementace jednosměrně zřetězeného seznamu, chybí tu třída array představující objektové zapouzdření pole z jazyka C, a není tu ani n-tice (šablona tuple). Pokud jde o kontejnery, najdeme tu z novinek standardu C++11 pouze šablony unordered_set, unordered_multiset, unordered_map a unordered_multimap, jež představují různé implementace hešových tabulek.
  • Novější verze této knihovny, kterou používají překladače založené na Clang, je obsahuje.
  • Ve starší verzi standardní knihovny Dinkumware také chybí nástroje pro práci s regulárními výrazy, nástroje pro práci s podprocesy (vlákny) a nástroje pro atomické operace. Nenajdeme tu ani nástroje pro práci s časem deklarované v hlavičkovém souboru . Také v tomto případě platí, že novější verze je obsahuje.
  • Ani jedna z porovnávaných verzí standardní knihovny neobsahuje manipulátory get_money() a put_money() pro formátovaný vstup a výstup měny. Neobsahuje také manipulátory get_time() a put_time() pro formátovaný vstup a výstup času.

Poznamenejme, že tuto knihovnu nelze použít pro mobilní platformy.

Podobně jako v předchozích verzích můžeme také používat podmnožinu implementace standardní knihovny C++ Boost přizpůsobenou pro RAD Studio. I zde se verze liší. Pro překladače BCC32 a BCCOSX je k dispozici verze 1.39.0, pro BCC32C a BCC64 je k dispozici verze 1.55.0 a pro BCCAARM je k dispozici verze 1.53.0. Tuto knihovnu si však musíme instalovat zvlášť. (Ani zde nedošlo ke změně oproti předchozí verzi.)

Obr. 5 Dokumentace v IDE RAD Studia

 

Internet věcí

Připomeňme si, že pod názvem Internet věcí (Internet of Things, IoT) se skrývá propojení různých zařízení spravovaných vestavěným procesorem s počítači připojenými na internet. V RAD Studiu 10.2 Tokyo je podpora IoT v podstatě stejná jako v předchozí verzi; podrobnější informace najdete v recenzích předchozích verzí RAD Studia, viz [4] a [5]).

 

Cloud a jeho využití

Také podpora tvorby aplikací pro využití cloudových služeb je stejná jako v předchozí verzi. To znamená, že RAD Studio 10.2 Tokyo podporuje ve všech edicích využití cloudů Amazon a Microsoft Windows Azure. Pokud jde o Amazon, je k dispozici Amazon Simple Storage Service (S3) API, Amazon Queue Service API a Amazon SimpleDB API.

V případě MS Azure najdeme v RAD Studiu podporu API Microsoft Azure Blob Service, Microsoft Azure Table Service a Microsoft Azure Queue.

Poznamenejme, že komponenty pro připojení k uvedeným cloudům najdeme v IDE na paletě výstižně pojmenované Cloud.

 

Přístup k datům

Základní technologii pro tvorbu databázových aplikací je v současném RAD Studiu knihovna FireDAC, jež představuje vrstvu poskytující společné aplikační rozhraní pro přístup k datům různých databázových strojů. Tato knihovna využívá specifických vlastností jednotlivých databázových serverů. Opírá se o komponenty, jako je TFDConnection představující připojení, TFDQuery představující SQL příkaz, TFDTable představující databázovou tabulku a mnohé další.

Komponenty z této knihovny podporují technologii LiveBindings, takže programování přenosu dat je v mnoha situacích velice snadné.

Součástí nové verze RAD Studia jsou i starší komponenty dbExpress pro přístup k SQL serverům.

Nezmizela ani jistá podpora nejstarší technologie BDE (Borland Database Engine), jež sloužila především pro přístup ke stolním databázím, jako byl Paradox, dBase nebo FoxPro. (I když je to neuvěřitelné, aplikace založené na těchto prehistorických nástrojích dosud tu a tam běží.) Ovšem nástroje pro práci BDE je třeba si stáhnout samostatně.

Je však třeba říci, že v současné době se tato technologie nevyvíjí a je v dokumentaci označena za zavrženou (deprecated).

InterBase

Součástí instalace je i vývojářská edice databázového serveru InterBase XE7 Developer Edition – stejně jako byla v předchozích verzích. Od vydání RAD Studia byla ovšem uvolněna i nová verze tohoto serveru, InterBase 2017; licence RAD Studia pro edici Professional a vyšší aktivuje i vývojářskou edici tohoto serveru a edici InterBase 2017 ToGo pro jednoho uživatele; i s nimi umí RAD Studio pracovat.

Přístup k databázím

RAD Studio nabízí nástroje pro přístup k řadě databázových serverů. V přehledu novinek jsme se zmínili o MySQL po verzi 5.5 a MariaDB 5.5. Pomocí komponent FireDAC lze dále přistupovat k serverům Microsoft SQL, Oracle, InterBase, PostgreSQL, Informix, Sybase SQL Anywhere, Microsoft Access, IBM DB2 Server, Firebird, Advantage Database. Poznamenejme, že tento výčet není úplný.

Současná verze RAD Studia podporuje také práci s lokálními databázemi, jako je Microsoft Access, SQLite, MariaDB, InterBase ToGo / IBLite, InterBase na lokálním počítači, MySQL Embedded, MySQL Server na lokálním počítači, lokální stroj databáze Advantage Database, PostgreSQL na lokálním počítači, Firebird Embedded, Firebird na lokálním počítači.

V prostředí Linuxu lze přistupovat mj. k serverům MySQL, MariaDB, Microsoft SQL Server, Oracle, InterBase, PostgreSQL, Sybase SQL Anywhere, IBM DB2 Server, Firebird, Advantage Database a MongoDB. K dispozici je i generický ovladač pro ODBC. Najdeme tu také podporu lokálních databází, jako je SQLite a InterBase ToGo / IBLite.

Prostřednictvím nástroje GetIt lze získat i nástroje pro přístup k nerelačnímu (non-SQL) paměťovému úložišti Redis, který poslední dobou získává na popularitě.

Několik slov na závěr

Stejně jako u předchozích verzí Rad Studia platí, že jeho nejsilnější stránkou možnost současného vývoje aplikací s jedním zdrojovým kódem pro několik platforem zároveň.

Nevýhodou pro nového uživatele je poměrně vysoká cena – ani na tom se nic nezměnilo: Jedna licence nejsilnější edice Architect stojí v současné době 177 200 Kč, verze Enterprise, která by měla většině vývojářů zcela postačovat, stojí 132 900 Kč, nejslabší edice Professional stojí 80 100 Kč. Za samotné Delphi nebo C++Builder v edici Architect zaplatíte v současnosti 177 200 Kč, za edici Enterprise 110 800 Kč a za edici Professional 44 300 Kč. Licence edice Starter je v současné době (zatím do konce května) zdarma.

Ve výše uvedených cenách zahrnuto i předplatné pro první rok. (Po dobu platnosti garantuje uživateli aktualizaci produktu a technickou podporu v rozsahu tří incidentů na licenci). Po jeho vypršení se může uživatel rozhodnout, zda si službu prodlouží či nikoliv.

Další informace o aktuálních cenách najdete na stránkách českého zastoupení firmy Embarcadero.

MIF21

 

Odkazy (všechny citace webových zdrojů jsou ze 2. 5. 2017)

  1. Embarcadero CZ + SK. Dostupné na http://www.embt.cz/cs/produkty/361-rad-studio-10-2-tokyo-enterprise.html
  2. Help for RAD Studio 10.2 Tokyo. Dostupné na http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Main_Page
  3. Differences Between Clang-enhanced C++ Compilers and Previous-Generation C++ Compilers. Dostupné na http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Differences_Between_Clang-enhanced_C++_Compilers_and_Previous-Generation_C++_Compilers
  4. M. Virius: Recenze: RAD Studio 10.1 Berlin. Dostupné na http://computerworld.cz/software/rad-studio-10-1-berlin-53174-p53721
  5. Virius, M.: Velká Recenze: Nová verze vývojového nástroje RAD Studio 10 Seattle z pohledu Miroslava Viriuse. Dostupné na http://programujte.com/clanek/2015112000-velka-recenze-nova-verze-vyvojoveho-nastroje-rad-studio-10-seattle-z-pohledu-miroslava-viriuse/