Nedostatky v Universal Apps

Ikona času čtení 4 min. číst


Čtenáři pomáhají podporovat MSpoweruser. Pokud nakoupíte prostřednictvím našich odkazů, můžeme získat provizi. Ikona popisku

Přečtěte si naši informační stránku a zjistěte, jak můžete pomoci MSPoweruser udržet redakční tým Dozvědět se více

Microsoft začal podporovat vývojáře, aby migrovali své aplikace na Universal, ale někteří vývojáři stále nejsou přesvědčeni. Před chvílí jsem napsal úvodník citující vývojáře o proveditelnosti univerzálních aplikací a o tom, proč ještě nezapalují svět. Dnes další vývojář zveřejnil článek o svých zkušenostech s univerzálními aplikacemi (které zde se svolením reprodukujeme)

 

Windows Phone 8.1 XAML a Universal Apps obsahovaly rozhraní WinRT API, která mají mnoho problémů, včetně těch, pro které neexistuje řešení. Nejprve si ale promluvme o názvu „Universal Apps“. Myslím, že je docela arogantní nazývat univerzálním něčím, co cílí na dvě platformy, které upřímně řečeno tolik uživatelů nepoužívá ani se o to nestará. Také pokud uvažujete pouze o platformách Windows, tyto aplikace také nejsou univerzální, protože nemohou cílit na nejběžněji používané verze Windows (7 a XP). Ale to odbočuji.

Vyjadřuje zde pointu, kterou jsem uvedl před chvílí. Ani WP8.1 ani W8.1 zatím neposkytují vývojářům dostatečnou hodnotu, aby je mohli vyvíjet, protože, jak jsem řekl: „Windows MÁ uživatele, ale tito uživatelé nutně nechtějí aplikace. Uživatelé Windows Phone chtějí aplikace, ale není jich moc.“ .

Uživatelé však nejsou jedinou věcí, která brání vývojářům v přechodu na aplikace 8.1 WinPRT. Existují také technické problémy:

 

Více zpackaných API

Takže API pro přehrávání zvuku na pozadí pro Windows Phone 8.1 je zpackané, ještě něco? Tak určitě. BackgroundDownloader je dalším příkladem. V Silverlightu byl BackgroundDownloader, který byl dost omezený, ale fungoval. V Universal Apps je nový BackgroundDownloader s některými novými funkcemi a některé zásadní chybí. Například v Silverlightu by každé stahování mohlo mít Tag, kam si můžete uložit libovolná data, abyste o stahování něco věděli, až skončí (jakému obchodnímu subjektu patří atd.). V Universal Apps už ne. Neexistuje žádná značka, takže si musíte vytvořit a spravovat svůj vlastní druh indexu pro všechna stažená data, abyste je mohli skutečně přiřadit ke svým obchodním subjektům. Nepříjemnost, ale nic, co by se nedalo zvládnout, že jo.

Komentátor na blogu také dodal, že rozhraní Camera API nebylo tak dobré jako rozhraní Silverlight a bylo mi řečeno, že rozhraní API 8.1 postrádá integraci objektivu.

Rozhraní Camera API na WP8.1 je také strašně zatracené. Neexistuje žádný způsob, jak získat náhled snímků. S Silverlight API se můžete jednoduše přihlásit k odběru události a protlačit snímky s nízkým rozlišením přes ZXing při několika fps. Ve WinRT to nejlepší, co můžete udělat, je pořídit mnoho snímků za sebou, někdy s bleskem a skenovat asi 0.8 snímku za sekundu.

Výkon má také dopad na množství práce potřebné k hladkému posouvání, které se ve verzi 8.1 oproti 8.0 zvýšilo.

Výkon

V Silverlight jsem běžně používal LongListSelector k zobrazení dat a používal jsem ho s WrapPanel, když jsem potřeboval vytvořit dvousloupcové rozložení. LongListSelector je pryč, v Universal Apps musíte použít GridView také na Windows Phone. Nebo můžete ListView použít s vlastním zalamovacím panelem, který si sami napíšete nebo někde stáhnete, ale vyžaduje určité úsilí, aby virtualizace fungovala správně.

GridView tedy používáte na Windows Phone 8.1 i Windows 8.1, aby byl konzistentní. Přidejte k tomu desítky položek s obrázky a výkon začne opravdu trpět. Zobrazí se šedé zástupné symboly a co je důležitější, nikdy nezmizí. Nepotřebujete obrázky, stačí do GridView přidat asi 300 textových položek a při rolování se začnou zobrazovat šedé zástupné symboly

Smyslem tohoto příspěvku není urážet Microsoft, ale vysvětlit, proč vývojáři možná ještě nejsou ochotni vytvářet univerzální aplikace. Nejsou absolutně lepší metodou, v některých oblastech představují upgrade a v jiných downgrade (uživatelé Windows Phone tento pocit dobře znají). Pokud má Microsoft přilákat vývojáře, musí pracovat rychleji než právě teď, „brzy“ a „v nadcházejících měsících“ nejsou atraktivní pro lidi, jejichž živobytí závisí na tom, že „brzy“ bude „včera“. Naštěstí existují náznaky, že by se to mohlo změnit. WP 8.1.1 přineslo nějaké nové API (ačkoli omezené) a 8.1.2 prý (v nyní skrytém příspěvku) umožňuje vývojářům vytvářet nové úžasné aplikace. Microsoft se může v budoucnu změnit a to je skvělé. Pro mnoho vývojářů, kteří jsou nyní pod tlakem, aby vytvářeli univerzální aplikace, však budoucnost nemůže přijít dostatečně brzy.

Více než jen úryvky, které zde získáte, si přečtěte celý zde. Můj podrobnější kousek viz zde.

Více o tématech: Vývojáři, Univerzální aplikace, Windows 10

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *