čtvrtek 29. října 2015

RAD Studio 10 Seattle

Změny v licencovaní a registraci

Uvedením nové řady produktů RAD Studio, Delphi a C++Builder 10 Seattle došlo k úpravám některých mechanismů a procesů spojených s jejich licencováním, instalací a registrací. Zde naleznete některá doporučení, která by Vám měla pomoci s nejčastějšími otázkami:

Předplatné

Počínaje verzí XE8 společnost Embarcadero dodává většinu oprav pouze uživatelům s aktivní podporou, tedy těm, kteří mají zakoupeno tzv. "předplatné aktualizací". Výrazně tak přibývá uživatelů, kteří tuto službu využívají. Součástí technické podpory je také údržba verzí ("maintenance"), která po dobu platnosti garantuje uživateli bezplatné získání všech nově vydaných verzí. Dříve platilo, že po uvedení nové verze byl uživatelům odeslán e-mail, který je vyzval k vyzvednutí sériového čísla na portálu údržby ("maintenance portal)" a obsahoval zároveň i potřebné přihlašovací údaje. Bohužel se často stávalo, že zpráva kvůli antispamovým filtrům, změnám e-mailových adres a podobným důvodům nebyla doručena.

Počínaje verzí 10 Seattle uživatelům s předplatným jejich sériové číslo zůstává. Je-li k dispozici nová verze, stačí si ji jen stáhnout. Instalace se pokusí vyhledat existující licenci a provést s jejím využitím aktivaci produktu. Na maintenace portálu tak již naleznete pouze upozornění, které o této změně informuje.

Maintenance portal - upozornění.

Ověření předplatného

Období platnosti technické podpory bývá uvedeno v potvrzovacím e-mailu a také na faktuře. V řadě případů však nemusí být kupující, správce licence a  uživatel tatáž osoba. Pokud nemáte k výše uvedeným podkladům přístup, nevadí. Zda je Vaše předplatné aktivní, si nově můžete kdykoliv ověřit za pomoci aplikace „LicenseManager“. Naleznete ji v adresáři „bin“ Vaší instalace RAD Studia. Jsou zde uvedeny všechny důležité informace, které se Vaší licence týkají.

License manager

Který způsob instalace zvolit

Vývojové nástroje společnosti Embarcadero lze zakoupit v několika edicích, které se od sebe liší nabízenými funkcemi. Instalační média se podle edic neliší, ale obsahují vždy všechny dostupné funkce pro RAD Studio Enterprise (tedy jak pro Delphi, tak C++ Builder v edici Enterprise). O tom, co bude skutečně instalováno, rozhoduje zadané sériové číslo. Instalovat lze z webu nebo z instalačních médií.

Webová instalace - na počítač se stáhne relativně malý instalační program (cca 50 MB), který však po spuštění všechny binární soubory získává z Internetu a ukládá je do pomocného adresáře na disku. Výhodou je, že se soubory stahují v průběhu instalace produktu. Lze tak začít ihned, nic dalšího nepotřebujete. Webovou instalaci nelze použít, pokud nemáte k dispozici přístup k Internetu, nebo je Vaše připojení pomalé. Nejedná se o také ideální volbu, pokud hodláte produkt instalovat na více počítačích. Webová instalace má výrazně vyšší nároky na diskový prostor.

Instalační média - fyzická média již společnost Embarcadero standardně nedodává. Produkty jsou dodávány formou ESD (Electronic Software Delivery). Média si tak musíte objednat zvlášť, nebo si je vytvořit ze stáhnutého ISO obrazu. Odkazy na stažení obrazů instalačních médií naleznete na stránkách českého zastoupení.

ISO soubor lze připojit („namapovat“) jako virtuální disk. Z pohledu uživatele se pak jeví jako standardní mechanika s vloženým CD/DVD/Blue-ray diskem. Pro tento způsob práce s ISO souborem budete potřebovat pomocný software. Doporučované jsou nástroje jako VirtualClone Drive (viz obr. "Práce s ISO soubory" bod 1) , nebo MS Virtual CD Control.

Pro "vypálení" staženého ISO souboru je potřeba především vlastní fyzické médium. Protože velikost u RAD Studia 10 Seattle přesahuje kapacitu běžného DVD (4,7 GB), je třeba použít DVD+R DL (8.5 GB) nebo BD-R (25 GB). K zápisu na zvolené médium lze použít nástroje Windows (viz obr. "Práce s ISO soubory" bod 2), nebo prakticky libovolný vypalovací software.

Práce s ISO soubory

Odkazy na instalační média naleznete na http://www.embt.cz/cs/stranky/68-instalacni-media. Média jsou typicky dostupná ve dvou variantách, tedy pro registrované a pro neregistrované uživatele. Prvně uvedená jsou určena uživatelům s aktivním předplatným, nebo uživatelům, kteří již mají daný produkt registrovaný na svém účtu EDN. Naleznete zde i speciální instalaci pro uživatele síťových licencí. Naproti tomu média pro neregistrované uživatele si může stáhnout každý, kdo má účet EDN založený.

Doporučení pro instalaci

Pro bezproblémovou instalaci je doporučeno dodržet následující doporučení:
  • Zkontrolujte si, že počítač splňuje doporučené minimální nároky, především pak volný prostor na pevném disku.
  • Ověřte název účtu (jméno uživatele) pod kterým hodláte produkt instalovat. Nesmí neobsahovat diakritiku. 
  • Ověřte si, že máte dostatečná oprávnění. Instalaci se doporučuje provádět pod účtem s právy lokálního administrátora.
  • Připravte si všechny potřebné údaje (přihlašovací údaje k EDN účtu, sériová čísla, instalační média a podobně).
  • Před zahájením instalace si vytvořte bod obnovy operačního systému.
  • Během instalace je vhodné vypnout antivirovou kontrolu a případně také UAC (User Access Control)
  • Produkt musí být instalován pro všechny uživatele ("All Users").
  • Produkt zaregistrujte, zazálohujte licence a uložte si přihlašovací údaje k EDN.
  • Vyzvedněte si starší verze produktů a další případné bonusy. Ve většině případů mají tyto nabídky omezenou platnost a později se k nim již nemusíte dostat!
  • Instalujte rozšiřující produkty a komponenty.
  • Po úspěšné instalaci opět vytvořte bod obnovy operačního systému.

Instalace produktu "pod předplatným"

Jak již bylo řečeno, dodání nových verzí produktů v rámci předplatného již není realizováno prostřednictvím "Maintenance portálu". Způsob instalace a aktivace licence se liší podle typu licence, kterou uživatel vlastní.

Pojmenované licence - Pro instalaci a registraci pojmenované ("Named User") licence se použije sériové číslo předchozí verze. 
  • Pokud je na počítači instalována předchozí verze produktu, instalační průvodce ji automaticky detekuje a použije. 
  • Pokud provádíte instalaci na stroji, kde předchozí verze produktu instalována není, zvolte "I already have a product serial number". Následně vložíte Vaše sériové číslo pro předchozí verzi.
Síťové licence - Pro instalaci síťových pojmenovaných nebo síťových souběžných licencí je třeba provést takzvaný "rehosting" licenčního certifikátu získaného spolu s předchozí verzí. Správce licencí se musí přihlásit k licenčnímu serveru a z nabídky vybrat "License Hosting". Po zadání přihlašovacích údajů a čísla licenčního certifikátu (údaje jsou uvedeny v licenčním e-mailu) předchozí verze se načtou aktualizované licenční soubory. 

"Rehosting licence"

Na jednotlivých stanicích se pak provede instalace produktu. Použít je třeba instalační média pro síťovou instalaci. Odkaz pro jejich stažení je vždy uveden na téže stránce, kde jejich nesíťová varianta pro registrované uživatele.

Média pro síťové licence

Zkušební verze

Jak bývá zvykem, všechny vývojové nástroje společnosti Embarcadero si může zákazník před zakoupením vyzkoušet. Pro tento účel je k dispozici speciální "trial" licence. Ta se od placené "komerční" licence liší v následujících bodech:
  • Licence je funkční po omezenou dobu (30 dní). 
  • Licence je dostupná pouze v edici Architect. 
  • Není k dispozici zdrojový kód knihoven VCL a FMX. 
Zkušební verzi je doporučeno instalovat do zvoleného virtuálního prostředí (VMware, VirtualBox, MS Virtual PC a další). Produkt lze odinstalovat standardními prostředky operačního systému. Na počítači však zůstávají uchovány některé licenční informace. To je třeba brát v úvahu, pokud následně hodláte instalovat placenou licenci. Nově hledá instalace RAD Studia, Delphi nebo C++ Builderu předchozí licence. Nalezne-li tak informaci o dříve instalované zkušební verzi, převezme automaticky její licenční informace (včetně data expirace). Uživatel není vyzván k zadání sériového čísla a nainstalovaný produkt neodpovídá zakoupené licenci. V takovém případě neprovádějte odinstalaci, ale pouze změňte licenci! Instalátor následně doplní nebo naopak odstraní příslušné součásti a komponenty.

Instalace Add-On balíčků, změna licence

U vývojových nástrojů společnosti Embarcadero lze provést změnu konfigurace i u již instalovaného software. Tuto možnost lze použít v případech, kdy potřebujeme:
  • Změnit zkušební verzi na trvalou komerční licenci.
  • Doplnit další funkce produktu (instalace FireDAC nebo Mobile Add-On).
  • Opravit poškozenou nebo nedokončenou instalaci.
Ve Windows 7 nalezneme tuto možnost přímo ve skupině programů instalovaných RAD Studiem.

Změna konfigurace - Windows 7

Ve Windows 10 je třeba otevřít „Ovládací panely“ a v sekci „Programy a funkce“ vybrat RAD Studio a volbu „Změnit“.

Změna konfigurace - Windows 8.x a vyšší

Po spuštění se otevře dialog, který umožňuje zvolit požadovanou akci. Volba „Upgrade“ dovoluje změnit edici nástroje nebo doinstalovat přídavné balíčky, pomocí „Modify“ můžeme přidávat nebo odebírat jednotlivé součásti stávající instalace a „Remove“ kompletně odstraní program z počítače.

Provedení "Upgrade"

Pokud zvolíme „Upgrade“, je následně třeba zadat sériové číslo zakoupené licence RAD Studia, Delphi, C++ Builderu nebo Add-On balíčku a spuštěný instalátor provede odpovídající změny.

neděle 31. května 2015

AppAnalytics

Vývojové nástroje Delphi a C++ Builder nabízí mnoho rozšíření, které zefektivňují nebo usnadňují proces tvorby aplikace. Při kódování aplikace nám asistuje Castalia, do prostředí lze integrovat systémy pro správu verzí jako je Subversion nebo GIT, technologie LiveBindings nabízí mimo jiné rychlé prototypování aplikací a s přizpůsobením aplikace různým typům zařízení pomůže návrhář FireUI.
Verze XE8 jde ještě dál a přináší vývojářům možnost zvýšit "User Experience" svých aplikací. Najít pro "User Experience" přijatelný český překlad není vůbec jednoduché. Obecně používaný "uživatelský prožitek" působí přinejmenším zvláštně, byť mnohým z nás již nějaký software hluboký uživatelský prožitek dozajista přinesl.
Nicméně poučit se z toho, jakým způsobem uživatelé s naší aplikací pracují, může být pro její další rozvoj velmi užitečné, a to zvlášť u aplikací, kde nejsme s uživateli v přímém kontaktu. Technologie AppAnalytics tak může být zajímavým zdrojem provozních informací o mobilních aplikacích umístěných na aplikačních tržištích, nebo u rozsáhlejších stolních aplikací.

Jaké informace lze získat

AppAnalytics (pokud jsou pro danou aplikaci aktivovány) sledují řadu metrik zcela automatizovaně. Jedná se především o počet uživatelů, počet spuštění aplikace, pohyb uživatele rozhraním (odkud a v jakém sledu jsou otevírány formuláře nebo používány jednotlivé ovládací prvky), dále například selhání aplikace, či na jakém operačním systému uživatel aplikaci provozuje.
Druhým zdrojem informací jsou uživatelské metriky. AppAnalytics umožňují ošetření libovolné události a zachycení až čtyřech atributů. Lze tak zjistit a následně analyzovat mnoho zajímavých informací o tom, jak je aplikace skutečně používána a jaké jsou preference uživatelů.

Integrace AppAnalytics do aplikace

Používání AppAnalytics je velmi jednoduchou záležitostí. Všechny potřebné funkce v sobě zapouzdřuje jediná komponenta "TAppAnalytics", dostupná jak ve FireMonkey tak ve VCL. Pokud mají být sledovány uživatelské události, je vhodné komponentu umístit do datového modulu, aby byla přístupná ze všech formulářů, v kterých hodláme sběr metrik použít.


Aby bylo možné AppAnalytics zprovoznit, je třeba přiřadit unikátní identifikátor aplikace "ApplicationID". Protože jsou AppAnalytics cloudovou službou, je pro jeho získání nutné aplikaci nejprve zaregistrovat na serveru. Registrace se provádí prostřednictvím webu, a to konkrétně na adrese https://appanalytics.embarcadero.com/:

Registrace

Pro přístup je třeba použít přihlašovací údaje účtu EDN, ke kterému bylo registrováno vývojové prostředí. Po přihlášení a vyplnění základních údajů je vygenerován potřebný identifikátor. Ten pak v inspektorovi objektů nebo v kódu přiřadíme (včetně složených závorek) komponentě "TAppAnalytics".

Získání "ApplicationID"

Volba "Guest User" umožňuje poskytnout přístup do portálu jednomu dalšímu uživateli. Dále je možné nastavit IP adresy, které nebudou do výstupů zahrnovány (typicky tedy počítače vývojářů).

Nyní je třeba nastavit, které události mají být za běhu aplikace sledovány. K tomu slouží AppAnylytics Options. Zde se mírně liší implementace v knihovně VCL a FireMonkey:

AppAnalytics - nastavení


Příklady Delphi


// Nastavení (VCL)
procedure TCentral.FormCreate(Sender: TObject);
begin
  AppAnalytics.CacheSize := 800;
  AppAnalytics.UpdateInterval := 1000;
  AppAnalytics.Options := [aoTrackStartup, aoTrackExceptions];
  AppAnalytics.Active := True;
end;

I když ve VCL nemají AppAnalytics Option pro uživatelské události, můžeme je jednoduše sledovat zavoláním metody "TrackEvent".

// Odeslání uživatelských metrik (VCL)
procedure TCentral.Osoby1Click(Sender: TObject);
begin
  AppAnalytics.TrackEvent('Otevření okna', 'Menu', 'Osoba', 1);
  btnOsoby.Click;
end;

Metoda "TrackEvent" má čtyři vstupní parametry, které lze naplnit libovolnými hodnotami. První tři (ACategory, AAction a ALabel) jsou typu string. Poslední parametr (AValue) má datový typ Double.


Příklady C++


// Nastavení (VCL)
void __fastcall TForm1::FormCreate(TObject *Sender);
{
  AppAnalytics1->CacheSize = 500;
  AppAnalytics1->UpdateInterval = 800;
  TAnalyticsOptions aao;
  aao << aoTrackStartup;
  aao << aoTrackExceptions;
  AppAnalytics1->Options = aao;
  AppAnalytics1->Active = True;
}

// Odeslání uživatelských metrik (VCL)
void __fastcall TForm1::Osoby1Click(TObject *Sender);
{
  AppAnalytics->TrackEvent("Otevření okna", "Menu", "Osoba", 1);
  btnOsoby->Click;
}

Ochrana soukromí

Při prvním spuštění aplikace je každý uživatel automaticky informován o tom, že jsou anonymně sbírány a odesílány informace související s jejím během. Lokalizaci anglického textu lze provést přímo v inspektorovi objektů, nebo za běhu v kódu aplikace.

Upozornění uživatelům

Před zobrazením dialogu je generována událost "OnPrivacyMessage". Tu můžeme případně ošetřit vlastním kódem a v případě, že si uživatel nebude přát informace o provozu aplikace poskytovat, sledování vypnout.

Výstupy

Jednotlivé monitorované události se ukládají do paměti a po určitém časovém intervalu se odesílají do cloudu. Oba parametry, tedy "CacheSize" i "UpdateInterval" jsou nastavitelné. Nasbíraná data jsou dostupná na již zmiňovaných webových stránkách https://appanalytics.embarcadero.com/. Pro všechny dostupné sestavy je k dispozici nastavení období, pro které má být sestava vygenerována:

Základní přehled

Graf zachycující přechody mezi jednotlivými formuláři aplikace může být u rozsáhlejších aplikací poněkud nepřehledný:

Form Flow

Tabulkové výstupy si lze jednoduše stáhnout ve formátu .csv pro další zpracování:


V záložce "Advanced Analysis" je k dispozici formulář pro konfiguraci a spouštění parametrizovatelných sestav:

Pokročilé analýzy

Licencování

AppAnylytics jsou licencovány dle počtu sledovaných aplikací a objemu zpracovávaných událostí. Jednotlivé úrovně jsou pojmenovány podle planet sluneční soustavy. Nejnižší varianta, která dovoluje sledovat pro právě jednu aplikaci až 10 000 událostí za měsíc je k dispozici zdarma pro všechny uživatele Delphi, C++ Builderu nebo RAD Studia XE8 v edici Professional a vyšších. Úplný přehled cen naleznete na stránkách http://www.embt.cz/cs/produkty/310-appanalytics.html.

čtvrtek 12. února 2015

Castalia


Společnost Embarcadero provedla akvizici produktů Castalia a Usertility společnosti TwoDesk (http://www.twodesk.com/). Castalia je zásuvný modul pro Delphi, který rozšiřuje vývojové prostředí o pokročilé funkce pro zvýšení čitelnosti kódu a produktivity při jeho zápisu.

Instalace

Pro Delphi ve verzi XE7 a starší je třeba Castalii nainstalovat. Během instalace by vlastní prostředí (Delphi / RAD Studio) nemělo být spuštěné. Instalaci je vhodné provádět pod účtem lokálního správce. O tom, že integrace Castalie proběhla v pořádku, jsme informováni v úvodní obrazovce během následného startu prostředí.

Uvodní_obrazovka

Orientace a navigace ve zdrojovém kódu

Ke standardnímu zvýrazňování syntaxe přidává Castalia zvýraznění struktury programu. Jedná se o vizuální párování závorek a v případě Delphi především klíčových slov "begin" a "end", které je zvlášť u složitějších konstrukcí nepostradatelným pomocníkem. Spojnice jsou pro ještě přehlednější zápis kódu odlišeny barevně dle hloubky zanoření.


Dalším rozšířením, které usnadňuje orientaci v kódu je grafické znázornění průběhu zpracování jednotlivých příkazů (code flow). V ideálním případě se instrukce vykonávají jedna po druhé v pořadí od shora dolů. Existuje však řada příkazů, které tuto (dobře čitelnou) posloupnost příkazů narušují. Castalia všem takovým příkazům přidává srozumitelnou informační ikonu. Na první pohled tak je patrné, v kterém místě může dojít k opuštění procedury, cyklu nebo ukončení provádění běhu celého programu.


Velmi užitečnou pomůckou je také navigační lišta (Navigation toolbar), umístěná v horním rámu editoru kódu. Nalezneme zde dva rozbalovací seznamy, z nichž první zobrazuje všechny v jednotce definované třídy a druhý pak všechny funkce, procedury a metody. Výběr z nabízených položek přenese programátora přímo na příslušnou část kódu. Dále je zde možnost rychlé volby pro přesun na začátek a konec souboru, na začátek sekcí "Interface" nebo "Implementation" a nebo jejich "uses" definice. K dispozici je rovněž přehled všech odkazovaných jednotek a pole pro vyhledávání.


Některé části kódu mohou být natolik zásadní, že je vhodné mít možnost je rychle vyhledat. Pro tento účel je editor vybaven záložkami. Castalia přesouvá správu záložek do navigační lišty a k dispozici jsou i ve formě nabídky "Tooltip". Definování záložek, přesun na zvolenou, předchozí nebo následující záložku tak má vývojář doslovně "po ruce".


Produktivita

Pro zvýšení produktivity nabízí Castalia hotové vzorové šablony pro nejběžnější jazykové konstrukce. Ty je samozřejmě možné nejen editovat, ale lze i přidávat šablony vlastní.


Jedním z častých zápisů je definice procedury nebo funkce. Castalia nabízí jednoduchou synchronizaci zápisů prováděných v oddílu "Interface" a oddílu "Implementation". Pokud například v implementaci rozšíříme proceduru o nový parametr, stačí stisknout kombinaci kláves "Shift+Ctrl+S" a Castalia zajistí jeho doplnění v definici rozhraní. Synchronizace je obousměrná, takže je možné ji použít v obou sekcích editované jednotky.
Castalia rovněž usnadňuje další z rutinních činností, kterou je deklarace proměnných. Při definování nové proměnné se není třeba přesouvat do hlavičky metody, ale lze ji deklarovat přímo uvnitř procedury nebo funkce. Po stisku mezerníku je deklarace automaticky přesunuta na odpovídající místo.
Při zápisu kódu ocení uživatelé jistě i rozšíření editoru o takzvané chytré klávesy (Smart Keys). Jedná se o drobná, ale velmi příjemná vylepšení. Například klávesa "Home" přesune po druhém stisknutí ukazatel nikoli na začátek řádky, ale skutečně před první znak (bez ohledu na úroveň odsazení). Vybraný blok textu lze celý označit jako komentář (klávesa "/"), nebo uzavřít do závorek (klávesa "("). Díky historii schránky (Clipboard History) je možné znovu použít některý z dříve kopírovaných fragmentů kódu.


Castalia se ale neomezuje pouze na vlastní editor. Zajímavou vlastnost nabízí i pro vizuální návrhář. Pokud máte na formuláři větší množství nevizuálních komponent, které lidově řečeno "překáží", můžete je za pomoci Castalie jednoduše skrýt a kdykoliv později znovu zobrazit.


V případě potřeby lze také použít volbu "Split Editor", která umožňuje současné zobrazení okna vizuálního návrhu a editoru kódu.

Kvalita kódu

Není pochyb, že rychle napsaný kód není nutně také dobrý. Proto má Castalia vestavěné i funkce pro podporu kvality zdrojového kódu. Sleduje se řada atributů jako počet příkazů v proceduře či funkci, úrovně zanoření, počet parametrů a podobně. Na základě těchto metrik je vypočten koeficient "jedovatosti" kódu. Nižší je lepší a Castalia doporučuje udržet jeho hodnotu pod číslem jedna. Analýza kódu je pro právě editovanou proceduru nebo funkci dostupná přes již zmiňovanou nabídku "Tooltip", nebo ji lze vyvolat z hlavní nabídky. V takovém případě získáte přehlednou tabulku pro všechny metody právě otevřené jednotky.



Z mnoha dalších možností je třeba zmínit alespoň ještě refaktorování kódu. Cílem refaktorování je provedení změn, které vedou k čistšímu nebo čitelnějšímu kódu, aniž by to však mělo dopad na jeho výstupy (chování).
Refaktoring je opět dostupný prostřednictvím nabídky "Tooltip". Po klepnutí na poslední ikonu nabídky Castalia nabídne výčet "vylepšení", které může na příslušnou část kódu aplikovat. Patří sem například přejmenování a přesun tříd, odstranění nepoužitých proměnných a další.


Přesto, že výčet funkcí není úplný, překvapilo mě, kolik užitečných vylepšení produkt nabízí a jak moc návykový je. Po necelých třech týdnech používání bych se ho vzdával opravdu jen velmi nerad. Aktuálně je Castalia součástí dodávky všech licencí Delphi a RAD Studia XE7 vyjma edice Starter a mělo by tomu tak být minimálně do konce března 2015.