Pro vývojáře je mnohem větší opruz WP nebo iOS. Pro Android se programuje bez problémů, všechny nástroje jsou zdarma, může se použít spoust různých jazyků (namátkou Java, C/C++, JavaScript, Python) a toolkitů, podle toho, co člověku vyhovuje.
Nejvíc hází klacky pod nohy vývojářům WP, proto je taky aplikací pro něj málo a ty, co jsou, zdaleka nedosahujou kvalit těch na iOS a Androidu.
Jak je to s programováním pro WP je sepsáno v tomto článku: http://trsek.blog.root.cz/2011/02/19/windows-phone-7-liga-zufalcov/ Něco se sice od té doby zlepšilo, ale hlavní výtky zůstávají.
No a co se týká třeba aplikací, tak pro WP neexistuje žádný schopná turistická offline navigace, jako jsou pro Android třeba Locus, OruxMaps nebo Osmand (mimochodem všechny zadarmo). Ale chybí i opravdu dobrá navigace pro auto jako Sygic nebo iGo. Není jediný přehrávač, který by uměr replaygain (vyrovnávání hlasitosti písniček). Viber na WP je polofunkční oproti verzi pro iOS nebo Android. To je jenom pár příkladů.
O nedostupnosti klíčových aplikací pro WP se zmiňuje třeba i tenhle článek: http://www.intomobile.com/2013/05/29/canalys-blackberry-and-windows-phone-lacking-top-apps/
Je zajímavý, že iOS, dříve etalon uzavřenosti, je dnes otevřenější platforma než WP a z dříve uzavřených mobilních windows za dob prvních HTC smartphonů je dnes uzavřený systém, který se spíš blíží featurephonům (mobily bez standardního OS, ale s prohlížečem e-mailem a možností instalovat aplikace).
V tom blog postu je toho ohledně vývoje minimum. Musíte se registrovat - samozřejmě, protože bez toho ve Windows Phone Store z bezpečnostních důvodů nic neumístíte. Aplikace pracují v sandboxu - ano, a to je dobře. API je omezené - dnes už dávno ne. Není podporované OpenGL - ano, používá se DirectX. Přílohy mailů nejsou spustitelné - aplikaci přijatou emailem naštěstí fakt nespustíte.
S WP používám v autě Navigon, který funguje velmi dobře. Mimo Evropu používám Nokia Drive+ (Here Drive+), které mají skvělé pokrytí prakticky celého světa. Z turistických navigací bych jmenoval třeba GPS ON Outdoor Navigation a SmartMaps Navigator. Tyhle aplikace umí offline mapy, stejně jako některé další.
Ten link o "nedostupnosti klíčových aplikací" si přečtěte ještě jednou. Pokud je nějaká aplikace oblíbená třeba na Androidu, a není k dispozici pro WP, tak to neznamená, že na WP není k dispozici jiná aplikace se stejným zaměřením.
Uzavřenost je v případě mobilních telefonů výhodou. Pokud si uživatel telefonu pár kliknutími na display kompromituje telefon, je to prostě špatně. Telefon je na rozdíl od počítače spotřební elektronika, která od uživatele nemá vyžadovat znalost administrace. Bezpečnost, spolehlivost a jednoduché používání jsou v tomto případě jednoznačně důležitější než otevřenost.
Třeba takový Android na otevřenost velmi dojíždí. Neoficiální zdroje jsou plné malwaru, na Google Play je ho také dost, a aktualizace telefonů se u mnoha výrobců prakticky nekonají.
http://www.techrepublic.com/blog/security/new-android-malware-should-be-wake-up-call-for-security-admins/9641
Tak hlavně že Nokia aktualizuje WP7 telefony jako divá. Navíc i prehistorický Android 2.x spustí přes 90% nových programů. Naopak rok starý telefony s WP7.8 nespustí drtivou většinu nových programů. Takže asi tolik k aktualizaci systému.
Jak, jakým způsobem a k čemu svůj mobil používám je čistě moje věc. Ty aplikace o kterých píšeš, jsou funkčně zcela nesrovnatelný s těma pro Android. Navigon je jedna z nejhorších navigací, to samé platí o Nokia Drive+. Pokrytí celkem OK, ale ještě to musí umět navigovat...
Že Android dojíždí na otevřenost je vzhledem k výsledkům WP úplně směšný tvrzení. Android díky otevřenosti vyhrává na plný čáře. Naopak WP díky uzavřenosti zcela prohrává, MS leje miliardy do marketingu a PR, přesto neni schopný urvat ani 10% trhu, Nokia, která vsadila plně na WP, krachuje.
Takže asi tolik....
Android sice není příliš dobrý systém, ale sám jsem si ho vybral právě kvůli možnostem, které mi nabízí. Já vždycky říkám, že Android je mizerný, ale mezi slepými (iOS, WP, ...) je jednoký králem.
Hlavně mě ale zajímá váš negativní názor na Navigon. Nějakou off-line navigaci si totiž chci koupit a pořád nevím, kterou. Zatím jsem testoval čtyři. Kromě online navigace od Google jsem měl nainstalovanou zkušební verzi Sygicu, zkušební verzi BE-ON-ROAD a teď zkouším Navigon. Každá má nějaké výhody a každá má nějaké vlastnosti k na*rání. Při samotné navigaci už mě vypekly také všechny. Nicméně zatím mám pocit, že Navigon je z těchto uváděných asi nejlepší.
Mě Navigon zklamal téměř nulovejma možnostma nastavení trasy. Pokud potřebuješ navigaci, která Tě zavede od někud někam nějakou cestou a nechceš do toho rejpat, pak postačí. Ale na to postačí i navigace zdarma jako Be-On-Road, Mapfactor Navigator nebo OsmAnd. Například Mapfactor má výborný možnosti nastavení plánování trasy. Průjezdní body, preference silnic atd.
Sygic se mi líbí plynulou 3D grafikou, slušnejma možnostma nastavení a dobrym hlášenim manévrů. Ovládání je příjemný a všechno funguje tak, jak bych si představoval. Pro jednoduchou trasu je vše jednoduchý a zároveň si můžu nastavit i plno pokročilých možností. Co se Ti na něm nelíbilo?
Proč bych měl rejpat do navigace? Například TomTom Navigator měl v prvních verzích možnost nastavit stovky položek. Ve třetí verzi to odřízli. Proč? Protože je to nastavení nepřehledné, nikdo ho nepoužívá, a když se do tho někdo pustí, tak si SW znefunkční. Mapfactor a podobné hračky zdarma s mapami OSM asi nemyslíte vážně, že?
Podle Mapfactoru s OSM mapama jezdím na dovolenou už několik let. Neznám spolehlivější navigaci.
Ale rád si trasu dopředu naplánuju, zadám průjezdní body a naopak místa, kterým se chci vyhnout. Pak si to uložím a až vyrazím, jenom otevřu už předpřipravenou trasu. Zároveň se ale po cestě třeba objeví zácpa nebo jinej problém a chci určitý místo objet. Hračky jako navigace od Nokie nebo Nevigon tohle prostě nezvládají. Mapfactor, Automapa, iGo nebo Sygic bez problémů...
Jo, hlavně ty OSM mapy jsou fakt lahůdka :)
Navigon vám samozřejmě umožňuje si naplánovat trasu předem, včetně průjezdních bodů (BTW proč je vůbec zadávat, pokud nejedete trasu nějakou typu Praha-Dresden-Milano?), a umí objet daný úsek. Navíc má kvalitní mapy (ne tu free příšernost od OSM), a díky dopravním informacím se o zácpě nebo uzavírce nejspíš dozvíte dřív než na podobnou věc narazíte. K tomu máte při plánování na výběr ze tří tras, což se občas hodí.
I Here (Nokia) Drive umí nastavit základní parametry trasy - zakázat zpoplatněné nebo nezpevněné silnice, plánovat kratší/rychlejší trasu apod. Objížďky jsem nezkoušel, zatím jsem je nepotřeboval.
Navíc oba tyhle produkty umí dát připnout konkrétní adresu přímo na start screen, Nokia u toho ještě navíc zobrazí stav dopravy.
Takže shrnuto uzavřeno, navigace na Windows Phone není žádný problém. Produktů existuje víc, a sice by potěšil TomTom, ale dá se v pohodě žít i bez něj. Myslím že jsem s Windows Phone nařídil dost na to, abych to byl schopen posoudit.
Nokia zaktualizovala WP7 telefony na WP7.8, a ty s WP7.8 dál aktualizuje. Většina aplikací je k dispozici pro WP7.8 i WP8.
Navigon mi přijde velmi slušný. Při sestavení trasy dává na výběr ze tří variant, umí dopravní informace (bohužel ještě pořád ne v ČR), a odřídil jsem toho s ním už spoustu - bez nejmenšího problému. Tradičně jsem používal TomTom, který je sice o trochu lepší, ale bohužel se ho autoři rozhodli nevydat pro Windows Phone. Nicméně bych si ho stejně asi nekoupil, protože mě TomTom před lety příšerně naštval, a slíbil jsem si, že jim už nedám ani korunu.
Nokia Drive má jen velmi základní interface, což je občas trochu na škodu. Nicméně ocením kvalitní mapové podklady, vynikající pokrytí a nulovou cenu. Mimo Evropu jde o ideální řešení. Pro většinu jiných použitelných offline navigací totiž neseženete mapy arabského světa, Jižní Ameriky, jihovýchodní Asie atd. A když už náhodou jsou k dispozici, tak rozhodně nejsou zdarma.
Android vyhrává na plné čáře hlavně díky nulové ceně pro výrobce a nulové kontrole kvality. Jakýkoliv čínský výrobce si může zbastlit plošňák, vylisovat kasli, a nasadit nějakou prehistorickou verzi Androidu. Nejlépe ji ještě "vylepší" nějakou geniální nadstavbou shellu, kterou nejspíš nechá napsat studenta pomocné školy. Výsledný telefon se sice seká při práci, mrzne, občas se rebootuje, UI je nepoužitelné, a výrobce ho nijak neaktualizuje ani neposkytuje žádnou podporu - ale to levné, a výrobce vydělá. Zákazník má pak zkušenost, která se dá krátce popsat jako odstrašující.
Nokia na to jde jinak. V současné době uvádí levné modely jako Lumia 520 a 620. Za nízkou cenu získá zákazník velmi slušný a odladěný telefon. Žádný polofunkční sekající se a mrznoucí bastl, který si uživatel po pár kliknutích zanese malwarem.
Tržní podíl WP se trvale zvyšuje, takže bych se o Nokii nebál - rozhodně nekrachuje. Samozřejmě pokud to Nokia v budoucnu nedá, bude MS muset hledat jiného partnera, případně si telefony vyrábět sám (tak jako Apple), o čemž se nakonec spekuluje delší dobu.
Důraz je kladen na to "až". Třebas nejmenované značkové baterie v testu ukázaly 12x delší životnost než jisté noname. Jednalo se o podivné noname baterie neznámého původu. O jejich kvalitě vypovídala i cena 15Kč za 20 kusů. Do reklamy se tak může dát objektivní zjištění "naše baterie vydrží AŽ 12x déle". Že proti opravdové konkurenci ve skutečnosti uhrají sotva plichtu se tam psát nebude. A že mají 12x vyšší výdrž a 40x vyšší cenu se tam nebude psát už vůbec.
Takže ano, věřím vám, že existuje nějaká pečlivě vybraná množina SW, která dokáže vyžírat z baterky 10x více šťávy, než jiná, rovněž pečlivě vybraná množina SW.
Máš nějaký zdroj pro tenhle naprostý nesmysl? Nebo sis si to prostě jenom vycucal z prstu? Můžeš mi povědět o alespoň jedné Javové aplikaci, která výrazně vybíjí baterku?
Kromě toho Android samozřejmě podporuje i nativní kód pro věci kritický na výkon, u ostatních je fuk, že to běží v Javě nebo HTML/JS.
Z konkurence tu máš akorát uzavřený iOS, kde se hodně používá pro aplikace HTML. Potom WP s nepovedenou kopií Javy zvanou .NET nebo SilverLightem (nepovedenou kopií Flashe). Pak tu je Tizen a FirefoxOS opět s HTML aplikacema.
Jediný mobilní OS, který preferuje nativní kód, je Ubuntu Touch.
Java na desktopu dosahuje rychlosti nativních aplikací, takže to jde (vyzkoušejte Javu 7). Koneckonců to vysvětloval i Joshua Bloch, že totiž za běhu Java může leadcos vyhodnotit a být i rychlejší než nativní kód. V Androidu by stačilo ještě víc zoptimalizovat Dalvik.
Problém vidím spíš s interpretovaným dynamickým kódem jako je JavaScript - tam to pořádně drhne a žere baterku.
Prosim te prestan placat nesmysly. Androidi telefon vydrzi pokud si s nim clovek nehraje a ma vypnutej display a data a ma silnej signal tak 4 dny. Po celou tu dobu samozrejme bezi na pozadi java aplikaci nekolik.
Ale zkus pustit treba Firefox (coz je i na Androidu nativni aplikace) a vybijes mobil behem par minut prave displayem a radiovou casti (HSDPA nebo Wifi).
Zadny konkretni srovnani si nedal -> je to jen placani, ktery navic nema s relitou nic spolecnyho...
Java kdysi skutecne byla pomala a vytezovala CPU, ale to uz s prichodem JIT kompilace a nativnich GUI toolkitu peknych par let neplati. Dnes se Java vyrovna nativnimu kodu, coz je krasne videt napr. ve srovnani iPhone vs. Android, kde "javovej" Android casto vydrzi na baterii dyl nez nativni iPhone...
Mně je naprosto jedno, kolik vydrží, když se vypne, co jen jde a zařízení se prakticky nepoužívá. To si rovnou mohou ze skříně na volání a textové zprávy ze skříně vytáhnout legendární Nokii 5110. Zajímá mě, jak dlouho chytrý mobil vydrží, když používám funkce, pro které jsem si ho kupoval.
Dle mých zkušenosti je to maximálně 48 hodin bez rozšířené baterky. Nejen Android, ale také iPhone (iOS) či Windows Phone. Samozřejmě, že v civilizaci to není problém. Ale třeba na chalupě, kde nemáme elektřinu, potřebuji energetickou banku, abych tam týden vydržel.
Já mam třeba malinkou Motorolu Defy s 1500 mAh baterkou. Vydrží ve standby 3 dni, takže identický telefon s 3000 mAh baterkou by musel dát 6 dní.
3G je proboha hardwerový chip, který dost žere baterku. To s Javou nebo nativním kódem nemá nic společnýho, je to HW. Stejně jako WiFi čip v režimu AP umí spapat spousty energie. Extrémní spotřebu umí mít i procesor, pokud se naplno vytíží. Dohromady je při plný zátěži možný telefon vybít za několik hodin, ale rozhodně ne v řádu minut. Zároveň pokud vypnu 3G, WiFi, GPS, nebudu si dlouho svítit s displejem a používat CPU náročný programy, vydrží i několik dní.
Hlavní žrouti energie v telefonu jsou totiž HW chipy a displej. Obvykle se postarají o 80% spotřeby. Jediný, co lze ovlivnit z hlediska programátor, je zatížení CPU a tedy i jeho spotřeba.
Výdrží v pohotovostním režimu se šlo ohánět v dobách, kdy mobilní telefon byl skutečně jenom telefonem. Pokud se chytrý mobil používá aktivně, vydrží nanejvýš 48 hodin.
Ale nemyslím si, že je to specifický problém Androidu (či Javy), protože tytéž zkušenosti mám z Windows Phone a iOS. Dříve ze Symbianu i Windows Mobile. Problém s výdrží baterie nemá snad jen James Bond, který už v 90. letech dostal mobil s atomovým pohonem :-))))))
„Zároveň pokud vypnu 3G, WiFi, GPS, nebudu si dlouho svítit s displejem a použíat CPU náročný programy, vydrží i několik dní.“
A pokud mobil vůbec nezapnete, vydrží baterka možná i pár let :-)
Moje mereni ukazuje ze je tak 50x pomalejsi.
1 + 1 = ?
time bc jedna_plus_jedna
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
2
real 0m0.006s
user 0m0.000s
sys 0m0.004s
time java jedna_plus_jedna.java
2
real 0m0.308s
user 0m0.000s
sys 0m0.296s
Což je ale další pečlivě vybraný benchmark... Neznám obsah zdrojáku (zřejmě jedna_plus_jedna/java.java :P), dost možná se 1+1 spočítá dokonce už při kompilaci, takže to bude jen hello world s konverzí čísla na String.
Každopádně samotný běh programu zde tvoří jen zanedbatelnou dobu v porovnání se startem JVM. Tento benchmark měří vlastně hlavně doby startu bc a Javy. Souhlas, Javě toto trvá déle.
Vždy záleží, co člověk potřebuje. Pokud jde o nástroje typu ls, tak tam je Java skutečně nevhodná. (Řeší to trochu nástroje jako nailgun.) Druhý extrém je např. server, který běží dlouho a kde je mnohem důležitější rychlost běhu než doba startu.
A jen tak mimochodem, Dalvik je něco úplně jiného než Oracle Java. Má to dokonce i jiný bytecode s nejen kosmetickými rozdíly. Ale ono asi nemá moc smysl porovnávat to s nástrojem bc. Rychlost nativního řešení s Dalvikem nelze porovnat srovnáním bc a nějaké JVM.
To vůbec není jedno. Podstatné by to bylo u aplikace typu ls, cat, tail, hrad apod. Ta se spustí a hned zase ukončí. A HotSpot není primárně cílen na tyto aplikace. Možná by však při použití jiné JVM (hádám: JamVM, Avian).
A o Androidu to nevypovídá prakticky nic (a Android nevypovídá prakticky nic o HotSpotu). Když budu chtít vědět výkon MS .NET, taky nepoužiju pro benchmark Mono. Benchmarkovat (zřejmě) HotSpot, který navíc má nezanedbatelně jiný bytecode než Dalvik, dává smysl ještě méně.
To sa chce dokazat, ze Java je pomala, aby praveki antibohovia boli nakrmeni?
Odvodzovat rychlost Androidu od benchmarku, ktory je spusteny na diametralne inej architekture (lebo JVM a Dalvik su na mile odlisne), navyse na priklade typu 1+1, navyse v pripade, ked `time` zmeria cas bootovania VM, bola parodia na benchmarky uz pred 15 rokmi.
Ano, je to jedno jak to nazveme. Prostě škoda Superb je rychlejší než Airbus A380. Protože má lepší zrychlení z 0 na 100.
Také nechápu, proč si někdo myslí, že se někam autem dostane rychleji než pěšky. Dělal jsem objektivní měření a zjistil jsem, že se z obýváku do kuchyně dostanu za nesrovnatelně kratší čas, než soused vůbec seběhne před dům k autu. Takže nekupujte auta a choďte všude pěšky, je to rychlejší.
No dobře :-D
Dnešní CPU to vaše 1+1 spočítá v jednom taktu a to ještě paralelně s dalšími instrukcemi. To znamená v časech rádu nanosekund.
To znamená že bc je 6 milionkrát pomalejší a java 300 milionkrát pomalejší, než strojový kód. ;-)
Jinými slovy, nezměřil jste nic jiného, než start programu bc a start kompletního jvm (které je jistě určeno na náročnější věci než jednoduchou aritmetiku s konstantami, které zpracoval už dávno před tím spuštěním kompilátor).
Při zpracování JS pracuje více CPU, GPU. To je jedna věc.
Druhá věc, ale je že se zpravidla stahuje o mnoho více dat. Ten přenos dat je docela energeticky náročný.
Nejlépe to poznáte v ne-tradiční (jak pro koho) situaci. Například když připojíte počítač do Internetu, pomocí mobilu, skrze Bluetooth. Tady bude odběr energie, kvůli transferu dat, hned dvojí (3G/GSM a Bluetooth). Telefon může umřít i po pár minutách.
Ten kdo zkoušel dělat hovor skrze 3G potvrdí zpravidla také jen pár minut provozu zařízení, pro hovor.
P.S.
"Hloupej" telefon dnes vydrží i destihodinový hovor, nebo měsíc v pohotovosti. Nechápu co na těch smart udělátkách vidíte, baterie jim často nevydrží ani na 24 hodin provozu.
Napadají mne tak jízdní řády (o které nestojím, nemění se příliš) a pak snad ještě Banking (využitý alespoň párkrát v roce). Měli byste radši než na těch obskurních bankovních aplikacích trvat na tom aby nové banky zaváděly klasický GSM-Banking. Odpadnou vám i problémy jak si zabezpečit Internet, obzvláště v zahraničí.
Na těch smart udělátkách osobně používám email, kalendář, přehrávání hudby a občas videa, GPS navigaci (zvlášť v zahraničí k nezaplacení), automatický překlad (opět na cesty), geocaching, konverze měn, předpověď počasí, kalkulačku, stopky, alarm, Skype, Facebook, aplikaci na hesla, a samozřejmě browser. Plus občas něco vyfotím (třeba schéma z flipchartu), použiju telefon jako svítilnu, napíšu pár poznámek (na touchscreenu dost utrpení), a v nouzi se připojím i na Remote Desktop. Na hry na telefonu mě moc neužije, to radši na desktopu - kdyby byl čas. Jo a výjimečně s tím udělátkem i napíšu SMS nebo udělám klasický hovor :D
Za 4 hodiny sdílení internetu do PC přes BlueTooth mi to na mém mobilu s 1500 mAh baterkou sežere 50% baterky. O minutách se rozhodně nebavíme...
JS je samozřejmě pomalý skriptovací jazyk, ale zatím pro internetový stránky nikdo nic lepšího neobjevil. A taky hlavně kvůli mobilním zařízením se Apple, Microsoft, Mozilla a Google předhánějí v tom, kdo má rychlejší JS engine. Za posledních pár let všichni svůj výkon několikrát znásobili. Hlavně MS, jehož IE byl až 10x pomalejší, se dotáhl na Google a Mozillu.
Co se týká JS, uváděl jsem příklad pro mobilní zařízení. Zcela obecně, nemám totiž vůbec přehled jak moc obsahuje web pro mobilní zařízení JS, jak často se obnovuje stránka, kolik reklamy se načítá,...
Co se týká prohlížení webu v počítači. Tady množství stažených dat (tedy i omezení JS) může až neuvěřitelně prodloužit život použitého mobilního zařízení skrze které jsou data přenášena. To mám opakovaně vyzkoušeno - věřte že je rozdíl stáhnout 20 MB dat namísto 50 MB, extrémně a v delším časovém horizontu to může odpovídat i 150 MB (to vše bez úpravy stránek a rekomprese obrázků).
Povšimněte si, že jsem psal "telefon může umřít". Klasický telefon s výdrží v pohotovostním režimu minimálně 7 dní, přes EDGE (menší náročnost než 3G, ale vytížení je mezi 50-100%) a Bluetooth 2.1+EDR vydrží pracovat s počítačem zhruba 5 hodin.
Pokud sáhnu po zařízení s rychlejším přenosem, tak mohu baterii vyčerpat i mnohem dříve. Pravděpodobně i díky většímu množství stažených dat - technologie to umožní.
Nejlepší vobou jsou proto zatím jednoznačně "3G" modemy přímo připojené do počítačů (předpokládám přenosných). Párkrát se mi už stalo, že telefon jsem si netroufl použít (čekal jsem hovor). Na telefonu bych se zase na web i mail mohl zvysoka, tablet nemám (ale co jsem měl možnost zkusit tak mne neuspokojoval, mimochodem výdrž baterie ještě menší než telefon).
Celkem by mne zajímalo, co si například T-Mobile slibuje od toho, když slibuje že z jím podporovaných LTE telefonů bude možné udělat hovor skrze 3G. To by podle mne mělo baterii vycucnout doslova do desítek minut. Navíc, by musel stavět LTE v dosahu 3G, tedy opět ve velkých městech. Jestli k něčemu je LTE tak pro data, ideálně mimo velká města.