Windows Phone 7 podporují multitasking
Někteří novináři, zaslepení ovečným prachem, vydávají údajnou absenci multitaskingu ve Windows Phone 7 za fakta. Není to tak docela pravda, z dostupných údajů vyplývá spíše pravý opak.
Pojďme si to rozebrat. Podle Gizmodo.com a vyjádření ředitele Windows Phone sekce bude situace takováto: The core operating system is a modern multitasking operating system . .... For third party applications—we'll get into a lot more detail on this in MIX—but we have a few ways we're going to make sure that third parties can bring their value to the user even when the app is not running. Live tiles are an example. Data feeds in the hubs are another example for some apps.
Zní vám to jako absence multitskingu? Rozhodně ne. Naopak, jedná se o lepší multitasking než jej známe dnes, pro Today obrazovku.
Budete chtít třeba napsat vlastní RSS čtečku, která bude neustále či v nějakém intervalu načítat data, zobrazovat je, a upozornit uživatele, když bude něco nového. Úvodní obrazovka Windows Phone 7 je členěna na dlaždice. Vaše RSS dlaždice se stane součástí desktopu od Microsoftu. Bude existovat API, jak se na něj napojit, tedy i s multitaskingem aplikace třetí strany. Je to vlastně jen jiná grafická obdoba současné Today obrazovky a Today pluginů třetích stran (akorát místo "plugin" se to nazývá dlaždice).
Tyto dlaždice mimochodem znamenají více otevřenosti a svobody než současný HTC Sense v HD2. Ten je "monolit" a co nedodává HTC, na desktopu telefonu není. WP7 bude mít klasické API pro rozšiřování desktopu od třetích stran, to je rozhodně plus. :)
Vedle toho je v pozadí moderní multitaskingový kernel (to je také známé a 100% jisté). V této rovnici zdánlivě chybí multitaskingu ne-dlaždicových aplikací jen jediná věc - aplikace která umí přepínat jiné aplikace do popředí. Pokud nebude existovat od Microsoftu (a to asi nebude), vznikne během 24 hodin na XDA-developers a bude to třeba jedna z dlaždic, v níž budou ikony ostatních aplikací.... Ona se nakonec takováto přepínací aplikace nedodává ani pro HD2 standardně, musí se doinstalovat. Jediné, co to může zarazit, je 100% kontrola a instalace jen aplikací z Marketplace a zákaz takovéto aplikace. A nic takového není potvrzeno. Samozřejmě, může to být nakonec realita, ale vydávat to za *fakta* je ... novinářské fax-paux :)
Nicméně i kdyby ne-dlaždicový multitasking možný opravdu nebyl (byl by zakázán), neznamená to, že multitasking jako takový neexistuje. Napíše se prostě aplikace částečně jako ona dlaždice - emailový klient, IM klient, RSS čtečka, Facebook, Twitter, geologační aplikace, Foursquare klient, část grafického výstupu TomTom navigace, cokoliv co má multitaskovat se napojí na desktop jako ona dlaždice (kde bude aplikace zobrazovat nejnutnější údaje a po kliknutí na dlaždici se zobrazí plně). A minimálně u dlaždic (což může být jakákoliv aplikace) je multitasking potvrzen.
Logický závěr? Multitasking je zjevně přímo v systému, nejen v kernelu, ale i v uživatelském UI, a existuje několik cest jak provozovat třeba desítky aplikací současně a v reálném čase zobrazovat v dlaždicích jejich výstup.
Jediné reálné omezení WP7 oproti WM6.5 tak bude, že dosud mohl Today plugin zabírat až cca 90% místa na Today obrazovce (HTC Sense je takto napsán), v novém pojetí bude muset své informace vydat do jedné z dlaždic. Bude se to prostě muset nastylovat jinak, ale přispěje to k hezčímu grafickému pojetí systému.
Update: Jirka Hrma, SmartMania.cz, který je přímo v Barceloně, multitasking potvrzuje.
Podľa mňa budú minimálne dve veľkosti dlaždíc. Okrem štadnardnej štvorcovej predpokladám, že aj veľkosť dvoch dlaždíc vedľa seba - ako napr. kalendár.
Už len dúfam, že animácie sa budú dať vypnúť...
[1] to se dozvíme za měsíc na Mixu, jestli budou i jiné dlaždice než čtvercové. Bylo by to fajn.
Absence multitaskingu nedlaždicových aplikací? Z toho bych nadšen moc nebyl. Na nějakém starším WM (podrobnosti nevím) jsem viděl třeba minimalizaci červeným tlačítkem.
BTW: Prakticky všechny hloupé Sony Ericssony (archaické modely a Sagemy** nepočítám) nedlaždicový multitasking podporují celkem dobře. Aplikace se může například sama minimalizovat a poté sama přenést do popředí. Nebo (přes proprietální API :( ) je možné od JP-7.5 zobrazit zprávu v menu činností (mimo jiné seznam nových událostí).
**) Platforma S1, například S302 a S312. Moc dobrého bych o těchto modelech neřekl.
Keď to už bolo spomenuté, čím si vysvetľujete absenciu "prepínača aplikácii" vpravo hore na HD2? Lebo nemám pocit, že by zároveň vymysleli niečo praktickejšie, akurát to tam chýba. Alebo majú pocit, že pri tak gigantickej ramke je kontrola nad spustenými aplikáciami zbytočná?
[4] I toto zmíněné SE umí. Je to jedna ze čtyř částí menu činností (a jedna ze dvou užitečných, podle mého názoru). Dostanu se tam doslova jedním tlačítkem.
[2] Podle té tiskové konference soudě, to tak opravdu bude. Když tam prezentující ukazoval Today Screen, tak úplně dole byla obdélníková dlaždice (velikost dvou čtverců vedle sebe), odkazující na fotky.
Upřímně doufám, že možnost zabrat třeba 70% procent úvodní obrazovky (pomocí velké složené dlaždice o velikosti 2x2, 2x3 a třeba 2x5 u velkých displejů) bude zachována, hlavně kvůli seznamu úkolů, schůzek atd.
Závěrem menší OT: Nějak jsem v místním nastavení nepochopil, jak se dá nastavit, aby se místo přezdívky v diskuzi zobrazovalo celé jméno, pokud by mi to mohl někdo osvětlit, bych byl mu moc vděčný.
Osobně je mi multitasking celkem ukradenej. Co používám na HD2 nejčastěji je, samozřejmě, telefonování, maily, přehrávač muziky, občas Facebook nebo Twitter app. a sem tam TotalCMD a další productivity apps.
Pokud mi během browsdání na netu příp. v TotalCMD bude hrát muzika, pokud budu moct přijímat maily během psaní na Facebook atp... Tak je mi multitasking ukradenej.
Ale souhlasím, že vyskočit z jedné aplikace do druhé a tím ji zavřít je nepohodlný, v mnoha případech. Takže určitě jsem pro několik běžících aplikací současně, ale né úplně za každou cenu.
Každopádně se na Windows Phone 7 Series skutečně těšim.
Otázka není, jestli Windows Mobile 7 podporují multitasking. Ovšemže ho podporují! Kdo tvrdí, že ne, tak neví, co to multitasking je. Otázkou je, jestli to bude multitasking preemptivní (ten dnes již klasický, že aplikace běží i na pozadí) nebo nepreemptivní (jinak také kooperativní, který byl na Windows 3.1x, kde běžela aplikace na popředí a ostatní byly uspané).
Podle mě tam bude klasický preemptivní multitasking, akorát API pro aplikace bude udělané tak, aby ho mohly využít jen aplikace, které ho skutečně potřebují.
Bez preemptivního multitaskingu v kernelu RTOS by dnes nemohlo fungovat už nic :-), ale tak jak se tu píše, bude WP7 určitě běžně programovatelný pouze v NETCF a tedy s masivním využitím ThreadPoolu a runtime dělá spoustu věcí asynchronně , což se nikde jinde než v .NETu neprogramuje tak snadno (mimo jiné taky díky prokletému keywordu "delegate" :-), kolikrát o tom člověk ani nemusí moc vědět a navíc se všechno automaticky škáluje na více jader (viz. xbox). Podstatné funkce aplikací, které mají běžet i v pozadí tak prostě poběží (přehrávání, streaming, stahování, notifikace ...) a systém bude navíc zatížený pouze tím co je nutné. SDK bude určitě diktovat daleko větší "štábní kulturu" pro aplikace, což je jen dobře. Nedávno jsem se trošku zasnil a do fóra na ce4you jsem v záchvatu nadšení postnul svou přidrzlou vizi :-) a kdo má zájem, najde to přes frázi "silverlight embedded" ...
[9] Jenže otázkou stále zůstává zda bude skutečně WP7 podporovat .NET CF, protože zatím o tom nikde nic není, spíše naopak, ale pořád to jsou pouze dohady. Ale už fakt, že VS2010 nebude mít při vydání integrovanou podporu vývoje mobilních aplikací (ať už v .NET CF či C++) je na pováženou ! Údajně má být vydána později či přijde samostatný nástroj, opět dohady samotných zaměstnanců Microsoftu. Takže v podstatě to vede zatím ktomu, že buď mlží anebo tam budou mít hoši momentálně díky rozčlenění mobilních OS pěknej guláš, protože asi sami zatím neví jak to nakonec dopadne z pohledu business strategie. Hlavně aby to nedopadlo tak, že pro WP7 vznikne něco polovičatého jako je prozatím řada vývojových nástrojů Expression.