Nikoliv, z Windows CE není ve WP7 prakticky ani tečka (rozhodně ne v klíčových systémových knihovnách, možná že někde někam si něco nějaký programátor zkopíroval, ale afaik bylo použito i jiné vývojové prostředí, jiný jazyk a jiný programátorský workflow, takže i kdyby něco odněkud zkopíroval, tak by to musel následně opravit a další lidé pak zkontrolovat)
I Microsoft pochopil před několika lety, že prostě tudy cesta nevede – také naprosto zahodil svůj Windows Phone (Windows CE, Pocket PC …) systém a udělal naprosto nový.
Marketinkový sračky, WP7 je pořád codebase Window CE a nad tím napatlaný nový GUI. Je to stejný kec jako přepsání Windows 7 (a X verzí Windows předtím), které mají doteď v GDI knihovnách kód z Windows 3.11.Ještě abych to opravil - WP7 core bylo vyvíjen pod názvem Windows CE v. 7 (kódový název Chelan), tedy ano WP7 je stavěn nad Windows CE, ale Windows CE v. 7 nebylo vlastně nikdy samostatně použito a má prakticky nulový průnik s předchozími větvemi Windows CE končícími u v. 6 - codename Cashmere. Mají zcela jinou strukturu a nejsou v ničem kompatibilní (byť samozřejmě nevylučuji, že nějaké podružné knihovny byly z velké míry znovupoužity).
Není tomu tak. Pokud totiž máte codebase jádra slušnou, záleží na ní pak už málo. jádro samozřejmě musí mít jistou "hygienickou" kvalitu, ale jakmile ji má (a to JE případ WP7), můžete jádro v podstatě ignorovat, jako by neexistovalo. "It just works" - prostě to funguje.
Píšu to s nadsázkou, ale ta nadsázka není zásadní.
Dnešní Linux má v sobě skoro určitě starší kód, než dnešní Windows. Čemu to vadí? Neumím si představit vůbec nic, čemu by to mohlo samo o sobě vadit! Jde jen o to, zda je to kód dobrý, nebo špatný. A pokud je špatný, ještě záleží na tom, zda je důležitý. Jen maličká část kódu OS je kriticky důležitá a ovlivňuje všechno ostatní.
Díky za doplnění - o té časové souslednosti vím, pokud vím, tak vývoj CE 7 a WP7 probíhal paralelně, kdy právě nové požadavky WP 7 vyžadovaly zásahy do CE 7. Nevím, nejsem programátor (tedy ne Microsoftí), čerpám z informací od mých zdrojů, které tvrdí, že to co tam zůstalo tam prostě zůstalo proto, že to funguje a vyhovuje plně nové koncepci.
Samozřejmě kódy ovladačů od třetích stran je něco, do čeho Microsoft nezasahuje a nemůže zasahovat a jestli je nějaký výrobce prase a nedbá doporučení tak se častěji než jiný setká s problémem při upgrade, který předpokládá dodržení standardních funkcí.
IMHO je to prostě akademická diskuse, co je to "udělat od začátku". Když výrobce auta udělá zcela nový model auta, udělá jej na elektriku s automatickým řidičem, nechá jen 4 pneumatiky, volant a změní podvozek tak, aby odpovídal jiným rozměrům, váhovému rozložení atd. tak já tvrdím, že udělal auto od začátku (from scratch), vy tvrdíte, že ne, že nechal kola a volant a že podvozek je jen předělaný, ne nový.
Až na to, že tenhle odborník nemá pravdu. Windows 7 není založen na Windows CE 6 (Cashmere), ale Windows CE 7 (Chelan). A tam byl přepsán i ten podvozek. Nicméně i podle něj má WP7 se staršími windows CE společného asi tolik jako nejnovější Mac OS X Lion s 1BSD. Ano, určitě nepředefinovávaly nuly a jedničky na dvojky a trojky, ale to je tak všechno.
I to co tam zůstalo tam zůstalo proto, že to překontrolovali a shledali za dokonale vyhovující požadavkům nového OS a jeho zcela přepsané architektuře, a ne proto, že se na to vysrali. Tj. jsem naprosto přesvědčen, že termín "přepsáno prakticky od nuly" je o několik řádů blíže pravdě než "založeno na windows CE".
Zde se k tématu vyjádřil už dříve jeden z největších nezávislých odborníků v ČR na Microsoftí technologie, bohužel jeho závěr je zcela jiný než Váš:
Pro ty, kdo nechtějí číst poměrně do hloubky jdoucí článek, přepíšu jen ten závěr: " Psát a hlavně v článcích zdůrazňovat, že WP7 nemají se staršími Windows Mobile NIC společného, mi přijde v lepším případě naivní, v tom horším okázale neprofesionální.".
Na svém blogu jsem nalezl v refererrech odkaz na tuto diskuzi. Nechci hodnotit celou analýzu stavu fy Nokia, ale vyjádřit se k některým technickým argumentům, které zazněly tak apodikticky, jako kdyby autor právě strávil celou noc s kódem Windows Phone 7 a Windows CE 6.
1) Ad Windows CE - všechny domněnky a drby na webu, ze kterých asi čerpá i autor, že je ve WP7 použito jádro CE 7, jsou založeny na tomto článku.
http://blogs.msdn.com/b/obloch/archive/2010/05/03/windows-ce-is-not-dead.aspx
Pravda je trochu prozaičtější, jádro CE 7 nebylo v době, kdy se chystaly WP 7, ještě zcela hotovo, proto se dá odvodit, že WP7 byly založeny na jádře Win CE 6 (pravděpodobně R3?) s některými dalšími vylepšeními, k čemuž se i MS několikrát neoficiálně vyjádřil. Viz např. zde
"
Windows Phone 7 is based on the Windows Embedded CE kernel – the next generation of the Windows Embedded CE platform will be Windows Embedded Compact 7 when released, and the current version is Windows Embedded CE 6.0 R3. Although Windows Phone 7 was built on the Windows Embedded CE kernel at its core, the Windows Phone team has incorporated innovative features and functionality on top of the platform to develop an OS specifically designed to meet the needs of mobile phone manufacturers"
(http://www.zuneboards.com/forums/showthread.php?p=484342)
Další nápovědou by mohlo být, že Windows Embedded Compact byly finalizovány a uvolněny pro další výrobce až v březnu 2011 (viz časová osa -http://www.microsoft.com/global/windowsembedded/en-us/publishingimages/evaluate/history_timeline.jpg)
2) Ano, v odkazovaném článku zmiňuji, že CE 6 přinesly tolik vylepšení, že WP7 lze z velké části novým OS a dokládám proč, zvláště zmiňuju, jak se v CE 6 změnil paměťový model a zmizelo omezení na 32 současně běžících procesů.
Přesto si vás dovoluju upozornit, že i kód v mém článku svědčí o tom, že drtivé množství nativních komponent obsahuje kód, který je znám i z dřívějších verzí. Windows API, COM - v článku využívám COM. Chcete disassemblovaný kód nativních komponent, abyste si jej řádek po řádku porovnal?:) Nebo si stáhněte Platform builder a sám se podívejte, jak různé verze CE vypadají.
Mimochodem - víte, proč měl Microsoft takové problémy při pokusu nasadit WP7 preNodo a Nodo update a hlavně z některých Samsung Omnia 7 telefonů nadělal těžítka? Protože na pozadí WP7 stále vylézají staré problémy známé i z WM že výrobci neumí psát drivery/služby/další nativní komponenty, které neleakují paměť a chovají se podle MS doporučení a referenčních příkladů.
Microsoft restartoval mobilní divizi poměrně pozdě a na nějaké radikální přepsání OS neměl čas - pokud nevěříte mně, podívejte se sem, kdy se MS rozhoupal vyvinout WP 7.
http://www.wired.com/gadgetlab/2010/11/making-windows-phone-7/all/1?pid=747&viewall=true
Asi jediné Vaše tvrzení, které je v komentáři pravdivé, zní takto. :)
"Ano, určitě nepředefinovávaly nuly a jedničky na dvojky a trojky, ale to je tak všechno."
Jistě, ani když OS zestárne, z nul a jedniček se v binárním světě nestanou dvojky a trojky, tento proces se myslím děje jen u dospívajících nebo stárnoucích žen v podprsence. :)
Pod Windows Phone samozřejmě běží jádro Windows Mobile, jen mírně updatované. Ale upřímně řečeno to je skoro irelevantní informace. Stejně tak by to mohlo být jádro Linuxu nebo QNX - pro nikoho by se tím nic nezměnilo, nikdo neinformovaný by to nepostřehl.
Jde o to, že abstrakční vrstva nad jádrem je tak neprůstřelná, že pro nikoho nemá žádný kloudný význam, jak je implementováno jádro - alespoň pokud zrovna nevyvíjíte jailbreak. Každému běžnému uživateli nebo dokonce vývojáři to může být úplně jedno a nijak ho to neovlivní.
Tomáš Kapler, specialista v oblasti internetového marketingu, konzultant v oblasti datových sítí a připojení k internetu
Přečteno 143 254×
Přečteno 84 317×
Přečteno 47 872×
Přečteno 37 978×
Přečteno 31 494×