Ako prekonať obmedzenia „Metro“ aplikácií

Napriek modernému až nadčasovému dizajnu a praktickému ovládaniu dotykom majú Windows 8 aplikácie niektoré obmedzenia. Na mnohé z nich som narazil, keď som si chcel naprogramovať jednoduchý analyzátor sériovej komunikácie. V praxi som si to predstavoval tak, že k tabletu cez USB pripojím prevodník USB na RS 232 a s využitím knižničných funkcií budem zobrazovať vysielané a prijímané znaky. Lež chyba lávky. Nie sú k dispozícii žiadne funkcie a USB port sa dá používať len cez podpísané ovládače.

Vynikajúce riešenie pre vývojárov ktorí sa nechcú vzdať dizajnu a dotykového ovládania je vývojové prostredie Embarcadero RAD XE3. (Už je k dispozícii aj verzia XE4, ale tú len začínam testovať.) Ako to funguje?

Vývoj v štýle Windows 8

Prečo táto stať nemá nadpis Vývoj pre Windows 8? Ako uvidíte neskôr, v RAD XE3 sa dajú vyvíjať aplikácie, ktoré vyzerajú ako Windows 8 aplikácie, aj sa tak ovládajú, ale de facto sú to klasické aplikácie “oblečené” do Metro dizajnu. Z hľadiska návrhu používateľského rozhrania aplikácie sú obidva vývojárske nástroje Delphi XE3 a C ++ Builder XE3 silnou konkurenciou pre Visual Studio 2012 od Microsoftu.

Široká paleta šablón projektov vrátane Metropolis aplikácií

Okrem “blank” aplikácie je možné vytvoriť aj typické Windows 8 projekty typu Grid a Split

Šablóna Grid Application

Vytvorenie aplikácie typu Grid Application, aj jej napojenie na externý dátový zdroj (JSON na webe) bolo jednoduché a intuitívne. Rovnako excelentné bolo aj fungovanie aplikácie na tablete s dotykovým displejom, až na to že skúsený používateľ po čase príde na to, že sa nejedná o skutočnú Windows 8 “Modern UI” aplikáciu, ale o klasickú desktopovú aplikáciu, ktorá simuluje nové používateľské rozhranie.

Nepodarí sa vám napríklad pomocou obvyklého gesta aktivovať aplikačnú lištu, či presunúť aplikáciu do úzkeho okna po strane obrazovky, čo je situácia kedy na zvyšnej ploche displeja beží iná aplikácia a nie sú k dispozícii ani niektoré iné typické funkcie originálnych “Modern UI” aplikácií. A pochopiteľne ani vývojové prostredie neobsahuje žiadnu funkciu pre vytvorenie aplikačného balíčka pre Windows Obchod.

Pri podrobnejšom skúmaní som odhalil, že “Metropolis” aplikácia nevyužíva WinRT. Keďže aj najjednoduchšia aplikácia má 10 MB bude mať v sebe nejaký vlastný engine, ktorý simuluje používateľské rozhranie Windows 8 aplikácií. Dôvod je jednoduchý. Microsoft dosiaľ neumožnil nezávislým dodávateľom vývojárskych nástrojov použiť vlastnú RTL (Run Time Library) a priamy prístup do WinRT. Ich aplikácie preto nemôžu využívať niektoré funkcie, napríklad RtlUnwind respektíve môžu, ale neprešli by certifikáciou. Metropolis aplikácie napriek majú charakteristické vlastnosti “Modern UI” tj grafický štýl, Segoe UI fonty, beh vo full screen móde, podporu giest, senzorov, simulovanú aplikačnú lištu a čiastočne aj využívanie aktívnych dlaždíc (“Live Tiles”). Veríme, že Microsoft zostane aj naďalej zástancom otvorených platforiem a v blízkej budúcnosti umožní vytváranie nových aplikácií aj vývojárskym nástrojom od iných dodávateľov.

Prevádzkovanie takýchto aplikácií pocítia majitelia tabletov hlavne na spotrebe energie z batérie, keďže na rozdiel od skutočných Metro aplikácií ktoré sa automaticky prepnú do stavu terminated v ktorom nevyužívajú procesor, desktopové aplikácie stále bežia na pozadí.

Ale všetko má aj svoje výhody. Nakoľko aplikácie v štýle Windows 8 sú klasické desktopové, pobežia bez problémov vo Windows 7 a dokonca aj pod Windows XP SP3. Za cenu drobnej nekompatibility budú môcť vývojári distribuovať svoje aplikácie klasickými cestami. Nebudú potrebovať vývojársku licenciu a ich aplikácie nebudú musieť prechádzať náročným procesom schvaľovania. Aj keď toto je dvojsečná zbraň, málokde vám aplikáciu otestujú tak dôkladne ako pri prijímaní do Windows obchodu.

Veľmi pozitívne hodnotím možnosť preklopenia dizajnového štýlu existujúcej klasickej aplikácie do nového Metropolis štýlu, kedy aplikácia spĺňa dizajnové kritéria pre “Modern UI” aplikácie. Ak sa ich dizajnový štýl a filozofia ovládania stane časom štandardom, nebude problém prekonvertovať existujúce aplikácie do nového dizajnového kabátu.

Pokus o preklopenie klasickej aplikácie do Metropolis štýlu

Vizuálne prepojenie aplikačnej logiky a údajov

Po trochu kontroverzných skúsenostiach s vývojom pre Windows 8 ma úplne očarila technológia Visual LiveBindings, ktorá umožňuje programátorom vizuálne prepájať užívateľské rozhranie a grafické prvky nielen navzájom a vytvárať tak jadro aplikačnej logiky pomocou vizuálneho návrhu, ale aj s ľubovoľnými dátovými zdrojmi prostým zakreslením spojníc medzi prvkami používateľského rozhrania a dátovými zdrojmi. Visual Live Bindings zjednodušujú návrh aplikácií s bohatým užívateľským rozhraním riadeným dátami a dynamickým obsahom; odstraňujú zložité zapisovanie kódu dátových väzieb a prepojení. Vizuálne prepojenie je možné využiť s dodávanou databázou InterBase, ale aj v architektúrach klient / server, n-vrstvových a cloudových s väčšinou najpoužívanejších databázových platforiem vrátane Microsoft SQL Servera, Oracle, IBM DB2, Sybase, MySQL a ďalšími, rovnako tak ako s webovými a cloudovým službami alebo službami typu REST.

Praktický príklad prepojenia tlačidla, editačného a zobrazovacieho poľa pomocou LiveBindings. Všimnite si aj možnosť jednoduchej zmeny štýlu ovládacích prvkov, v tomto prípade tlačidla.

Súčasťou RAD Studio XE3 je aj HTML 5 builder umožňujúci návrh používateľského rozhrania pre platformy Apple, Windows Phone, Blackberry a ďalšie

Reklamy

Pridaj komentár

Zadajte svoje údaje, alebo kliknite na ikonu pre prihlásenie:

WordPress.com Logo

Na komentovanie používate váš WordPress.com účet. Odhlásiť sa / Zmeniť )

Twitter picture

Na komentovanie používate váš Twitter účet. Odhlásiť sa / Zmeniť )

Facebook photo

Na komentovanie používate váš Facebook účet. Odhlásiť sa / Zmeniť )

Google+ photo

Na komentovanie používate váš Google+ účet. Odhlásiť sa / Zmeniť )

Connecting to %s


%d bloggers like this: