Responsivní Design pro Delphi

Responzivní design je dnes důležitým tématem nejen pro webové vývojáře. Delphi a C++Builder nabízejí prostřednictvím aplikačního rámce FireMonkey možnost vyvíjet pro různé operační systémy, včetně těch určených pro přenosná zařízení jako jsou chytré telefony, tablety nebo nositelná elektronika. Responzivní design znamená, že se rozvržení GUI dokáže přizpůsobit tvaru a především velikosti obrazovky, na které je aplikace spuštěna. Pro webový vývoj se standardem stalo použití kaskádových stylů (CSS). Dosažení očekávaných výsledků zpravidla vyžaduje pečlivé plánování a často také velmi komplexní kód.

Společnost TMS Software přišla s velmi zajímavým řešením určeným specicificky pro vývojáře využívající nástroje společnosti Embarcadero. Samotné Delphi nabízí několik přístupů a pomocných komponent jako TFlowLayout, TGridLayout, TScaledLayout a další. K dispozici jsou také speciální komponenty, které se dokáží různým velikostem obrazovky přizpůsobit. Jsou tu také kotvy, layouting nebo nastavení parametrů „padding“, „margin“, „MinWidth“, „MinHeight“, „MaxWidth“, „MaxHeight“ a podobně. Vždy je to však únavná a časově náročná práce.

Vizuální responzivní design
Společnost TMS Software vytvořila zdánlivě jednoduchý, ale velmi účinný způsob, jak responsivní design implementovat. Za vším stojí nevizuální komponenta TTMSFNCResponsiveManager. Po jejím přidání na formulář můžete definovat až pět „stavů“. Každý stav je definován rozvržením použitých komponent. Jedná se o jakýsi „snímek“ daného uspořádání, který lze následně vyvolat jak během návrhu, tak i za běhu aplikace. Jednotlivé stavy lze následně jednoduše propojit s určitými rozsahy velikostí okna. Při změně velikosti je tak okno zobrazeno ve „stavu“, který aktuální velikosti odpovídá. Jednoduché, elegantní…

Vzhledem k tomu, že celý koncept je postaven na technologii FNC, lze TTMSFNCResponsiveManager použít ve VCL Windows aplikacích, FireMonkey multiplatformních aplikacích a také v aplikacích webových klientů TMS WEB Core. FNCResponsiveManager je (zatím jako beta) součástí balíku TMS FNC Core.