Hlavní navigace

Akta X 0604

Petr Cimprich

W3C se snaží dodatečně standardizovat dlouho používaná javascriptová rozhraní prohlížečů. Už víme, jak by měla vypadat sdílená databáze vlastností mobilních zařízení. Jazyk XML Pipeline bude popisovat postup zpracování XML v XML.

Standardizace API prohlížeče

Poměrně nenápadně na půdě W3C vznikla nová pracovní skupina Web API, jejímž úkolem je usnadnit vývoj klientské strany webových aplikací. V praxi to znamená především konečně standardizovat javascriptová rozhraní prohlížečů. Mnohá důležitá rozhraní, o něž se dlouhá léta opírá prakticky celý web, totiž nemají dostatečně autoritativní specifikace. Prvním cílem nové pracovní skupiny by tedy nemělo být vymýšlení ničeho nového, ale upřesnění a standardizace stávajících široce používaných rozhraní.

V průběhu dubna pracovní skupina Web API zveřejnila dvě první pracovní verze dokumentů, které potvrzují, že se opravdu bude ubírat tímto směrem. Dokument XMLHttpRequest Object definuje vlastnosti a metody objektu XMLHttpRequest, který je základem v poslední době oblíbené techniky zvané AJAX. Objekt XMLHttpRequest je už dlouho implementován všemi hlavními prohlížeči. Jeho původnípopis od Applu převzala iniciativa WHATWG do své specifikace Web Applications 1.0. Tato verze se stala základem pro novou specifikaci W3C; z poslední verze dokumentu Web Applications 1.0 už byla sekce o objektu XMLHttpRequest vypuštěna. Žádné vlastnosti ani prototypy metod se při cestování mezi dokumenty nezměnily, dochází jen upřesnění a doplnění nedostatečně specifikovaných oblastí.

Jen o několik dnů později se objevil další dokument, Window Object 1.0. Jeho cílem je formálně standardizovat jiný letitý de facto standard, bez něhož se obejde málokterý webový vývojář, a to objekt Window. Toto rozhraní je výchozím bodem objektové hiearchie popisující stav prohlížeče, umožňující přístup k aktuálním dokumentům a načtení nových. Kromě toho je objekt Window také jakýmsi jmenným prostorem či kontejnerem pro užitečné globální funkce v kontextu okna prohlížeče. První verze této specifikace zatím nepokrývá všechny vlastnosti, metody a podřízené objekty implementované jedním nebo více prohlížeči, ale přesto je nepochybně důležitým krokem správným směrem. Další potřebné vlastnosti se mohou objevit v příštích verzích nebo v samostatné specifikaci.

K dalším oblastem, jimž by se měla pracovní skupina Web API věnovat, patří standardizace událostí pro webové klienty (na základě událostí DOM Level 3), rozhraní pro časování událostí (setTimeout apod.), jiná komunikace než HTTP (např. protokoly pro instant messaging), trvalé ukládání dat v prohlížeči, navigace pomocí XPath, drag and drop nebo upload souborů.

Činnost pracovní skupiny Web API má smysl. Nové umělé standardy často musí hledat své místo na slunci a složitě nacházet své uživatele; přitom o rozhraní, na která spoléhají tisíce webových vývojářů, se v lepším případě starají jen výrobci prohlížečů. Standardizační organizace nemohou pořád jen směle vytyčovat směry budoucího vývoje. Někdy je čas zpomalit, pokorně sledovat, kudy se vývoj sám ubírá, a kodifikovat technologie, jež se už osvědčily.

Sdílené úložiště pro popis zařízení

Pracovní skupina Device Description pokračuje v přípravě terénu pro mobilní web. O dosavadních aktivitách této pracovní skupiny jsem psal před dvěma měsíci. Tentokrát byly zveřejněny požadavky na úložiště popisu mobilních zařízení: Device Description Repository Requirements 1.0.

Základní funkční model má vypadat takto: Úložiště, označované půvabnou zkratkou DDR, má být spravováno, doplňováno a aktualizováno výrobci zařízení. Dodavatelé obsahu budou pokládat dotazy a získávat popis jednotlivých zařízení, díky čemuž budou schopni na tato zařízení posílat optimální verzi svého obsahu. Buď předem připravenou pro určitý rozsah zařízení, nebo generovanou dynamicky. Koncoví uživatelé, konzumující optimalizovaný obsah na monitorech a větších či menších displejích svých zařízení, budou spokojeni a budou si s důvěrou pořizovat další a krásnější hračky od výše zmíněných výrobců. Spokojeni budou všichni, tedy až na firmy, které dnes věnují úsilí budování svých soukromých komerčních verzí DDR.

Aby nám to takto krásně fungovalo, musí DDR poskytovat na platformě a programovacím jazyku nezávislé rozhraní pro správu záznamů. Dále musí nabídnout dotazovací rozhraní pro vyhledávání záznamů. Vyhodnocení dotazů musí být rychlé, aby generování obsahu na míru až při dotazu netrvalo věčnost. Implementací rozhraní k DRR pochopitelně může být celá řada, ale jako první volba se nepochybně nabízí webové služby typu XML přes HTTP.

XML Pipeline

Už nějakou dobu se mluví o standardním nástroji, který by současné statické technologie XML doplnil o možnost popisovat dynamický model zpracování. Pro tento zatím neexistující jazyk se už ujal název XML Pipeline. Konsorcium W3C zřídilo pracovní skupinu XML Processing Model. Prvním výsledkem jejího úsilí je dokument XML Processing Model Requirements and Use Cases, který obsahuje přesně to, co říká jeho název. Mezitím se Norman Walsh, známý mimo jiné jako hlavní autor DocBooku, pustil do práce na jazyku samotném. Aktuální pracovní verze budoucí specifikace je sice veřejně přístupná, ale zatím se z ní moc vyčíst nedá. Snad jen, že už se opravdu něco děje. K tomuto tématu se určitě vrátím někdy příště, až nabude konkrétnějších obrysů.

Našli jste v článku chybu?