Komentáře k článku
Postřehy z Google Developer Day 2010

V úterý 16. listopadu se v Praze konala konference pro vývojáře používající technlogie Google – Google Developer Day (GDD). Akce zajímavá a inspirativní již jen pro to, jakou má dnes pozici Google mezi ostatními firmami jejichž podnikání se točí okolo internetu. O své postřehy z této akce se s vámi podělí Jirka Kosek.
K JSONu
Kdyby všichni přemýšleli stylem „takhle to fungovalo vždycky, takže proč děláte změnu“, tak by lidstvo nikam nepokročilo. Chcete používat Prediction API? OK, můžete, komunikujeme RESTFul a JSON. Nechcete? Nemusíte…
JSON
Nerozumiem uplne autorovemu zapaleniu pre XML, komunikacia cez XML je ciste plytvanie. Snad nebudeme pouziva do konca sveta XML, pretoze si napisal a odladil nejake nastroje… a este podotknem, ze aj JSON sa da samozrejme zobrazit prehladne, rovnako ako XML sa da dat cele do jedneho riadku, takze ten argument, ze je to neprehladne neberiem.
Re: JSON
Přehlednost asi není úplně to, oč tu běží. Dokonce ani to, jestli se přenáší o pár bajtů víc. U služby, která bude pracovat pravděpodobně s většími objemy dat je celkem jedno, jestli ta data obalíte několika tagy, nebo je jen ozávorkujete. Autor ale v článku zmiňuje jiné důvody, které stojí za zamyšlení – např. integrace s existujícími systémy, knihovnami a nástroji.
Re: JSON
Právě s velkými objemy dat je úspornější notace výhodou. Je celkem rozdíl, jestli se například 100 MiB hrubých dat posílá jako 200 MiB zakódováno v JSON nebo jako 500 MiB zakódováno pomocí XML (čísla jsou vymyšlená, jde jen o princip).
Kdyby služba poskytovala rozhraní SOAP, tak použiju SOAP. Když poskytuje RESTful+JSON, tak použiju RESTful+JSON.
Jak jsem psal výše – nechci, nemusím…
Re: JSON
Pokud se chcete bavit o efektivitě, není dobrý nápad si čísla vymýšlet.
V tom úplně teoreticky nejhorším případě XML bude maximálně 2x větší než JSON. Pokud v tom chcete přenášet větší objemy dat, je to jedno, stejně se budou pro přenos komprimovat a pokud na začátku budou stejná data bude po kompresi výsledek zhruba stejně velký pro JSON i XML.
Pokud pracujete v prostředí, kde si z důvodu výkonu nemůžete dovolit komprimaci, čistý JSON stejně nebude oproti XML dostatečně „rychlý“. Budete muset použít nějaké „binární“ kódování dat. Výhodou XML je, že pro něj takové věci existují a jsou standardizované — např. http://en.wikipedia.org/wiki/Fast_Infoset nebo http://en.wikipedia.org/wiki/EXI
Pro JSON už něco podobného také vzniká — BSON. Pak se ještě pro JSON časem udělá něco jako XML schémata, XSLT, jmenné prostory a XQuery. Přitom by do Javascriptu stačilo přidat lepší API pro práci s XML než je DOM, nebo aby všechny prohlížeče implementovaly E4X. Počítám, že by pak „webařům“ XML už ani nevadilo.
Re: JSON
V tom úplně teoreticky nejhorším případě XML bude maximálně 2x větší než JSON.
S tím si dovolím nesouhlasit. Rozdíl může být výrazně vyšší.
JSON 33B:
[{"data":"test"},{"data":"test"}]
XML 104B:
<?xml version="1.0"?><array><object><data>test</data></object><object><data>test</data></object></array>
Čím menší je „jednotka dat“, tím je výraznější úspora JSONu proti XML.
Re: JSON
A abych dal trochu „větší“ čísla. Obdobný příklad jako výše, data jsou vždy číslo 0,1,2,…,255,0,1 – celkem 1MiB hrubých dat.
Hrubá data: 1 048 576 B
JSON: 13 265 495 B
XML: 34 237 050 B – tj. 2,58násobek JSONu
Po ZIPu
Hrubá data: 4 503 B
JSON: 155 880 B
XML: 388 670 B – tj. 2,49násobek JSONu
Re: JSON
<a><o data=’test’/><o data=’test’/>
39 znakov. Zalezi len na tom ako si to zapisete.
Re: JSON
redakcny system mi odstrihol < / a > (bez medzier) na konci
Re: JSON
Je ovšem otázka jestli má to XML vypadat právě takhle, pokud zrovna nepřenášíte obecné serializované objekty (což asi typická API nedělají) tak se v XML použije lépe čitelný a kontrolovatelný sémantický zápis. Na druhé straně totiž zrovna nemusí být javascript… ne každá novinka ja automaticky „pokrok“.
Re: JSON
Taky jsem to nepochopil. Co je na JSONu tak špatného? Je to taky standardní formát, podobně jako XML. A je úspornější a v javascriptu se nemusí parsovat.
Re: JSON
Na JSONu není nic špatného. Špatné je, že Google v některých API používá jen JSON, místo aby nabízel na výběr mezi JSON a XML.
Re: JSON
To mi nepřipadá jako zásadní problém. JSON parser existuje skoro pro každý jazyk a v případě potřeby se to dá na XML převést. Ale je vždycky dobré mít na výběr. Asi se jim to prostě nechce dělat a myslí si, že to takhle stačí. Přitom by si v Googlu IMHO mohli vyrobit obecné API, které by jako vstup přijímalo JSON i XML (bez toho, aby ty 2 verze vytvářeli každou zvlášť).
HTML5 mi připomnělo Microsoft Day 199?
Na různé vývojářské konference chodím už nějaký ten pátek a Googlí představení Chrome s HTML5 mi silně připomnělo jakýsi zapomenutý Microsoft Day (či jak se to tehdy jmenovalo), kde představili bombu!
Dynamic HTML v Internet Exploreru 4! Všem nám spadla čelist, když jsme tehdy viděli ukázky. Například šlo javascriptem hýbat s absolutně pozicovanými elementy! Nebo měnit jejich barvu a velikost. Neuvěřitelné!
Je mi špatně z toho, jak se historie opakuje a jak potřebujeme super moderní žravé počítače, abychom získali stejné výsledky, jaké už jsme měli před 20 lety mimo prohlížeč. Přitom vývojářské nástroje pro RIA v HTML5 velká nula a pokud ji uděláme rovnou v GWT, tak už můžeme použít rovnou Flex. Pro uživatele je to stejně jedno.
Re: HTML5 mi připomnělo Microsoft Day 199?
To bylo tenkrat v Edenu, ze? Taky si vzpominam, jak jsem si musel sbirat celist ze zeme :) Ach ta historie, my co ci pamatujeme jak panacek Java poprve zamaval v Netscape 2.0… :)
Re: HTML5 mi připomnělo Microsoft Day 199?
to, ze se historie opakuje je bezne v lidske spolecnosti. Dobre je to videt na architekture. Slohy jako, empir, rokoko, seceese a podobne take jen prihazovaly jiny dekor na stavajici stavby. Lide jsou povrchni a chteli to.
Az kdyz vyvoj dosel tak daleko, ze existovaly technicke moznosti – sklo, ocel beton, tak prisel novy styl – konstruktivismus s novou kvalitou.
Tedy zadny duvod ke skepsi, vse bezi ve znamych kolejich.
Re: HTML5 mi připomnělo Microsoft Day 199?
Dobrý den,
představa, že svět se zefektivňuje a zlepšuje je podle mého názoru naivní. V podstatě na tom nikdo nemá moc velký zájem.
Re: HTML5 mi připomnělo Microsoft Day 199?
no jo kluku, ty uz ale nemas davno lamat stranky…to maj delat maly kluci v html5, ty jim mas sefovat, moudre pokyvovat hlavou nad jejich nadsenim pro technolgie a po ranni porade jet na golf
Windows Azure Storage
Co se týče ukládání velkých objemů dat, tak Jirka zapomněl na Windows Azure Storage. Zde můžete ukládat nestrukturovaná data (podpora CDN) nebo strukturovaná data v noSQL databázi nebo vytvářet frontu zpráv. Kromě toho je k dispozici Azure SQL.
Re: Windows Azure Storage
Neboj Štěpáne, nebyla to cílené zamlčování, Amazon S3 jsem zmínil jen proto, že Google od něj převzal API. Windows Azure jsem do detailu nestudoval, ale předpokládám, že máte jiné (a lepší? ;-) API.
Native client
Native client má určitě využití i jinde než na hry, např. na různá vědecké vizualizační aplikace a obecně všude tam, kde je nějaká složitá Cčková zobrazovací/počítací knihovna. Není pak nutné zbytečně ji portovat do pomalého javascriptu, ale použije se native client. Podobnou věc má myslím i Flash platforma. Množství takových C/C++ knihoven bude určitě nemalé.
Re: Native client
na to je java s appletmi, na to nepotrebujete mat na severi skompilovane binarky v nativnom kode pre vsetkych stoosemdesiat roznych platforiem.
Re: Native client
Pokud máte nějakou legacy složitou Cčkovou knihovnu na nějaké operace, které souvisí s vizualizací, tak je vám celá java na prd a její použití všechno jen zkomplikuje. Prostě si tu knihovnu přes native client použijete v browseru a máte hotovo.
Na nové věci to má smysl skutečně asi jen u těch her na všechno ostatní javascript, s javou jděte na klientské straně webu do háje, to je jasný trend dneška.
Re: Native client
No s javou do háje. To bych tak netvrdil.
Android (neboli i Google TV) je vlastně Java. GWT (třeba rozhraní AdWords) je vlastně Java. Jen to jako Java na první pohled nevypadá, protože Sun zmolochovatěl a umřel. Ale Java jako jazyk žije.
Diky
Diky za shrnuti, jak koukam, absolvoval jsem vicemene stejne prednasky s naprosto stejnymi pocity :-). Co se tyka JSONu – nepouziva se proto, ze je jednoduse pristupny (a hlavne jednoduse a rychle „parsovatelny“) v javascriptu? Jasne, ze do xml se investovaly nemale penize, ale prece je normalni, ze se veci stavaji obsolete (tim neminim, ze by se melo xml hned a okamzite zahodit a pouzivat pouze JSON, ale proste mi tato notace pro nektere veci prijde jednodussi a logictejsi).
Re: Diky
Asi bych mel nejprve cist diskuze, koukam, ze v tom nejsem sam :-)
XML v praxi
vim ze je autor specialista na XML a proto zna vsechny mozne nastroje a udelatka, jak XML zvladat. Bohuzel a v tom ma autor pravdu, nedokaze se klonovat a proto se nachazeji v praxi jini specialiste nez autor a tito lide nepohnuli XML ani o milimetr dal.
Znam dobre situaci v nakladatelskem sektoru a vim, jek se tam s tim lide trapi. V kazdem takovem vetsim nakladatelstvi maji nejakou vlastni XML normu, podle ktere to bude ‚v budoucnu‘ vsechno jednotne fungovat, ale skutecnost je takova, ze vsichni maji na stole MS-Word a to je ten standard.
Re: XML v praxi
MS Word už ale dnes ukládá dokumenty v XML :-)
rozšíření prohlížeče napsaná v js+html+css
… jsou výborný nápad a tímto směrem se ubírají kromě chrome i opera 11 beta, safari 5 a firefoxí jetpack.
Navíc možná svitne i standardizaci mezi prohlížeči:
http://news.cnet.com/8301-30685_3-20019579-264.html
Re: Postřehy z Google Developer Day 2010
Huh, on měl David Grudl vstup během keynote? Jsem nějak nezaznamenal :)
Jinak pěkné shrnutí a s celkovým dojmem musím souhlasit – informační entropie byla poněkud nižší :-)
Díky Google
Ač jsem byl kdysi velkým obdivovatelem XML, napadlo mě díky čtení tohoto článku, že minimálně za mě se sluší poděkovat i Google za to, že podporuje rozumné formáty jako JSON.
I když souhlasím, že je mnohem lepší, poskytnout pro API více možností a kromě JSONu přidat i XML, vstávají mi vlasy hrůzou když zaslechnu, že v manifestu rozšíření by bylo lepší použít XML.
XML je jazyk pro stroj, nikdy pro člověka (ač jsem tomu kdysi věřil). Jako programátor jsem nadšený, že se objevilo něco tak jednoduchého jako je JSON a že se konečně nemusím orientovat v takovém balastu (i když třeba yaml je pro konfiguráky ještě hezčí, i když ne tak flexibilní).
Jednoduše dle mě je ideální používat vhodné formáty pro vhodné příležitosti a XML se bohužel snažilo dostat úplně všude. Pro stroje ano, pro lidi ne…