Touto roční dobou, kdy je zem pokrytá barevným listím a prsty křehnou v mrazivých ránech, se obvykle těšíme na zbrusu novou verzi RAD Studia. Letos si však ale budeme muset počkat na Godzillu a Linux až do jara. Vezměme tedy za vděk alespoň updatem 2 a jelikož dle vyjádření pánů z Embarcadero se budou nové věci objevovat průběžně, pojďme se na to tedy podívat.
Jak bychom od Update čekali, obsahuje opravy více než sta chyb (zlé jazyky ovšem tvrdí, že jsou to převážně chyby, které bránily realizaci novinek v této verzi :D). Přehled opravených chyb nahlášených komunitou najdete zde http://edn.embarcadero.com/article/44726. Nechme ale popichování a pojďme se věnovat tomu, co Update 2 obsahuje:
- Integrace podpory Windows Desktop Bridge (projekt Centennial)
- Zbrusu nový ovládací prvek Kalendář pro VCL ve stylu Windows 10
- Rozšíření IDE o nové nástroje “Quick Edits” pro zvýšení produktivity
- Nové styly v designu Windows 10 pro VCL a FMX
Řazení dle priority jsem si vypůjčil z původního webináře z úvodní části Nicka Hodgese. Já bych asi na druhé místo dal Quick Edits.
Integrace podpory Windows Desktop Bridge
Název Desktop Bridge je poměrně nový, dřív nesl tento projekt název Centennial. Jde o jeden z projektů MS, které měly přivést pod křídla UWP (Universal Windows Platform) aplikace z jiných ekosystémů. Původně existovaly tři zásadní projekty pro převod z Win32, Android a iOS ale v průběhu času byl projekt pro převod Android aplikací ukončen. Aktuálně jsou tedy k dispozici dva hlavní (dle mého soudu) nástroje pro převod aplikací z iOS (iOS Bridge) a Windows (Desktop Bridge). Doplňují je nástroje pro převod mobilních aplikací v Silverlight z Windows Mobile 8.1 (Mobilize.Net’s Silverlight Bridge) a pro převod webových aplikací (Hosted Web Apps). Pokud vás zajímají podrobnosti, nahlédněte přímo na stránky MS: https://developer.microsoft.com/en-us/windows/bridges.
Nás pochopitelně zásadně zajímá Desktop Bridge a protože byl uvolněn pro veřejnost v rámci Windows 10 Anniversary Update, můžeme ho začít využívat hned teď. Integrace jeho podpory v IDE celý proces zjednoduší a zpříjemní.
Integrace není nijak složitá a i bez ní byste váš EXE dokázali pomocí nástrojů ve Windows SDK 10 úspěšně přetavit do APPX formátu. Nicméně byste museli prostudovat dokumentaci, vytvořit ručně potřebné konfigurační soubory a pak pomocí dvou utilit MakeAppx a SignTool vše spojit dohromady a podepsat. Pokud vás zajímá, co vlastně podpora v IDE za vás dělá, podívejte se sem https://msdn.microsoft.com/windows/uwp/porting/desktop-to-uwp-manual-conversion.
Pokud si ale chcete užívat komfortu IDE, vypadá to následovně:
Obdobně jako u ostatních platforem, které podporují ekosystémové obchody s aplikacemi se i ve Windows objevila možnost konfigurace pro Application Store. V konfiguraci projektu je nutné vyplnit Provisioning informace:
Pro ty z vás, kdo používají IDE pro publikování appek do ekosystémů Android či iOS, to není nic překvapivého nebo nového, ale kdo zatím vyvíjel jen pro desktopové Windows je to nový svět, který bude muset teprve objevit. Především je potřeba certifikát pro podepisování aplikací. IDE umožňuje vytvořit takový soukromý certifikát zdarma volbou Create self-signed certifikate. Takový certifikát však není důvěryhodný a pokud bude někdo chtít nainstalovat váš APPX balíček, bude muset nejprve nainstalovat vámi vytvořenou certifikační autoritu do svých Windows a určit že je důvěryhodná. Huh, začíná se to zamotávat? Trochu ano, ale až si to vyzkoušíte, uvidíte, že to tak komplikované není. Kromě toho, už delší dobu bývá dobrým zvykem podepisovat i EXE soubory, takže to není až zas takové překvapení.
Detailní popis toho, co je třeba pro úspěšné vytvoření APPX by překračoval rámec tohoto článku a je spíše námětem pro samostatný příspěvek.
Kromě Provisioning informací byla ještě doplněna sekce Application:
Je třeba doplnit dvě velikosti loga aplikace a určit jakým způsobem se bude generovat konfigurační soubor (Manifest). Pro jednoduché případy stačí automaticky vygenerovaný (vychází z doporučované předlohy). Pokud máte složitější nároky, můžete si manifest vytvořit sami a IDE jen určit že ho má použít.
Možná jsem tím měl začít, ale proč vlastně nezůstat u EXE souboru a zabývat se APPX balíčkem:
Zpřístupnění ekosystému Windows Store - je to velmi lákavá představa, mít k dispozici možnosti, na které jsme u mobilních ekosystémů zvyklí a přijímáme je jako samozřejmost. Netřeba řešit distribuční cestu, mechanismus aktualizací, zajištění plateb, jistotu původu… Dlužno poznamenat, že aktuálně je publikování APPX vytvořených pomocí Destop Bridge není explicitně povoleno pro všechny vývojové účty, ale je potřeba o to požádat přes on-line formulář. Zřejmě MS zatím testuje s jakou kvalitou převedených aplikací bude mít co do činění a jak na to bude reagovat Store a jeho uživatelé. Z toho také vyplývá, že nejsou pevně daná pravidla a přístup na Store není zaručený. Lze snad doufat, že to bude jen přechodný stav.
Snadná instalace/odinstalace a chování - APPX je vlastně instalační balíček, který můžete distribuovat i samostatně bez Store (je zajímavé, že poštovní klient tvrdošíjně odmítající EXE soubory, mi APPX v příloze slupnul jak malinu). W10 ho umí nainstalovat a odinstalovat. Zobrazí ho v seznamu aplikací, je možné dlaždici aplikace připnout na Start a na hlavní panel. V IDE nově funguje deployment, takže soubory, které do něj přidáte se zabalí do APPX balíčku a po instalaci jsou aplikaci k dispozici. Tohle jistě zvládnou i instalační aplikace typu Install Aware, ale investice do nich nemusí být zrovna malá (ať už finanční, nebo časová pro osvojení si patřičného know-how). Také pravděpodobně půjde využít UWP API pro ovládání aktivních dlaždic a dalších funkcí vázaných na UWP.
Jeden ze zásadních protiargumentů je nabíledni - Windows 10 jsou zatím v menšině a jestliže se tedy stejně musím zabývat EXE, které fungují ve W10 stejně, tak proč ztrácet čas i energii s APPX? Dle mého soudu jde o dva faktory. Jednak je to image produktu - UWP balíček prostě vypadá jako že do W10 patří. Naznačuje, že výrobce jde s dobou, sleduje poslední trendy. UWP je zkrátka sexy :). Druhý faktor je tempo penetrace W10 a záměry MS s nimi. Odhady do konce roku mluví o 33% podílu W10 (vztaženo ke všem používaným verzím Windows) a 400+ milionů instalací. Přestože MS přiznává, že tempo je nižší než předpokládal jejich plán (miliarda instalací do roku 2018), zejména kvůli fiasku mobilních telefonů s W10, odhady pro konec roku 2018 mluví o 700+ miliónů instalací. A MS se vyjádřil v tom smyslu, že připravuje další kroky k tomu, aby podpořil tempo přechodu na W10. Oni zřejmě vážně chtějí, aby všichni na nich co nejdřív skončili, a důvody se dají vcelku dobře pochopit.
Nový ovládací prvek Kalendář
Ovládací prvek TCalendarView má vzhled a vlastnosti jako API WinRT, nicméně je konstruovaný pomocí VCL primitiv a funguje tudíž i ve Windows 7. Škoda že je jen pro VCL.
Proklikávání mezi vzhledy roky / měsíce / dny je příjemné a vzhled sympatický a moderní.
Doplňková komponenta TCalendarPicker umožňuje vložit datum právě pomocí nového kalendáře. Jde vlastně o combo s drop-down kalendářem.
Rozšíření IDE o nové nástroje “Quick edits” pro zvýšení produktivity
“Quick edits” jsou zatím bohužel k dispozici pouze ve VCL. Já bych je bral na FMX z fleku a doufám, že se jich brzy dočkáme i tam (prý ano). Zkráceně řečeno, kde o “vytěžení” pravého tlačítka. Objeví se nabídka, která zpřístupní nejčastěji používané věci. Kolikrát už jsme klikali do políčka vyhledávání na paletě komponent a psali “b u t t”? S Quick edits stačí kliknout pravým tlačítkem a vybrat Insert - Control - Button. Nabídka se liší podle vybraného objektu.
Quick-Design Form přidá na formulář ovládací prvky dle předlohy. Zatím jen těchto pár, ale dá se to brát jen jako taková upoutávka a lze předpokládat že jednak budou přibývat další a jednak že bude možnost si je uživatelsky definovat.
Dále je možné přidat nejpoužívanější ovládací prvky,
nebo komponenty.
Vložit ovládací prvek je možné i do jiného, pokud to ovšem podporuje. Na panelu se možnost Add Control objeví, na labelu ne.
Osobně se mi ale nejvíc líbila možnost vyvolat na ovládacím prvku mini dialog, kde je možné nastavit základní vlastnosti - název, popiska, zarovnání, okraje a barva… Mimochodem, dobrý, ale řvát blahem budu, až půjde název objektu měnit přímo na panelu Structure :).
Vizuální volba zarovnání Top, Left, Right, Bottom a Client.
A opět vizuální a přehledné nastavení margin a padding. Tohle je snad ještě lepší než zarovnání, protože když člověk navrhuje respozivní design pomocí zarovnání, ladí detailní vzhled právě tímhle. A to, že jsou takové používané vlastnosti v seznamu vlastností až na DRUHÉ úrovni nabídky, najdu margin pak rozbalím a pak nastavím, je neskutečný opruz.
Barvičky už jsou pak jen taková třešnička na dortu. Nicméně na panelu je ještě místo na další záložky :).
Volba Quick Copy Name kopíruje do clipboardu název prvku, takže ho lze rychle použít při psaní kódu.
Obdobné akce jsou k dispozici pro práci s grafikou - je možné rychle přiřadit ImageList prvkům, které to umí, nebo jim přiřadit obrázek.
Quick Edits fungují i pro databázové komponenty - je možné například rychle přiřadit datový zdroj.
Vcelku tohle doplnění IDE vnímám pozitivně, leč dovedl bych si představit mnohem sofistikovanější řešení, které bych okoukal od grafických vektorových editorů všeho druhu (Corel Draw, Adobe Illustrator například). Stále mi přijde, že možnosti vytvářet a ladit vizuální vektorou grafiku, kterou formulář nepochybně je (a v FMX dvojnásob), neodpovídá aktuálnímu století.
Nové styly v designu Windows 10 pro VCL a FMX
Jako již tradičně se zase objevilo pár (slovy tři - DarkBlue, Green a Purple) nových stylů pro VCL i FMX. V podstatě jde jen o barevné varianty nového Windows 10 stylu s novým vzhledem některých ovládacích prvků.
Na závěr bych rád trochu aktualizoval Road Map dle informací, které jsem načerpal na milém setkání s Atanasem Popovem, generálním manažerem vývojové divize Idery (Embarcadero Technologies), na které jsem byl laskavě pozván českým zastoupením. V porovnání s prezentací Nicka Hodgese (můžete se podívat zde: https://www.youtube.com/watch?v=mmcuJlIYTr4) z října letošního roku dojde zřejmě k posunu všech plánovaných mezníků. Nová verze RAD Studia 10.2, kódové označení Godzilla bude k dispozici pravděpodobně na jaře 2017 a následující verze 10.3, kódové označení Carnival, je plánována na začátek roku 2018. Dvě aktualizace během roku 2017, Update 1 a Update 2, naznačují, že nové schéma verzí bude jedna “velká” verze a dvě aktualizace ročně.
Autor: Daniel Jenne