RAD Studio 10 Seattle
Skratka RAD znamená Rapid Application Development a nová verzia umožňuje vývojárom v C++ a Delphi intuitívne a efektívne vytvárať multiplatformové aplikácie pre Windows 10, OS X, iOS a Android, ktoré využívajú spoločný kód a dajú sa realizovať paralelne v rámci spoločného projektu.
Vývojári v súčasnosti hľadajú technológie, ktoré by im pomohli reagovať na požiadavky zadávateľov, ktorí potrebujú aplikácie pre všetky najrozšírenejšie platformy, či už serverové, desktopové, alebo mobilné. A do hry čoraz viac vstupuje internet vecí, teda požiadavky na vývoj aplikácií pre sofistikovanejšie riadiace jednotky pripojených systémov a subsystémov alebo aplikácií, ktoré budú z týchto systémov zbierať a spracúvať údaje.
Najočakávanejšia novinka novej verzie vývojového prostredia Embarcadero RAD Studio 10 Seattle je vývoj aplikácií pre Windows 10, pričom táto verzia, samozrejme, zahrnuje aj možnosť využitia nových funkcií, ktoré priniesli nové verzie Androidu, OS X a iOS. Tvorcovia RAD Studio 10 mysleli, samozrejme, aj na vývojárov existujúcich aplikácií, ktorí ich chcú čo najrýchlejšie a najefektívnejšie portovať do Windows 10. Kto očakával, že došlo k zjednodušeniu a zlepšeniu návrhového prostredia, zvýšeniu produktivity zápisu či automatického generovania kódu, zrýchleniu behu aplikácií či lepšej podpore tímovej spolupráce na rozsiahlejších projektoch, rozhodne nebude sklamaný. Zaujala nás aj inteligentnejšia a interaktívnejšia pomoc. Na súčasných vývojárskych počítačoch je spravidla inštalovaných minimálne 8 - 16 GB pamäte RAM a nové vývojové prostredie túto pamäť dokáže lepšie využiť pri kompilovaní a zostavovaní rozsiahlejších multiplatformových projektov.
Keby sme mali zhrnúť všeobecné požiadavky na moderné aplikácie, bude to požiadavka na ukladanie a spracovanie údajov, ktorých objem a frekvencia zberu sa v mnohých prípadoch dá špecifikovať ako big data. Rovnako dôležité je prepojenie s cloudovými službami a vizuálne príťažlivé používateľské rozhranie. Bez ohľadu na to, či portujete aplikáciu z mobilných platforiem alebo starších verzií Windows do Windows 10, prípadne opačne, aplikáciu Windows pre mobilné platformy, pomôžu vám nové komponenty knižnice VCL, či už ide o ovládače, dizajnové štýly, alebo služby pre aplikácie UWP (Universal Windows Platform). Rovnako bohaté možnosti majú vývojári pre všetky podporované desktopové, mobilné, cloudové alebo databázové platformy.
Predchádzajúce verzie RAD Studia umožňovali vývoj aplikácií, ktoré mali identické používateľské rozhranie ako aplikácie Modern UI pre Windows 8 a 8.1, ale z hľadiska použitej technológie to boli desktopové aplikácie. Nová verzia RAD Studio 10 Seattle pokračuje v tomto trende. Umožňuje vývoj aplikácií, ktoré využívajú kľúčové vlastnosti UWP a RT vrátane notifikácií, kontraktov a ďalších kľúčových funkcií, ale dajú sa spustiť aj na starších verziách Windows 7 a 8. Ponuka prvkov bola rozšírená o RelativePanel, ToggleSwitch, SearchBox, SplitView a ActivityIndicator.
Novinky RAD Studio 10 Seattle
Predovšetkým je to rozsiahla podpora prostredia Windows 10. Vývojári bez ohľadu na to, či používajú C++ alebo Delphi, môžu svoje aplikácie vytvorené pomocou knižníc VCL alebo FMX rýchlo preniesť do prostredia Windows 10. K dispozícii sú aj natívne komponenty či aplikačné programové rozhranie typu UWP/RT (Universal Windows Platform/Runtime). C++Builder 10 prináša kompilátor jazyka C++ vo verzii 11 pre Windows a mobilné zariadenia, doplnený o CLANG a obsahujúci rozšírenia PME (property, method, event). Správa pamäte je založená na ARC (Automatic Reference Counting). Spätná kompatibilita je samozrejmosť.
RAD Studio 10 Seattle kladie veľký dôraz na podporu prepojenia a komunikácie, či už ide o knižnice na využitie možností webových protokolov HTTP a HTTPS, bluetooth vrátane LE, takže môžete v aplikáciách využívať aj populárne rádiové majáky „beacons" či technológiu App Tethering na rýchle prepojenie desktopových a mobilných aplikácií. V praxi to znamená možnosť rozšíriť existujúce aplikácie využívajúce VCL aj na mobilné platformy vrátane nositeľných zariadení. Samozrejme, budete musieť prispôsobiť prezentačnú vrstvu aplikácie možnostiam zobrazovania na displeji zariadenia. Súčasťou vývojového prostredia sú aj nástroje pre službu Enterprise Mobility Services (EMS) od Embarcadera, ktoré umožňujú generovať push notifikácie aj pre platformy Apple a Google. Vývojárov poteší nielen implementácia technologických noviniek, ale aj drobnosti uľahčujúce každodennú prácu, lepšiu navigáciu v kóde, štatistiky projektov, ako aj história schránky na kopírovanie, ukončovanie zátvoriek a podobne. Výrazne sa zlepšila aj podpora zobrazovania na monitoroch s veľkým rozlíšením a v mnohých prípadoch aj s možnosťou zmeny orientácie na výšku a viacerých monitoroch pripojených k vývojárskemu počítaču.
Rozšírte možnosti aplikácií o IoT
Funkčnosť existujúcich firemných aplikácií možno bez problémov rozšíriť o integráciu mobilných zariadení a rôznych senzorov a riadiacich jednotiek v rámci IoT, teda internetu vecí. Aby sme boli presní, cieľom nie je pripojiť mikrokontroléry k jednej mobilnej aplikácii, ako je to zvykom v hobby sfére, ale vytvárať prepojené systémy s niekoľkovrstvovou architektúrou a cloudovými službami na zber a analýzu údajov. Pre firmy je kľúčové, že môžu zabudovať riešenie IoT a súčasne zachovať existujúcu infraštruktúru.
Praktické skúsenosti
Najviac sme boli zvedaví na možnosti vývoja multiplatformových aplikácií, preto sme už pri inštalácii nechali označené všetky ponúkané platformy. Okrem vývojového prostredia a ďalších komponentov od Embarcadera a ďalších firiem sa z webu automaticky stiahli a nainštalovali aj SDK pre tieto platformy. Pre prvý projekt sme vybrali typ Multi-Device Application. Nasleduje ponuka typu používateľského rozhrania, môžete si vybrať napríklad aplikáciu, v ktorej bude kontext rozčlenený do záložiek, alebo aplikáciu, ktorej bude dominovať zoznam master-detail. V predchádzajúcich verziách sa tento typ aplikácií nazýval Fire Monkey Mobile Application, pretože využívajú knižnicu Fire Monkey na vývoj vizuálne pôsobivých multiplatformových aplikácií. Výsledkom prekladu je natívny kód využívajúci nielen procesor, ale aj grafický akcelerátor, čo sa výrazne prejaví na rýchlosti graficky bohatých aplikácií. Hardvérovú akceleráciu možno využiť aj v mobilných zariadeniach. Z ponuky šablón je zrejmé, že okrem klasických aplikácií s 2D, napríklad obchodnou grafikou či schémami procesov, možno využiť aj 3D zobrazenie a animáciu. Bez ohľadu na to, pre ktorú platformu aplikáciu vytvárate a ktorý z programovacích jazykov (C++ alebo Delphi) použijete, kompilátory vždy generujú natívne binárne spustiteľné súbory, takže aplikácia dokáže naplno využiť rýchlosť procesora a grafického čipu príslušného zariadenia.
Ponuka šablón aplikácií Multi-device
Vývojové prostredie sme nainštalovali na bežnú konfiguráciu podnikového notebooku s procesorom Intel Core i5 a 16 GB RAM. Prekvapila nás veľmi svižná reakcia IDE a rýchlosť kompilácie a zostavenia zložitejších projektov - príkladov podnikových aplikácií, ktoré sa nainštalovali s vývojovým prostredím. Pri rozsiahlych projektoch, kde sa zostavujú aplikácie pre viac platforiem, sa na maximum využíva RAM, takže RAD Studio 10 Seattle sa dá bez preháňania nazvať „in-memory" vývojové prostredie.
Možnosti zobrazenia návrhu používateľského rozhrania aplikácie
Verzia vývojového prostredia, ktoré sme testovali, podporovala verzie platforiem Windows 10, iOS 8.4, Android 5.1.1 a OS X Yosemite. RAD Studio 10 Seattle ponúka technológiu FireUI na návrh používateľského rozhrania pre široké spektrum zariadení rôznych platforiem. Na rozdiel od niektorých konkurenčných vývojárskych nástrojov netreba navrhovať separátne používateľské rozhrania prispôsobené pre každú platformu.
Verdikt
Najväčšia výhoda nového vývojového prostredia je multiplatformovosť. Vývojári nemusia udržiavať viac natívnych projektov pre rôzne platformy. Spoločnosti dodávajúcej aplikáciu stačí zostaviť jediný vývojový tím, vytvárať jediný zdrojový kód v rámci jedného časového plánu bez nutnosti obetovať čokoľvek z výkonu alebo používateľského komfortu aplikácií.